- 博客(82)
- 收藏
- 关注
原创 .out .elf .bin
bin 文件是经过压缩的可执行文件,去掉ELF格式的东西。是直接的内存映像的表示。在系统没有加载操作系统的时候可以执行。即机器最终只认.bin。.out 格式是早期 Unix 系统使用的可执行文件格式,是一种简单的格式。不支持许多现代系统的特性,如动态链接库和符号表等。.elf 格式是扩展的可执行文件格式,它支持多种平台,并且比 .out 格式更加丰富,支持许多现代系统的特性。.out 和 .elf 是两种计算机可执行文件格式,都是用来保存编译过后的程序代码的。
2023-06-06 16:26:39 778
原创 大数加法
数据范围:.length,t.length≤100000,字符串仅由'0'~‘9’构成。以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。要求:时间复杂度 O(n)
2023-02-08 09:32:24 128
原创 大小端存储、主机字节序和网络字节序
htons() htonl() 主机字节序-->网络字节序。注意:浮点类型,字符类型,字符串是没有字节序的说法的。:little-endian 低序字节存储在低地址上;1.联合体(共用体)的方式判断计算机是大端还是小端?:big-endian 低序字节存储在高地址上;计算机的数据读取,都是从低地址往高地址读取;
2023-02-06 18:52:42 105
原创 项目管理系统
1)服务器负责管理所有员工表单(以数据库形式),其他客户端可通过网络连接服务器来查询员工表单。2)需要账号密码登陆,其中需要区分管理员账号还是普通用户账号。3)管理员账号可以查看、修改、添加、删除员工信息,同时具有查询历史记录功能,管理员要负责管理所有的普通用户。4)普通用户只能查询修改与本人有关的相关信息,其他员工信息不得查看修改。5)服务器能同时相应多台客户端的请求功能。并发。
2023-02-02 18:44:14 868
原创 栈 和 堆(申请内存)
4、存储内容的不同。栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进栈,然后函数的各个参数进栈,其中静态变量是不入栈的,静态变量存放在数据段。而堆一般是在头部用一个字节存放堆的大小,堆中的具体内容是人为安排;堆要依靠new,malloc等API申请,栈获得的空间较小,一般为几MB,而。3、申请效率的不同。栈由系统自动分配,速度较快,1、申请方式的不同。,堆可能有许多内存碎片。
2023-02-01 19:13:35 608
原创 const 常量指针和指针常量
区分常量指针和指针常量的关键就在于星号的位置,如果const在星号的左边,则为常量指针,如果const在星号的右边则为指针常量。我们以星号为分界线,
2023-01-31 16:47:53 111
原创 sizeof 和 strlen
(函数返回字符串里的字符数,不包括终止字符'\0'),编译器在编译时运算出结果;sizeof 的参数可以是。计算字符串实际长度。
2023-01-31 10:44:17 75
原创 驱动 IO多路复用 监测硬件(鼠标)和数据输入
想要在一个应用程序里同时监测多个硬件的数据,就需要使用IO多路复用模型实现,IO多路复用可以通过select()/poll()/epoll()机制来实现。如果监测的多个硬件的数据都没有准备好,此时进程进入休眠,当有一个或者多个硬件数据准备好了,进程被唤醒,当进程被唤醒后从内核读取准备好的描述符的集合,然后再集合中取出准备好的文件描述符,将硬件的数据读走。
2023-01-03 17:16:11 184 1
原创 驱动 字符设备 ioctl()控制LED灯
注意:驱动代码中 copy_from_user(&whitch,(void *)arg,sizeof(int));编写ioctl控制3盏灯的逻辑(用户程序在命令行决定是开灯还是关灯,也通过命令行决定操作哪一个灯)
2023-01-02 10:37:40 349
原创 系统移植 添加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 276
原创 系统移植 开发板部署开发阶段(配置流程)
2.在ubuntu中~/tftpboot目录下,准备好基于tfp服务器下载的文件(设备树文件和uImage镜像文件) 3.通过开发板的拨码开关,选择开发板的启动方式。6.使用tftp命令通过网线下载镜像文件到开发板中,下载内容为设备树文件和uImage镜像文件。5.在串口工具打印uboot信息,在倒计时时间进入0之前,按下enter键,进入交互模式。9.挂载成功之后,在串口工具,可以查看到~/nfs/rootfs目录下相关内容。4.开发板上电,uboot镜像文件加载到开发板内存中。
2022-12-12 20:59:45 251
原创 系统移植 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 391
原创 系统移植 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 514
原创 系统移植 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 1779
原创 系统移植 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 1078
转载 MakeFile 中四种赋值方式的区别
第一种:= 最后一次赋值第二种: := 立即赋值3. += 附加赋值 4. ?= 询问赋值————————————————原文链接:https://blog.csdn.net/weixin_62323204/article/details/128228232
2022-12-08 09:56:44 112
原创 ARM cortex-A7核PWM实验 蜂鸣器、风扇、马达
头文件:源文件:1. 蜂鸣器2. 风扇3. 马达主函数测试:实验现象:1. 蜂鸣器 2.风扇 3. 马达
2022-12-05 21:14:33 498 1
原创 ARM cortex-M4核中断实验 中断和串口
KEY1按键按下,LED1状态取反,串口工具打印key1 down!要求:按键触发时,LED灯状态取反,并且在串口工具打印一句话。
2022-12-01 19:44:50 612
原创 ARM cortex-A7核中断实验 串口显示KEY按键
GICC 清除中断挂起标志位(清除中断号),是将值放到 GICC->EOIR 寄存器中即可。
2022-11-30 21:04:25 179
原创 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 302
C代码 员工管理系统 TCP socket select 管理员、用户模式
2023-02-02
iar 工程中的 ewp 属于 xml 类型吗?
2023-11-24
IAR 编译界面设置及报错分析
2023-11-15
Ubuntu 提示报错
2023-08-09
Permission denied (publickey)
2023-08-08
EB no license for module
2023-08-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人