徐州自助建站系统,网站开发投资成本,wordpress媒体库2m,做网站运营需要具备哪些能力一。STM32编译过程及程序组成
STM32编译过程
程序的组成、存储与运行
MDK生成的主要文件分析
1.STM32编译过程 1.源文件#xff08;Source code#xff09;--》目标文件#xff08;Object code#xff09; .c(C语言)通过armcc生成.o#xff0c;.s#xff08;汇编Source code--》目标文件Object code .c(C语言)通过armcc生成.o.s汇编通过armasm生成.o 2.Object code目标文件--》image镜像文件 .o通过armlink生成.rlf.axf.map 3.image镜像文件--》Flash format可烧写文件 通过fromelf生成.bin二进制文件.hexASCII文件 2实例
随便打开一个工程点击运行运行结果的第一行有个地址进入这个地址 。这个地址中就是用来编译的文件。
补充armar.exe是可以把C语音改成固件库就是移植程序时不想复制C语言文件直接封装成固件库 2.程序的组成存储与运行
1程序组成 2程序运行程序 开始运行程序就从xx.s中找到开始运行__main(注意不是main)然后开始运行第一个图片 补充生成反汇编指令 fromelf --text -c --output LedTask\LedTask.text LedTask\LedTask.axf 这个命令来生成汇编指令是发现bug之后实在改不了就看这个汇编 注意未知原因没有生成成功地址不对可能 3.MDK生成的主要文件的分析
1map文件分析 1、Section Cross References 2、Removing Unused input sections from the image. 3、Image Symbol Table 4、Memory Map of the image 5、Image component sizes 会生成一个map文件打开之后可以看到程序使用了什么头文件代码量在中断还是串口输出还是FREERTOS。通过参考map改进代码。
2set文件分析 3hex文件分析 4bin文件分析 生成bin文件 fromelf --bin --output LedTask\LedTask.bin LedTask\LedTask.axf