1. 程式人生 > >一步一步實現 stm32-fota系列教程之bin檔案生成

一步一步實現 stm32-fota系列教程之bin檔案生成

一步一步實現STM32-FOTA系列教程之BIN檔案生成

前言

本教程為《一步一步實現STM32-FOTA》系列教程。

本文主要對在MDK下如何生成FLASH燒寫BIN檔案進行說明。

轉載請註明出處

STM32燒寫檔案格式

如果想實現STM32的遠端升級功能,必須先能夠生成相對應的燒錄檔案,一般情況下,對STM32進行FLASH燒寫可以使用以下兩種檔案,既HEX檔案和BIN檔案(除錯下載除外)。

HEX檔案一般用作ISP燒錄,在MDK中也比較容易生成,直接在Options -> Output 下勾選Create HEX File 即可。但是HEX檔案中除了包含FLAH中執行的實際二進位制檔案之外,還包含一些ISP升級相關的頭欄位,而這部分不會在ISP階段燒錄到FLASH中,因此HEX檔案不太適用於FOTA。

而BIN檔案則是真正的將要燒錄到FLASH中的二進位制檔案,因此在FOTA之前,必須先要生成相應的BIN檔案。 BIN檔案的生成則需要藉助於MDK軟體裡面的 fromelf.exe 軟體進行合成。在一個已經編譯通過的MDK工程中,可以在MDK的Options裡面進行如下設定。

FOTA配置 即在User選項卡下面的 After Build/Rebuild 填入

fromelf --bin !L -o .\BIN\FOTA.bin 

.\BIN\ 既為將要生成BIN檔案的目錄,既以工程路徑為當前路徑,在當前路徑的BIN目錄下生成BIN檔案。 FOTA.bin檔案既為將要生成的BIN檔案的名稱,可以自己定義。填入完成後,勾選 Run#1 選項,然後儲存。

重新編譯完成後,即可在BIN目錄下生成對應的BIN檔案了,如下。

BIN檔案生成

生成的BIN檔案

參考資料

正點原子STM32開發板IAP實驗