目录
传统分步烧录(先BootLoader后通过其升级App)效率低下,而将二者合并为单一HEX文件可大幅提升效率。以下是具体实现方法及注意事项
一.HEX文件合并方法
1.1.手动文本合并(适用于小规模调试)
-
步骤 :
- 1.用文本编辑器(vscode)打开BootLoader的HEX文件,删除最后一行结束标识
:00000001FF
- 2.打开App的HEX文件,将其全部内容复制到BootLoader文件的末尾;
- 保存合并后的文件(如
Combined_Firmware.hex
)。
- 1.用文本编辑器(vscode)打开BootLoader的HEX文件,删除最后一行结束标识
-
优点:无需额外工具;
-
缺点:易出错(如地址重叠或结束符误删),仅适合临时测试
1.2**脚本自动化合并(推荐)**
-
Windows批处理脚本 :
@ECHO OFF copy /b boot.hex + app.hex merged.hex
- 说明 :
- 用
copy /b
合并boot.hex和app.hex; - 最终生成可直接烧录的HEX文件。
- 用
- 说明 :
-
步骤:
-
1.右键->新建文本文档->复制粘贴上方命令行->保存文件为BAT格式,例如图中(merge_hex.bat)
-
-
2.准备好图中boot.hex文件和app.hex文件(名称需要和脚本中名称一致)
-
-
3.双击merge_hex.bat,自动生成merge.hex文件
-
1.3专用工具合并(高效防错)
- 推荐工具 :
- HexMergeTool(C#编写,图形化操作);
- 操作流程 :
- 软件链接->Windows版 + Linux64bit版(推荐使用)
- 安装HexMergeTool,并打开
- 打开boot.hex
- 进行合成
- 仔细检查BootLoader和App的编译地址(如BootLoader:
0x08000000
,App:0x08002800
)内容是否正确 - 点击保存
二、MCU的程序偏移地址
MCU类型 | 合并要点 |
---|---|
STM32系列 | BOOT偏移地址固定为0x08000000 ,App偏移地址0x08002800 (注:按需要进行修改) |
Ch573系列 | BOOT偏移地址固定为0x00000000,App偏移地址0x00030000,蓝牙协议栈偏移地址0x00010000 |
三、方案对比与选择建议
方法 | 效率 | 可靠性 |
---|---|---|
手动合并 | ⭐⭐ | ⭐ |
脚本自动化 | ⭐⭐⭐⭐ | ⭐⭐ |
专用工具 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
四.总结
合并HEX文件的核心在于地址隔离 与自动化流程 。量产时优先选择脚本或工具合并(如HexMerge),并严格验证烧录后的固件完整性。
通过上述方法,可将传统两步烧录耗时缩短至单步操作,显著提升生产效率。