自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 git am XXX.patch 文件内容解析

git am XXX.patch 文件内容解析。

2024-04-12 14:59:30 353

原创 .out .elf .bin

bin 文件是经过压缩的可执行文件,去掉ELF格式的东西。是直接的内存映像的表示。在系统没有加载操作系统的时候可以执行。即机器最终只认.bin。.out 格式是早期 Unix 系统使用的可执行文件格式,是一种简单的格式。不支持许多现代系统的特性,如动态链接库和符号表等。.elf 格式是扩展的可执行文件格式,它支持多种平台,并且比 .out 格式更加丰富,支持许多现代系统的特性。.out 和 .elf 是两种计算机可执行文件格式,都是用来保存编译过后的程序代码的。

2023-06-06 16:26:39 567

原创 C++ 中的成员函数指针

成员函数指针定义的方式 及获取的方式:& + 作用域 :: 成员函数名。

2023-02-18 15:25:52 300

原创 volatile 作用及场景

111

2023-02-08 15:26:23 151

原创 大数加法

数据范围:.length,t.length≤100000,字符串仅由'0'~‘9’构成。以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。要求:时间复杂度 O(n)

2023-02-08 09:32:24 111

原创 位域

注意:s1,s2的区别。

2023-02-08 09:02:32 61

原创 大小端存储、主机字节序和网络字节序

htons() htonl() 主机字节序-->网络字节序。注意:浮点类型,字符类型,字符串是没有字节序的说法的。:little-endian 低序字节存储在低地址上;1.联合体(共用体)的方式判断计算机是大端还是小端?:big-endian 低序字节存储在高地址上;计算机的数据读取,都是从低地址往高地址读取;

2023-02-06 18:52:42 88

原创 回调函数

【代码】说说回调函数。

2023-02-03 19:04:28 48

原创 项目管理系统

1)服务器负责管理所有员工表单(以数据库形式),其他客户端可通过网络连接服务器来查询员工表单。2)需要账号密码登陆,其中需要区分管理员账号还是普通用户账号。3)管理员账号可以查看、修改、添加、删除员工信息,同时具有查询历史记录功能,管理员要负责管理所有的普通用户。4)普通用户只能查询修改与本人有关的相关信息,其他员工信息不得查看修改。5)服务器能同时相应多台客户端的请求功能。并发。

2023-02-02 18:44:14 779

原创 栈 和 堆(申请内存)

4、存储内容的不同。栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进栈,然后函数的各个参数进栈,其中静态变量是不入栈的,静态变量存放在数据段。而堆一般是在头部用一个字节存放堆的大小,堆中的具体内容是人为安排;堆要依靠new,malloc等API申请,栈获得的空间较小,一般为几MB,而。3、申请效率的不同。栈由系统自动分配,速度较快,1、申请方式的不同。,堆可能有许多内存碎片。

2023-02-01 19:13:35 562

原创 const 常量指针和指针常量

区分常量指针和指针常量的关键就在于星号的位置,如果const在星号的左边,则为常量指针,如果const在星号的右边则为指针常量。我们以星号为分界线,

2023-01-31 16:47:53 92

原创 sizeof 和 strlen

(函数返回字符串里的字符数,不包括终止字符'\0'),编译器在编译时运算出结果;sizeof 的参数可以是。计算字符串实际长度。

2023-01-31 10:44:17 59

原创 break 和 continue

跳出当前循环,也就是整个循环都不会执行了。是提前结束本次循环,直接继续执行下次循环。

2023-01-30 20:21:53 51

原创 su 和 sudo

以超级用户权限执行单个命令行;:Shift User (切换用户)根据密码切换对应身份;

2023-01-30 19:09:07 44

原创 驱动 练习

让主程序正常进行3个灯的流水,按下按键1让蜂鸣器响,按键2让马达震动。思路:安装两个程序,主程序完成流水控制;中断驱动完成按键触发。

2023-01-07 21:33:11 113

原创 驱动 设备树节点属性值获取

【代码】驱动 设备树节点属性值获取。

2023-01-04 19:54:33 640

原创 驱动 IO多路复用 监测硬件(鼠标)和数据输入

想要在一个应用程序里同时监测多个硬件的数据,就需要使用IO多路复用模型实现,IO多路复用可以通过select()/poll()/epoll()机制来实现。如果监测的多个硬件的数据都没有准备好,此时进程进入休眠,当有一个或者多个硬件数据准备好了,进程被唤醒,当进程被唤醒后从内核读取准备好的描述符的集合,然后再集合中取出准备好的文件描述符,将硬件的数据读走。

2023-01-03 17:16:11 144 1

原创 驱动 字符设备分步注册 3个设备节点对应3个LED灯

【代码】驱动 字符设备分步注册 3个设备节点对应3个LED灯。

2023-01-02 14:10:19 105

原创 驱动 字符设备分步注册

按照字符设备驱动分步注册的方式实现控制3个灯。

2023-01-02 11:53:14 110 1

原创 驱动 字符设备 ioctl()控制LED灯

注意:驱动代码中 copy_from_user(&whitch,(void *)arg,sizeof(int));编写ioctl控制3盏灯的逻辑(用户程序在命令行决定是开灯还是关灯,也通过命令行决定操作哪一个灯)

2023-01-02 10:37:40 273

原创 系统移植 添加LED灯驱动 实现流程

将设备树的源文件(stm32mp157a-fsmp1a.dts),和设备树的头文件(stm32mp15xx-fsmp1x.dtsi),复制到内核源码/arch/arm/boot/dts。1.将fsmp157a_led_test.c和fsmp157a_led.h这两个文件拷贝到~/nfs/rootfs目录。将fsmp157a_led.c和fsmp157a_led.h拷贝到内核源码drivers/char目录。3.在串口工具执行./a.out。

2022-12-13 20:20:51 236

原创 系统移植 开发板部署开发阶段(配置流程)

2.在ubuntu中~/tftpboot目录下,准备好基于tfp服务器下载的文件(设备树文件和uImage镜像文件) 3.通过开发板的拨码开关,选择开发板的启动方式。6.使用tftp命令通过网线下载镜像文件到开发板中,下载内容为设备树文件和uImage镜像文件。5.在串口工具打印uboot信息,在倒计时时间进入0之前,按下enter键,进入交互模式。9.挂载成功之后,在串口工具,可以查看到~/nfs/rootfs目录下相关内容。4.开发板上电,uboot镜像文件加载到开发板内存中。

2022-12-12 20:59:45 230

原创 系统移植 make <board_name>_defconfig/make menuconfig/make all三者之间关系

这种方式配置.config文件,主要通过配置图形化界面来选择要加载的文件,而图形化界面是通过读取每个目录下的Kconfig文件来的,每一个目录基本都一个Kconfig文件;uboot中,编译文件时,先要配置.config文件,然后Makefile在编译时通过读取.config文件的配置来选择要编译的文件。.config文件的生成可通过make menuconfig 或make xxx_defconfig 方式生成,这两种方式看上去虽然不同,但是两者的原理是一样的,都是通过Kconfig文件的配置来的。

2022-12-10 16:49:41 350

原创 系统移植 uboot 2

ftp://ftp.denx.de/pub/u-boot/ 前提是是芯片厂家将uboot源码开源到uboot官网上。1.本次课程学习的开发板使用:华清远见研发中心提供 2.使用开发板参考ST公司提供demo板,DK1和DK2开发板。直接找对应的开发板厂家进行获取,一定有支持开发板的相关镜像文件。5.1 uboot源码拷贝到ubuntu中。一定有支持开发板的相关镜像文件。1.1 uboot官网获取。5.2 分析uboot源码。5.3 如何确定名字!1.2 ST开发社区获取。

2022-12-08 19:56:22 476

原创 系统移植 uboot 1

7.uboot在启动成功之后,会给内核传递两个参数(bootcmd和bootargs)6.uboot 引导linux内核进行启动,内核启动之后,uboot的生命周期就结束。1.bootloader:是一系列引导加载程序的统称 ,uboot是其中之一。3.uboot支持多种硬件架构平台(ARM/X86/POWERPC)3.需要通过ifconfig命令查看ip,是否为自己配置的静态ip。2.ubuntu中的网络设置需要设置为静态ip地址。1.uboot是由德国DNEX小组进行维护的。4.uboot短小精悍。

2022-12-08 19:50:24 1704

原创 系统移植 gnu二进制工具集、MakeFile分析

预处理作用:头文件展开,去掉注释,宏替换,不检查语法错误 gcc -E *.c -o *.i。链接:链接对应的库,生成.elf可执行文件 gcc *.o -o 可执行文件。汇编:生成二进制文件,检查语法错误 gcc -c *.s -o *.o。编译:生成汇编文件,检查语法错误 gcc -S *.i -o *.s。1.9 addr2line调试段错误信息。1.7 readelf查看文件头部信息。1.4 objcopy生成二进制文件。1.6 size查看各个段大小。1.8 strip压缩文件体积。

2022-12-08 19:19:59 985

转载 MakeFile 中四种赋值方式的区别

第一种:= 最后一次赋值第二种: := 立即赋值3. += 附加赋值 4. ?= 询问赋值————————————————原文链接:https://blog.csdn.net/weixin_62323204/article/details/128228232

2022-12-08 09:56:44 85

原创 ARM cortex-A7核PWM实验 蜂鸣器、风扇、马达

头文件:源文件:1. 蜂鸣器2. 风扇3. 马达主函数测试:实验现象:1. 蜂鸣器 2.风扇 3. 马达

2022-12-05 21:14:33 425 1

原创 ARM cortex-M4核中断实验 中断和串口

KEY1按键按下,LED1状态取反,串口工具打印key1 down!要求:按键触发时,LED灯状态取反,并且在串口工具打印一句话。

2022-12-01 19:44:50 547

原创 ARM cortex-A7核中断实验 串口显示KEY按键

GICC 清除中断挂起标志位(清除中断号),是将值放到 GICC->EOIR 寄存器中即可。

2022-11-30 21:04:25 165

原创 ARM cortex-A7核UART实验 收发数据

【代码】ARM cortex-A7核UART实验 收发数据。

2022-11-29 21:02:57 184

原创 ARM cortex-A7核LED灯实验 HAL库封装

在HAL库封装中枚举的应用。

2022-11-28 19:12:00 134

原创 ARM cortex-A7核LED灯实验 C代码

通过对控制寄存器的封装,实现LED灯的循环点亮。

2022-11-25 19:29:14 280

原创 ARM cortex-A7核LED灯实验 汇编

再GPIO寄存器完成GPIOE_MODER(输出)、GPIOE_OTYPER(推挽)、GPIOE_OSPEEDR(低速)、GPIOE_PUPDR(禁止上下拉)、GPIOE_ODR(指定高低电平)的配置;通过配置RCC_AHB4_ENSETR寄存器使能GPIO控制器;实现LED灯的亮灭。

2022-11-25 17:28:19 239

原创 ARM 汇编指令1

【代码】ARM 汇编指令1。

2022-11-23 18:44:49 154

原创 Qt 事件处理机制 定时器应用

文件管理需加入新的类库(语音播报)

2022-11-17 20:52:49 190

原创 Qt 事件处理机制 按键 鼠标

相应事件的event类已在类库中,需要在子类中重写父类的虚函数。

2022-11-16 21:25:04 623

原创 Qt (ui界面)信号与槽函数 组件连接

难点:信号与槽函数的 参数使用。重点:信号与槽连接机制。

2022-11-15 22:32:00 1703

原创 Qt 对象树模型

这里不太明白: Object(Object* parent = nullptr)//父组件类型?

2022-11-15 00:17:15 103

原创 C++ STL 顺序结构 vector

仿照系统的vector,手动实现一个my_vector。

2022-11-12 21:00:23 209

C代码 员工管理系统 TCP socket select 管理员、用户模式

项目要求 1)服务器负责管理所有员工表单(以数据库形式),其他客户端可通过网络连接服务器来查询员工表单。 2)需要账号密码登陆,其中需要区分管理员账号还是普通用户账号。 3)管理员账号可以查看、修改、添加、删除员工信息,同时具有查询历史记录功能,管理员要负责管理所有的普通用户。 4)普通用户只能查询修改与本人有关的相关信息,其他员工信息不得查看修改。 5)服务器能同时相应多台客户端的请求功能。并发

2023-02-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除