前言
通過前面[(一)]、[(二)]和[(三)]篇了解版本信息的實(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 文件等
- 以上均可通過 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 文件路徑 文件名稱
hexFilePath=.\\
hexFileName=test_boot
[file]
; Hex 文件路徑 文件名稱
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)證即可。
需要通過 J-LINK 工具包或者 ST-Link 工具打開生成的固件進(jìn)行燒錄(通過Keil編譯直接下載的沒有用,我這里用的是 ST-Link 工具)。
-
mcu
+關(guān)注
關(guān)注
146文章
17317瀏覽量
352635 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3569瀏覽量
89299 -
腳本
+關(guān)注
關(guān)注
1文章
391瀏覽量
14938
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論