前言
通過前面[(一)]、[(二)]和[(三)]篇了解版本信息的實現,那么這一篇主要介紹單片機 MCU 固件自動打包腳本軟件。
介紹
下面介紹一個自動打包固件的腳本軟件,主要實現以下功能:
- 基于 Windows 平臺的單片機 MCU 固件腳本打包工具
- 支持 hex 文件的裁剪和 hex 文件的合并(boot)
- 可以為 hex 固件添加版本信息、Git Commit 分支和提交記錄等
- 按照版本信息命名hex固件,可生成 bin 文件等
- 以上均可通過 ini 配置文件設置參數對 hex 文件進行操作
實現
下面列舉配置文件中的選項
; 文中的路徑可采用絕對路徑或者相對路徑(相對于固件打包bat文件而言)
; 版本信息 Flash 起始地址 預留大小 前綴字符串
[version]
addr=0x08002000
size=32
strPrefix=
; Git 信息 Flash 起始地址 預留大小
[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 文件,根據(hexFileAddr hexFileSize)
isCropHexFile=1
; 是否添加 Git Commit 信息
isAddGitCommit=0
; 打包成功后是否清除臨時文件
isClearTmpFile=1
步驟演示
下載固件打包腳本,根據配置設置后,雙擊 bat 即可完成固件打包,然后點擊下載驗證即可。
需要通過 J-LINK 工具包或者 ST-Link 工具打開生成的固件進行燒錄(通過Keil編譯直接下載的沒有用,我這里用的是 ST-Link 工具)。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
mcu
+關注
關注
146文章
16024瀏覽量
343775 -
WINDOWS
+關注
關注
3文章
3442瀏覽量
87157 -
腳本
+關注
關注
1文章
372瀏覽量
14648
發布評論請先 登錄
相關推薦
DIY《NewWayISD錄音軟件》 的單片機固件-及其源碼
在STC15處理器上使用。軟件下載下載《自動錄音軟件固件-STC89C52@11.05M.hex》到MCU51單板機中即可硬件連接單片機和I
發表于 11-28 12:35
單片機固件問題
使用一個壓力傳感器與C8051F單片機相連進行數據傳輸。編一個單片機固件,通過固件將讀取到的電壓信號轉換成對應的壓力信號。本人新手一枚,有些都不懂這其中的意思?電壓信號轉換成壓力信號不
發表于 06-02 22:32
單片機增量升級打包軟件及接口相關資料分享
本軟件界面使用QT編寫,相關生成補丁,壓縮以及解壓和打補丁均由C代碼實現。生成補丁算法基于bsdiff算法,壓縮基于LZ77算法。適合于rom較小的單片機使用。介紹??由于在接觸NB-IOT項目
發表于 11-18 07:33
講講如何打包生成可燒錄的Ubuntu固件
之前講到如何從打包的固件鏡像出發去分析系統的一些信息,其中主要的步驟就是用固件解包工具去拆分固件。既然講到解包固件,可能就朋友就會想到要如何
發表于 06-01 16:01
OTA升級失敗,使用的是固件打包器生產的.rbl文件求助
OTA升級之后,從download區下載程序到APP區之后失敗,使用的是RT-Thread OTA固件打寶器生產.rbl文件,用ST-link讀取了單片機寄存器發現固件分區名和固件版本
發表于 04-20 16:02
基于QT寫了個上位機軟件,OTA升級失敗,固件校驗失敗是為什么?
自己基于 QT 寫了個上位機軟件,通過串口將打包好的固件(通過 rt 的打包工具 rt_ota_packaging_tool.exe
發表于 09-03 14:26
fir自動打包腳本說明
被配置證書打包之類的問題折磨的瘋狂了。 但是!作為一個程序猿,用有限的是生命去做更多的事不是更好,畢竟程序猿是高危物種,說猝死就猝死啊。。。(以上是裝逼,純粹是因為懶,不想用鼠標點來點去。) 我給出的方案是fir平臺+xcodebuild+shell腳本來進
發表于 09-25 11:08
?0次下載
iOS自動化打包腳本
iOS自動化打包腳本,地址:(https://github.com/hades0918/ipapy) iOS項目自動打包腳本 1.腳本自動打包 2.上傳到fir.im 3.發送郵件給測
發表于 10-12 16:47
?0次下載
單片機增量升級 打包軟件及接口介紹
本軟件界面使用QT編寫,相關生成補丁,壓縮以及解壓和打補丁均由C代碼實現。生成補丁算法基于bsdiff算法,壓縮基于LZ77算法。適合于rom較小的單片機使用。介紹??由于在接觸NB-IOT項目
發表于 11-11 16:51
?9次下載
評論