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

相关推荐
while(努力):进步1 小时前
增强现实与物联网融合在智慧城市交通管理中的智能优化应用探索
物联网·ar·智慧城市
TDengine (老段)4 小时前
TDengine 字符串函数 REGEXP_IN_SET 用户手册
数据库·物联网·mysql·时序数据库·tdengine·涛思数据
蓝奥声科技7 小时前
心跳驱动的弹性上传体系,多场景用电设备数据管理的新范式
物联网·边缘计算·智能用电计量插座·蓝奥声·lpiot 低功耗物联网
北京耐用通信17 小时前
“耐达讯自动化Profibus总线光端机在化工变频泵控制系统中的应用与价值解析”
人工智能·科技·物联网·网络安全·自动化·信息与通信
攻城狮7号1 天前
万物互联时代,如何选择合适的时序数据库?
大数据·物联网·时序数据库·apache iotdb·sql mcp
融智兴科技1 天前
融智兴科技携RFID洗涤标签亮相2025中国洗涤展
科技·物联网
大河qu1 天前
HCIP-IoT/H52-111 真题详解(章节C),接入技术和网络设计 /Part2
物联网·3gpp·nb-iot·接入技术·elte-iot·lwpa
北京耐用通信1 天前
不只是延长,是“重生”:耐达讯自动化Profibus总线光端机如何让老旧设备数据“开口说话”?
人工智能·物联网·网络协议·自动化·信息与通信
许泽宇的技术分享1 天前
从零开始构建企业级物联网平台:IoTSharp 架构设计与实践全解析
物联网·iot·iotsharp
物联网软硬件开发-轨物科技1 天前
【轨物方案】轨物科技工业缝纫机物联网解决方案:以数智化重塑轻工制造价值链
科技·物联网·制造