STM32如何定义变量到FLASH ROM中
扫描二维码
随时随地手机看文章
看逻辑地址是否统一编址。
FLASH,RAM在同一个逻辑地址空间的,都是直接用用const,如arm,stm8,msp430等。
FLASH,RAM逻辑地址空间分开的,要用其它办法,通常是特殊关键字,__flash,__code等。
如AVR,8051等。
注:const本身并没有flash的意思。
如果flash,ram逻辑地址统一编址,那么编译器把全局或静态const变量分配到FLASH,RAM都可以。
为了节省ram,通常编译器会把全局或静态const变量分配到FLASH。
如果flash,ram逻辑地址分开编址,那么全局或静态const变量只能放到ram所在的逻辑地址空间,而无法放到FLASH。
注:逻辑地址统一编址,可以是哈弗结构结构,也可能不是。
逻辑地址分开编址,通常是哈弗结构。