【Keil程序大小】Keil编译结果Code-RO-RW-ZI分析
下图为keil编译后的结果:
- 单位为Byte。
- Code是程序大小。
- RO是常量大小。
- RW是读写变量占用大小,如已初始化的静态变量和全局变量。
- ZI是全零变量占用大小,如未初始化的static修饰的静态变量、全局变量以及堆栈所占的空间。
ROM对应到MCU就是Falsh。
RAM对应到MCU就是SRAM。
Flash占用大小 = Code + RO + RW
SRAM占用大小 = RW + ZI
SRAM占用大小很好理解,RW和ZI其实都是变量嘛,存储到RAM中。
但是Flash占用大小为什么还要有RW?RW是已经被初始化的变量,程序在被烧写到MCU中时,RW会被先写到Flash中,然后运行时,再复制到SRAM中。
除了这里可以查看程序占用情况,也可以看map文件。