11.物联网操作系统内存管理

一。STM32编译过程及程序组成

STM32编译过程

程序的组成、存储与运行

MDK生成的主要文件分析

1.STM32编译过程

1.源文件(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(二进制文件),.hex(ASCII文件)

(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生成的主要文件的分析

(1)map文件分析

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改进代码。

(2)set文件分析

(3)hex文件分析

(4)bin文件分析

生成bin文件 fromelf --bin --output LedTask\LedTask.bin LedTask\LedTask.axf

相关推荐
饮长安千年月2 小时前
Linksys WRT54G路由器溢出漏洞分析–运行环境修复
网络·物联网·学习·安全·机器学习
神秘_博士3 小时前
自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone
arm开发·python·物联网·flutter·docker·gitee
Jerry.yl3 小时前
关于 BK3633 上电时受串口 UART2 影响而无法启动的问题说明
嵌入式硬件·物联网·bk3633
W说编程10 小时前
STM32物联网终端实战:从传感器到云端的低功耗设计
网络·stm32·嵌入式硬件·物联网·struts
天拓四方_bjttsf13 小时前
通过TDE工业通讯网关解决设备通讯问题
物联网·其他
捷米特研发一部15 小时前
Profinet 转 EtherNet/IP 如何解锁西门子 1500 与罗克韦尔 PLC 通讯潜能
服务器·网络·物联网·工业自动化·协议转换网关
lucy1530275107915 小时前
芯麦GC4344立体声数模转换芯片深度解析:高精度音频与动态采样率技术
人工智能·单片机·物联网·机器学习·音视频·智能锁门锁
G***技16 小时前
新品!杰和科技国产化云终端VT32,实现办公“双安全”保障
大数据·人工智能·物联网·电脑
2401_885405511 天前
智能硬件定位技术发展趋势
物联网·微信小程序·uni-app·智慧城市·智能硬件·宠物·智能手表
沐欣工作室_lvyiyi2 天前
数字滤波器的设计实现及应用(论文+仿真)
stm32·单片机·物联网·滤波器