在路上
分类: 嵌入式
2014-05-28 14:46:56
看逻辑地址是否统一编址。 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。 注:逻辑地址统一编址,可以是哈弗结构结构,也可能不是。 逻辑地址分开编址,通常是哈弗结构。 |