在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息:
Program Size:
Code=6320 RO-data=4864 RW-data=44 ZI-data=1636
代表的意思:
Code :是程序中代码所占字节大小 (不变)
RO-data :程序中所定义的 指令 和 常量 大小 (个人理解 :Read Only) (不变)
RW-data :程序中 已初始化的变量大小 (个人理解”:Read/Write) (变)
ZI-Data :程序中 未初始化的变量大小 (个人理解 :Zero Initialize) (变)
变的意思:在程序运行期间变化的
ROM(Flash) size = Code+RO-data+RW-data; //程序存储器
RAM size = RW-data+ZI-data //数据存储器(小、贵)
也就是要占用芯片中SRAM的大小了
可以通过.map查看占用的flash和ram大小
==========================================
Code (inc. data) RO Data RW Data ZI Data Debug
4972 646 464 100 4476 162181 Grand Totals
4972 646 464 100 4476 162181 ELF Image Totals
4972 646 464 100 0 0 ROM Totals
==========================================
Total RO Size (Code + RO Data) 5436 ( 5.31kB)
Total RW Size (RW Data + ZI Data) 4576 ( 4.47kB) SRAM
Total ROM Size (Code + RO Data + RW Data) 5536 ( 5.41kB) FLASH
============================================