[麦麦茶水间] 【每周分享】合并boot.bin文件和app.bin文件的两种方法

[复制链接]
531|0
dffzh 发表于 2025-9-11 17:18 | 显示全部楼层 |阅读模式
, , bin文件,
本帖最后由 dffzh 于 2025-9-11 17:21 编辑

从事基于MCU的嵌入式软件开发时,在将最终固件发布到生产之前,我们往往需要将bootloader程序的文件(称之为boot.bin)和应用程序的文件(称之为app.bin)进行合并,生成一个带bootloader的固件并提供给工厂端,大家一般是怎么合并的?我这里提供两种本人用过的方法,供大家参考。

方法一:使用jflash工具

新建工程后,打开需要合并的boot.bin文件:
填入boot的起始地址,视所用MCU而定,比如0x8000000,点击OK:
再按以下方式打开需要合并的app.bin文件:
填入app的起始地址,根据你在IDE和程序里的配置而定,,比如Keil里面的话,可以查看这里:
即配置为0x0801000,点击OK;

保存文件,即为合并两个文件的过程:
会弹出让你配置地址范围,一般不要配置,直接OK,比如保存为boot+app.bin文件。
方法二:使用Bin Merger工具
如果你觉得方法一的操作比较繁琐或者容易出错的话,可以试试方法二。

打开小工具BinMerger.exe:
点击浏览,先导入boot.bin文件:
点击添加:
再点击浏览,导入app.bin文件:
点击添加:

偏移地址与方法一中描述的类似,即应用程序相对bootloader的偏移地址。
点击合并,设置合并后的文件名称,比如app+boot.bin,点击保存即可。
这里可以通过beyondcompare工具比较一下两种方法生成的bin文件数据是否一样:
选择16进制比较:

分别导入两个bin文件进行比较,发现是一模一样的:

说明两种方法合并的bin文件没有什么问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

143

主题

1393

帖子

23

粉丝
快速回复 在线客服 返回列表 返回顶部