STM32的存储分配

1.keil编译后:

Program Size: Code=174322 RO-data=81982 RW-data=10296 ZI-data=54400  

Code:代码段,存储代码

RO-data:程序中的指令和常量

RW-data:程序中已经初始化的数据

ZI-data:程序中未初始化的数据(如果数据被初始化为0,也放在ZI-data中)

 

2.STM32F103VE

512kB Flash,64kB SRAM

Flash=Code+RO-data

SRAM=RW-data+ZI-data

FLASH:起始地址0x800 0000,大小0x8 0000

SRAM:起始地址0x2000 0000,大小0x10000

 

3.用keil编译时,有时会出现RAM不足的情况,此时可以将某些全局变量改为常量,因为全局变量保存在SRAM中,常量保存在FLASH中。因此,在编程过程中,需要有数据存储位置的概念,使数据保存在最合适的位置,避免出现存储容量不足的情况。
 

你可能感兴趣的:(STM32)