前言
通过前面[(一)]、[(二)]和[(三)]篇了解版本信息的实现,那么这一篇主要介绍单片机 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
+关注
关注
145文章
15982浏览量
343283 -
WINDOWS
+关注
关注
3文章
3432浏览量
87118 -
脚本
+关注
关注
1文章
372浏览量
14624
发布评论请先 登录
相关推荐
如何将PIC单片机AD转换数据打包
问题。本文中,小编将介绍如何将pic单片机A/D转换数据打包,以达到减少空间、提高效率的目的。如果你对本文内容具有一定兴趣,不妨继续往下阅读哦。
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次下载
评论