对于STM32编译后,可以在Option->Linker->List中的Generate linker map file打上勾,这样编译后就会在IAR\Debug\List目录生成xxx.map文件。通过分析此文件,我们可以分析STM32编译后程序的Flash与RAM占用情况,还可以得到程序中所有符号表的地址等,这个文件就像Linux内核的System.map文件一样非常有用,里面描述程序映像的结构。
1. STM32编译后的MAP文件中,刚开始部分为一些信息和位置
IAR ELF Linker器的版本,MAP文件路径等信息。
2. MAP文件的PLACEMENT SUMMARY部分
各Section(段)存储的位置,即各段在存储器中的分布。此部分会显示代码和数据在flash和RAM中的映射地址,STM32中0x08000000开头的一般是位于Flash地址空间,0x20000000一般位于RAM空间,0x10000000一般位于特殊ram空间,我们关心的一般是0x20000000和0x08000000开头的地址。比如:

紧接着是这些段的详细说明:

最低0.47元/天 解锁文章
5345

被折叠的 条评论
为什么被折叠?



