keil MDK自动生成带版本bin文件

       作为嵌入式单片机开发,在Keil MDK(Microcontroller Development Kit)中开发完编译完后,经常需要手动进行版本号添加用于发版,非常麻烦,如果是对外发行的话,更容易搞错,特此码哥提供一种自动生成带版本号的bin文件方法

        自动生成版本号bat脚本

      通过批处理脚本(batch script)可用于自动化完成带版本号可执行文件(EXE)和Hex文件生成,如下为脚本实现的过程:

  1. 设置变量
    • EXE_NAME:可执行文件的名称(无扩展名)。
    • EXE_PATH:可执行文件(通常是编译后的.axf文件)的路径。
    • OUTPUT_PATH:输出Hex和Bin文件的路径。
    • VERSION_FILE_PATH:包含软件版本信息的源文件路径。
    • SOFTWARE_VERSION:在源文件中搜索软件版本时使用的标识符。
    • FROMELF_PATH:fromelf工具(用于将.axf文件转换为.bin文件)的路径。
  2. 获取软件版本
    • 使用findstr命令在VERSION_FILE_PATH指定的文件中搜索SOFTWARE_VERSION
    • 提取找到的行的第三个标记(默认为空格分隔),并假设这是版本信息。然后,通过删除第一个和最后一个字符(可能是引号)来清理版本字符串。
  3. 定制文件名
    • 使用EXE_NAMESW_Ver来构建Hex和Bin文件的输出文件名。
  4. 转换并定制Bin文件名
    • 使用fromelf工具将.axf文件转换为.bin文件,并指定输出路径和文件名。
  5. 显示并复制Hex文件
    • 这里有一个潜在的问题:脚本试图复制一个Hex文件,但之前并没有生成或转换这个Hex文件。如果%EXE_PATH%\%EXE_NAME%.hex确实存在,那么复制操作会成功;否则,你会得到一个错误消息。
  6. 退出
    • 脚本执行完毕后退出。
  7. 具体代码如下,码哥贴一下

一般版本号是在某一个文件中,像上面的目录码哥是将软件版本号放在了:..\User\src\io_link_appl.c中;

       

配置演示

          配置脚本自动生成

options->user

after build后面加载bat脚本,就会在编制完自动运行bat脚本生成bin文件

  

             

总结

        通过以上步骤,您可以在Keil MDK中自动生成带版本号的bin文件。这有助于在软件开发过程中跟踪和管理不同版本的固件文件,码哥提一下这个bat脚本其实是可以根据自己需求进行修改的,上面只是作为一个开发思路,比如如果版本号可以按照当前日期进行输出呢,大家可以思考一下如何修改,大家如果这bat感兴趣,码哥也提供了下载链接,可扫码回复“芯源义码bat”下载参考

  • 30
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯源义码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值