單片機(jī) MCU 固件打包腳本軟件
掃描二維碼
隨時(shí)隨地手機(jī)看文章
前言
通過(guò)前面(一)、(二)和(三)篇了解版本信息的實(shí)現(xiàn),那么這一篇主要介紹單片機(jī) MCU 固件自動(dòng)打包腳本軟件。
介紹
下面介紹一個(gè)自動(dòng)打包固件的腳本軟件,主要實(shí)現(xiàn)以下功能:
-
基于 Windows 平臺(tái)的單片機(jī) MCU 固件腳本打包工具
-
支持 hex 文件的裁剪和 hex 文件的合并(boot)
-
可以為 hex 固件添加版本信息、Git Commit 分支和提交記錄等
-
按照版本信息命名hex固件,可生成 bin 文件等
-
以上均可通過(guò) ini 配置文件設(shè)置參數(shù)對(duì) hex 文件進(jìn)行操作
實(shí)現(xiàn)
下面列舉配置文件中的選項(xiàng)
; 文中的路徑可采用絕對(duì)路徑或者相對(duì)路徑(相對(duì)于固件打包bat文件而言) ; 版本信息 Flash 起始地址 預(yù)留大小 前綴字符串 [version] addr=0x08002000 size=32 strPrefix= ; Git 信息 Flash 起始地址 預(yù)留大小 [git_commit] addr=0x08002060 size=32 [boot_file] ; Boot Hex 文件路徑 文件名稱(chēng) hexFilePath=.\ hexFileName=test_boot [file] ; Hex 文件路徑 文件名稱(chēng) hexFilePath=.\ hexFileName=test ; 裁剪起始地址 保留大小 hexFileAddr=0x08000000 hexFileSize=0xFFFF ; 打包文件的輸出路徑 outputPath=.\output [option] ; 是否合并boot固件 isMergeBootHexFile=0 ; 是否生成 Bin 文件 isGenerateBin=1 ; 是否裁剪 Hex 文件,根據(jù)(hexFileAddr hexFileSize) isCropHexFile=1 ; 是否添加 Git Commit 信息 isAddGitCommit=0 ; 打包成功后是否清除臨時(shí)文件 isClearTmpFile=1
步驟演示
下載固件打包腳本,根據(jù)配置設(shè)置后,雙擊 bat 即可完成固件打包,然后點(diǎn)擊下載驗(yàn)證即可。
需要通過(guò) J-LINK 工具包或者 ST-Link 工具打開(kāi)生成的固件進(jìn)行燒錄(通過(guò)Keil編譯直接下載的沒(méi)有用,我這里用的是 ST-Link 工具)。





