關於STM32F4將資料或檔案寫入W28Q128(SPI_FLASH)中的方法(精)

Justice_Gao發表於2017-05-23
將資料或檔案寫入SPI_FLASH的可用方法
(1)使用SD卡更新外部SPI FLASH(W25Q128),將需要寫入的資料或檔案儲存於SD卡中,在通過FATFS檔案系統讀取寫入外部SPI FLASH,可參考原子哥的例程《漢字顯示實驗》,這種方法適用於大檔案和大資料,缺點在於:需要SD外設,適用於功能齊全的開發板,但不適用於外設較少的產品板(無SD外設)
(2)使用Jlink和相關軟體燒錄,方便快捷,缺點:(1)需要SPI_FLASH晶片預留外接燒錄引腳;(2)或者燒錄完成後再焊接,不方便靈活更改內容
(3)使用串列埠燒錄,我在實踐過程中發現,串列埠接收資料快取大小有限,如果接收一部分處理寫入一部分,會出現丟包問題,因為在寫入SPI FLASH資料操作的同時,串列埠是不斷地在傳送檔案的,所以,這種方法適用於小檔案或者小資料的寫入,不適用於大檔案大資料的寫入,具體小檔案和大檔案的大小定義看微控制器的記憶體而定。

(4)使用內部flash讀取寫入的方法,適用於大檔案和大資料。具體可參考原子哥的例程內部FLASH模擬EEPROM實驗。利用STM32 ST-LINK Utility將bin檔案寫入STM32F407內部flash,然後讀取內部flash資料,寫入W25Q128中。

當硬體電路只有串列埠和SWD介面時,適用於後兩種方法。其中,串列埠燒錄適用於小檔案,內部flash讀取寫入適用於大檔案

相關文章