0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍单片机 MCU 固件打包脚本软件

汽车电子技术 来源:大橙子疯嵌入式 作者:大橙子疯 2023-02-15 15:40 次阅读

前言

通过前面[(一)]、[(二)]和[(三)]篇了解版本信息的实现,那么这一篇主要介绍单片机 MCU 固件自动打包脚本软件。

介绍

下面介绍一个自动打包固件的脚本软件,主要实现以下功能:

  1. 基于 Windows 平台的单片机 MCU 固件脚本打包工具
  2. 支持 hex 文件的裁剪和 hex 文件的合并(boot)
  3. 可以为 hex 固件添加版本信息、Git Commit 分支和提交记录等
  4. 按照版本信息命名hex固件,可生成 bin 文件等
  5. 以上均可通过 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
    mcu
    +关注

    关注

    145

    文章

    15982

    浏览量

    343283
  • WINDOWS
    +关注

    关注

    3

    文章

    3432

    浏览量

    87118
  • 脚本
    +关注

    关注

    1

    文章

    372

    浏览量

    14624
收藏 人收藏

    评论

    相关推荐

    如何将PIC单片机AD转换数据打包

    问题。本文中,小编将介绍如何将pic单片机A/D转换数据打包,以达到减少空间、提高效率的目的。如果你对本文内容具有一定兴趣,不妨继续往下阅读哦。
    的头像 发表于 07-04 11:13 4244次阅读

    英锐科技单片机科普:#单片机 #MCU

    单片机mcu
    英锐恩科技
    发布于 :2024年01月04日 09:35:53

    MCU为什么上电不启动?#单片机 #MCU #单片机开发

    单片机mcu
    聚沃科技
    发布于 :2024年01月11日 09:50:57

    51单片机学习资料打包

    51单片机学习资料打包
    发表于 12-23 22:31

    DIY《NewWayISD录音软件》 的单片机固件-及其源码

    在STC15处理器上使用。软件下载下载《自动录音软件固件-STC89C52@11.05M.hex》到MCU51单板机中即可硬件连接单片机和I
    发表于 11-28 12:35

    单片机固件问题

    使用一个压力传感器与C8051F单片机相连进行数据传输。编一个单片机固件,通过固件将读取到的电压信号转换成对应的压力信号。本人新手一枚,有些都不懂这其中的意思?电压信号转换成压力信号不
    发表于 06-02 22:32

    xcodebuild archive通用打包脚本分享

    xcodebuild archive 持续集成打包脚本
    发表于 03-06 07:15

    单片机增量升级打包软件及接口相关资料分享

    软件界面使用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

    智峰固件烧录软件

    智峰固件烧录软件,可用于想单片机烧录相关的固件
    发表于 05-30 14:20 21次下载

    fir自动打包脚本说明

    被配置证书打包之类的问题折磨的疯狂了。 但是!作为一个程序猿,用有限的是生命去做更多的事不是更好,毕竟程序猿是高危物种,说猝死就猝死啊。。。(以上是装逼,纯粹是因为懒,不想用鼠标点来点去。) 我给出的方案是fir平台+xcodebuild+shell脚本来进
    发表于 09-25 11:08 0次下载
    fir自动<b class='flag-5'>打包脚本</b>说明

    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次下载
    <b class='flag-5'>单片机</b>增量升级 <b class='flag-5'>打包</b><b class='flag-5'>软件</b>及接口<b class='flag-5'>介绍</b>