把 Bootloader 与 APP 固件拼成一个 Intel HEX 文件 · 纯本地处理
| 文件 | 大小 | 地址范围 | 数据字节 | 记录 | 偏移 (hex) | 状态 | 操作 |
|---|
典型流程:把 boot.hex 和 app.hex 一起拖进来,确认布局里两段地址不重叠、中间空白符合预期,然后下载合并后的 HEX 直接烧录。烧录器不需要支持双文件,也不需要手工改链接地址。
关于空白区:默认不填充,输出文件中两个镜像各自是独立的数据段(多数烧录器、J-Flash、STM32CubeProgrammer 都支持稀疏 HEX,且不会擦除空白区)。若下游设备要求连续地址,勾选「填充中间空白区」,程序会用 FF(Flash 擦除态)补齐。注意:填充只发生在两个镜像之间,不会补到地址 0。
关于偏移:若 APP 是按 0x08000000 链接的、但实际要放到 0x08008000,在该文件的「偏移」列填 8000(十六进制)即可整体搬移,无需重新编译。
常见问题:
0x08000000,需要改 APP 的链接脚本(或前面说的偏移);也可能两个文件是同一个固件的不同版本。0x08000000 处的中断向量表才是真正的入口。Type 05 记录只被少数调试器使用,保留与否一般不影响运行。0x08000000–0x0800FFFF)。支持 Intel HEX 的全部记录类型:00 数据、01 结束、02 扩展段地址、03 启动段地址、04 扩展线性地址、05 启动线性地址。