关于Stm芯片,keil编译后输出的信息,查看程序所占用的Flash、RAM空间大小

 

根据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中

猜你喜欢

转载自blog.csdn.net/weixin_42174355/article/details/86541684
今日推荐