STM32F103VET6存儲器

STM32f1xxx的閃存模塊由:主存儲器、信息塊和閃存存儲器接口寄存器等3部分組成。

各個部分的大小因不同型號有一定的差異,數據手冊中可以看到

小容量產品主存儲塊1-32KB,每頁1KB。系統存儲器2KB

中容量產品主存儲塊64-128KB,每頁1KB。系統存儲器2KB

大容量產品主存儲塊256KB以上,每頁2KB。系統存儲器2KB


主存儲器:該部分用來存放代碼和數據常數(如const類型的數據)。對於大容量產品,其被劃分爲256頁,每頁2K字節。注意,小容量和中容量產品則每頁只有1K字節。從上圖    可以看出主存儲器的起始地址就是0X08000000, B0、B1都接GND的時候,就是從0X08000000開始運行代碼的。

信息塊:該部分分爲2個小部分,其中啓動程序代碼,是用來存儲ST自帶的啓動程序,用於串口下載代碼,當B0接V3.3,B1接GND的時候,運行的就是這部分代碼。用戶選擇字                  節,則一般用於配置寫保護、讀保護等功能

閃存存儲器接口寄存器:該部分用於控制閃存讀寫等,是整個閃存模塊的控制機構。


在進行內部flash模仿eeprom時可以操作主存儲器部分的空間,程序代碼佔一部分,留下一部分用於存儲你想要存儲的信息,只是模擬的eeprom的讀寫操作還是要遵循flash的操作方法,另外還需要注意stm32閃存操作的流程注意事項

 FLASH_Unlock();//解鎖

 FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清楚標誌

 FLASH_ErasePage(0x8002000);//擦除

 while(count < 5)
 {
  FLASH_ProgramHalfWord((0x8002000 +count*2),data[count]);  //flash  爲一個字節存儲,16位數據必須地址加2

  count++;
 
 }

 FLASH_Lock();//加鎖


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章