关于Stm芯片,keil编译后输出的信息,查看程序所占用的FlashRAM空间大小
Posted 耳 东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Stm芯片,keil编译后输出的信息,查看程序所占用的FlashRAM空间大小相关的知识,希望对你有一定的参考价值。
根据keil编译输出的信息
code:表示程序代码部分
RO_data:表示程序已经定义的常量(如用const修饰的变量......)
RW_data :表示已经初始化的全局变量(已初始化的和未初始化的全局变量存储在不同的空间里)
ZI_data:表示未初始化或者初始化未0的全局变量
程序占用的flash大小:code+RO_data
运行是程序占用的RAM大小:RW_data+ZI_data
烧写程序占用的falsh大小:code+RO_data+RW_data
烧写到stm32上的bin文件或hex文件称为映象文件image,包含了3部分:code,RO_data,RW_data,因为ZI_data的数据为0,所以只需要将ZI对应的区域(在RAM中)清零即可
stm32上电后cpu会根据BOOT0和BOOT1来决定从falsh启动还是从RAM启动,默认flash启动;启动后搬运RW_data到RAM中但不搬运code,CPU执行代码是从flash里面一条一条读取而不是在RAM中
以上是关于关于Stm芯片,keil编译后输出的信息,查看程序所占用的FlashRAM空间大小的主要内容,如果未能解决你的问题,请参考以下文章
Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片FlashSRAM的对应关系