keil生成map文件不明白的地方,求解
在map文件中:image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
0 0 0 0 0 1184 ac97c.o
532 48 12 0 0 1910 adc.o
里面“Debug”是什么意思,还占空间?
调试信息的字节数,不占ROM空间。 xmshao 发表于 2017-9-28 23:52
调试信息的字节数,不占ROM空间。
占用RAM空间?那不是会内存溢出? 这个信息不占用ROM,也不占用RAM,这个信息不是要下载到MCU中的,是给PC机上的调试器试用的。在用调试器调试MCU中的代码时,调试器中显示的一些字符串以及表格信息,都包含在这里面,以便提供给调试人员直观的代码信息,包括断点信息,行信息等等。 本帖最后由 toofree 于 2018-2-14 00:01 编辑
Image component sizes:存储组成大小,其实主要就是对模块进行汇总存储大小信息。
编译工程后,在编译窗口一般会看到类似如下一段信息:
Program Size: Code=908 RO-data=320 RW-data=0 ZI-data=1024
Code:指代码的大小;
Ro-data:指除了内联数据(inline data)之外的常量数据;
RW-data:指可读写(RW)、已初始化的变量数据;
ZI-data:指未初始化(ZI)的变量数据;
Code、Ro-data:位于FLASH中;
RW-data、ZI-data:位于RAM中;
提醒:RW-data已初始化的数据会存储在Flash中,上电会从FLASH搬移至RAM中。
关系如下:
ROSize = Code + RO Data
RWSize = RW Data + ZI Data
ROM Size = Code + RO Data + RW Data
Debug占用多少不需要关心,只要关注RAM和Flash就可以了
页:
[1]