新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > KEIL MDK输出map文件分析01

KEIL MDK输出map文件分析01

作者: 时间:2016-11-28 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/201611/322727.htm

Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00002e00, Max: 0x00020000, ABSOLUTE)


//程序的加载映像地址和长度,2e00=2dc0(代码和常数)+0x20(Region Table是RW的加载和执行地址、ZI与HEAPSTACK的执行地址)+0x20(已经初始化的数据)。


Execution Region ER_IROM1(Base: 0x08000000, Size: 0x00002de0, Max: 0x00020000, ABSOLUTE)//这段RO区域的加载映像和执行映像一致。


Base AddrSizeTypeAttrIdxE Section NameObject


0x08000000 0x000000ecDataRO3RESETstm32f10x.o


0x080000ec 0x00000008CodeRO191* !!!main__main.o(c_w.l)



Execution Region RW_IRAM1 (Base: 0x20000000, Size: 0x000004a0, Max: 0x00005000, ABSOLUTE)//RW数据区ZI数据区Heap和Stack数据区。



Base AddrSizeTypeAttrIdxE Section NameObject


0x200000000x00000001DataRW100.datatft018.o


x200000400x00000060ZeroRW212.bsslibspace.o(c_w.l)


0x200000a00x00000000ZeroRW2HEAPstm32f10x.o


0x200000a00x00000400ZeroRW1STACKstm32f10x.o


6、第六部分:Image component sizes


这是指出各个模块的输入节的大小


Code (inc. data)RO DataRW DataZI DataDebugObject Name


97258010322416can.o


82416801501791candemo.o


928880004529stm32_init.o


5218236010242700stm32f10x.o


1836324874108076tft018.o


最后给出总长度:这个11744应该=0x2dc0,1184应该0x4a0。11776应该是=0x2e00。


Total ROSize (Code + RO Data)11744 (11.47kB)


Total RWSize (RW Data + ZI Data)1184 (1.16kB)


Total ROM Size (Code + RO Data + RW Data)11776 (11.50kB)



二、总结


感觉经过这么分析一遍,对于嵌入式系统程序的静态结构和动态执行流程的了解又深入了一些,当然也还是有些问题并没有了解透彻:留待以后慢慢解决吧。


上一页 1 2 3 下一页

关键词: KEILMDKmap文

评论


技术专区

关闭