Keil存储区的调试记录

1,const修饰的变量存储在RO-data区,初始化的全局变量在RW-data区;KEIL版本:5.27;平台:STM32

2,在main.c文件中定义如下

如上,arry[100],temp[100],string[]为常量,在RO-data区;temp1为初始化的全局变量在RW-data区

3,只是在main.c中定义了以上变量,不做任何使用,编译不会分配任何空间

 4,若在main.c中调用任何变量

Keil存储区的调试记录_第1张图片

该文件中同类型的变量都会被编译并分配空间(即调用一个const变量,则该文件中的其他未使用的const变量也都会被编译,全局变量也是如此,其他文件中的变量使用也是如此

 5,map文件中的变量分配如下

 

以上编译规则,是在开发中验证得出,没有查到keil的具体编译规则和C的编译规则,后续有时间将深入研究...

你可能感兴趣的:(嵌入式,STM32,MDK)