如何知道用keil编译过的代码占用空间大小?
如图:
还可以在工程文件夹下查找到map文件,打开后最后的几行
这里的Code、RO Data、RW Data、ZI Data是和前面Keil编译的结果相一致的。
Code是代码占用的空间。
RO data是 (Read Only )只读常量的大小,如const。
RW data是(Read Write) 初始化了的可读写变量的大小。
ZI data是(Zero Initialize) 没有初始化的可读写变量的大小,ZI-data不会被算做代码里因为不会被初始化。
FLASH中的被占用的空间为:Code+RO Data+RW Data
芯片内部RAM使用的空间为: RW Data + ZI Data
以上是keil优化编码等级为O2的数据,如何采用等级为O3的优化编码后,同一个程序的数据如下:
可以看出前后编译过后占用空间稍有区别。
如此可以根据编译过后的数据再来精选或确认单片机的具体型号。
另外优化编码等级在keil的魔术棒选项中设置:
————————————————
参考链接:https://blog.csdn.net/k331922164/article/details/92795511