1. 程式人生 > >STM32中將常量儲存在FLASH中(CONST關鍵字)

STM32中將常量儲存在FLASH中(CONST關鍵字)

今天在寫程式時,想把一個字串常量儲存在STM32的FLASH中,看了一會兒別人的例子程式,知道是用const這個關鍵字,但第一次沒有成功。

前提:我用的是STM32F103ZE微控制器,

  • FLASH的儲存範圍為:0x08000000~0x0807ffff,
  • RAM的儲存範圍:0x20000000~0x200007ff

失敗例子:

#include.....

。。。。

int main(void)

{

u8 const c[]="somen";

while(1); 

}

通過除錯,檢視c[]陣列的儲存位置為0x200*****的位置,常量仍舊處在RAM中。

成功的例子:

#include.....

u8 const c[]="somen";

int main(void)

{

while(1); 

}

通過除錯,可以發現c[]陣列的儲存位置為0x08******的位置,常量在FLASH中。