• 資料介紹
    • 引言
    • Flash Loader 的開發(fā)過程
    • 利用 X-Cube-Display API 生成 Flash Loader 的方法
    • 小結(jié)
  • 資料預(yù)覽
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

不同編譯器利用X-CUBE-DISPLAY API生成外部Flash Loader的方法

03/22 14:53
449
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

不同編譯器利用X-CUBE-DISPLAY API生成外部Flash Loader的方法

1.33 MB

引言

嵌入式應(yīng)用系統(tǒng)中,越來越多的應(yīng)用需要擴展外部 Flash 來滿足存儲需求,例如GUI 的應(yīng)用,需要將視頻、圖片、字體等素材存儲在外部 Flash。對于 SPI、FMC、FSMC、QSPI、OCTOSPI、SDMMC 等接口存儲器,需要一個 Flash Loader,把資源下載到外部 Flash。在 STM32CubeProgrammer 安裝目錄的“bin/ExternalLoader”目錄下,ST 提供了官方開發(fā)板對應(yīng)的 Flash Loader,也就是 stldr 文件。但官方提供的 FlashLoader 數(shù)量有限,不能完全滿足用戶需求,需要用戶根據(jù)自己的 MCU 型號、Flash 類型,開發(fā)自己的 Flash Loader。

ST 的 X-Cube-DISPLAY 是 STM32Cube 擴展包,3.0 版本提供了 SPI/QSPI 接口的MX25L6433F 的 Flash Loader 的源碼工程,用戶可以基于此進行自己 Flash Loader 的開發(fā)。本文檔就是根據(jù) X-CUBE-DISPLAY 3.0 所提供的 Flash Loader 工程,以NUCLEO-STM32G474+GFX01M2 開發(fā)板為例,介紹了 STM32CubeIDE、KEIL、IAR等不同編譯器利用 X-CUBE-DISPLAY 所提供的 API 來生成外部 Flash Loader 的方法。

Flash Loader 的開發(fā)過程

參考 ST 在 X-CUBE-DISPLAY 3.0.0 所提供的 Flash Loader 工程,外部 Flash Loader的開發(fā)過程主要包括以下 3 步。

(1)更新 Dev_Inf.c 中的存儲器芯片信息。

(2)重寫 Loader_Src.c 中的相關(guān)接口函數(shù)。

(3)更改輸出文件名。

項目配置好后編譯整個 Flash Loader 項目,將生成一個 ELF 文件,文件的擴展名取決于所使用的編譯器,Keil 的為.axf,EWARM 的為.out,STM32CubeIDE 的為.elf,通過編譯后處理指令更改為 stldr 擴展名的文件,將該 stldr 文件復(fù)制到“bin/ExternalLoader”目錄下就可以被 STM32CubeProgrammer 使用了。

利用 X-Cube-Display API 生成 Flash Loader 的方法

這里參考 X-CUBE-DISPLAY3.0.0ProjectsNUCLEO-WB55RGApplications 目錄下的 GFX01M2_FlashLoader 工程的方法,來移植一個 NUCLEO-G474+GFX01M2 的Flash Loader,這是一個 SPI 接口的 NOR FLASH,芯片型號 MX25L6433F。

小結(jié)

本文結(jié)合 X-Cube-DISPLAY 3.0 軟件包中的示例,介紹了利用 X-CUBE-DISPLAY API進行 Flash Loader 的方法,如果用戶選擇的 Flash 是 MX25L6433F 這款 Flash,那么可以參照此方法,來快速開發(fā)自己的 Flash Loader,如果所選的 Flash 不是MX25L6433F,也可以參照此方法,重新編寫對應(yīng)存儲器的驅(qū)動來開發(fā)對應(yīng)的 FlashLoader。

資料預(yù)覽

相關(guān)推薦