关于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的对应关系

Keil/MDK:查看STM32的RAM和ROM使用情况

keil怎么把程序烧录进stm32

关于STM32 KEIL MDK环境下,程序在RAM中调试的问题

keil里面的包

请问关于STM32,用yagarto生成的.bin文件,怎样烧录?