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

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

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

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

1.33 MB

引言

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

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

Flash Loader 的開發(fā)過程

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

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

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

(3)更改輸出文件名。

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

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

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

小結(jié)

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

資料預(yù)覽

相關(guān)推薦