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
    +关注

    关注

    146

    文章

    17123

    浏览量

    350972
  • WINDOWS
    +关注

    关注

    3

    文章

    3541

    浏览量

    88617
  • 脚本
    +关注

    关注

    1

    文章

    389

    浏览量

    14858
收藏 人收藏

    评论

    相关推荐

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

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

    mcu单片机的区别和联系

    地指的是整合了中央处理器(CPU)、内存和I/O接口等功能的芯片,而MCU则更加广义,还包括了嵌入式软件开发环境等支持功能。 下面将详细介绍MCU
    的头像 发表于 12-07 15:05 4135次阅读

    xcodebuild archive通用打包脚本分享

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

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

    软件界面使用QT编写,相关生成补丁,压缩以及解压和打补丁均由C代码实现。生成补丁算法基于bsdiff算法,压缩基于LZ77算法。适合于rom较小的单片机使用。介绍  由于在接触NB-IOT项目
    发表于 11-18 07:33

    讲讲如何打包生成可烧录的Ubuntu固件

    之前讲到如何从打包固件镜像出发去分析系统的一些信息,其中主要的步骤就是用固件解包工具去拆分固件。既然讲到解包固件,可能就朋友就会想到要如何
    发表于 06-01 16:01

    智峰固件烧录软件

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

    MCU如何协同单片机进行仿真?

    MCU(Microcontroller Unit)即单片机是大家都比较熟悉并常用的电子器件,由于其广泛的应用,所以用单片机设计电路是电子技术人员必备的技能。对于初学者,可以先从软件仿真
    发表于 07-04 09:04 2068次阅读

    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次下载

    如何更简单的给单片机更新固件

    单片机已经焊接到电路板上时,如何更简单更便捷的为单片机升级固件便成了一件值得深思的问题。本文介绍了一种更简单更便捷的固件升级方式,不需要任
    的头像 发表于 10-23 18:19 1.7w次阅读
    如何更简单的给<b class='flag-5'>单片机</b>更新<b class='flag-5'>固件</b>?

    单片机通信接口的物理结构和固件特性分析

    单片机的通信性能可以从通信接口性能和软件处理能两个方面进行考虑。通信接口性能主要表现在与通信有关的电路物理性能上;而软件处理性能则与单片机的指令系统和CPU性能直接有关,所以,
    发表于 04-02 15:24 783次阅读

    51单片机原理及应用 keil打包共享

    51单片机原理及应用 keil打包共享51单片机的资料很多,汇总起来也很麻烦,这是我项目的部分资料,都是老生常谈的东西,还是直接扔资料比较实际,资料都上传到闯客网技术论坛,需要资料可以自己去下载吧
    发表于 11-10 18:05 10次下载
    51<b class='flag-5'>单片机</b>原理及应用 keil<b class='flag-5'>打包</b>共享

    单片机增量升级 打包软件及接口介绍

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

    STC单片机开发板介绍以及使用(51单片机介绍)

    单片机型号介绍单片机的英文名叫MCU,我们在学习单片机是使用的HC6800-ES V2.0的板子板子的图片:
    发表于 11-12 14:21 73次下载
    STC<b class='flag-5'>单片机</b>开发板<b class='flag-5'>介绍</b>以及使用(51<b class='flag-5'>单片机</b><b class='flag-5'>介绍</b>)

    STM32单片机实现固件在线升级(IAP)

    1,固件升级方案综述单片机固件升级方式有很多种。1、ICP:简单说就是在单片机开发时使用烧录器升级程序,比如使用J-Link烧录单片机程序
    的头像 发表于 12-16 08:00 5291次阅读
    STM32<b class='flag-5'>单片机</b>实现<b class='flag-5'>固件</b>在线升级(IAP)