STM32——启动过程浅析
总:STM32——学习总纲
参考文件:
STM32 MAP文件浅析-V1.1
STM32 启动文件浅析_V1.2
Cortex-M3权威指南(中文)、ARM Cotrex-M3权威指南(英文).zip
一、Map文件解析
1.1 MDK编译过程文件
在编译中,会生成11种编译过程文件,可以设置输出到一个文件夹,如output文件夹。
1.2 Map文件概念与作用
作用:
1.3 Map文件组成*
1.4 Map分析 Flash/RAM 大小
1.4.1 MDK output文件夹输出配置
1.4.2 输出map文件查看方式:
a.
b.
1.4.3 分析map文件结构
1.4.3.1 函数的调用关系(Section Cross References)
i.main, i表示符号的入口
1.4.3.2 删除的冗余程序段(Removing Unused input sections from the image.)
1.4.3.3 映像符号表(Image Symbol Table)
包含局部符号,全局符号。
i.delay_us,表是函数入口地址
函数一般不带static都是全局符号
1.4.3.4 映像内存分布(Memory Map of the image)
1.4.3.5 映像组件大小(Image component sizes)
1.4.3.5.1 SRAM/FLASH 大小计算:
FLASH = Code + RO+RW
SRAM = RW + ZI
库的文件不开源(Library),无法优化;一般优化用户代码(Object)