Intel HEX地址合并
按稀疏32位地址合并本地Intel HEX 00–05文件,先核对记录校验和、地址重叠及入口冲突再交付。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
仅在存储地址没有重叠时合并bootloader与应用HEX导出。检查完整区段和入口声明,再下载规范HEX与稀疏地址映射,不为大段地址空隙填充数据。
如何使用
- 选择原始bootloader/应用HEX文件,或粘贴一份完整HEX进行检查。
- 检查存储范围、区段边界和入口类型;任何重叠都会在下载前失败。
- 下载merged.hex、完整地址映射JSON及区段报告,刷写前用接收固件工具复核。
支持范围与限制
粘贴一份HEX文件,或选择最多64份UTF-8文件,组合最多2 MiB;已选文件优先。最多50000条非空记录、1 MiB实际存储字节,稀疏地址与跨度无关。全部完整产物合计最多10 MiB;区段预览前200条。
支持00数据、01 EOF、02扩展段地址、03 CS:IP入口、04扩展线性地址、05 EIP入口。长度、校验和、记录地址与各类型数据长度必须准确。每份文件需要一个EOF;其后记录、非法十六进制/空白、重复入口记录与未知类型拒绝。接受空行和可选开头UTF-8 BOM。
地址范围0x00000000–0xFFFFFFFF,超出范围的数据拒绝。同一存储地址重复出现即整体失败,即便字节相同也不合并。保留一致的入口声明,类型或数值不同则冲突。失败不提供部分结果。
输出为16字节数据记录及扩展线性地址,保留入口记录类型。地址映射JSON包含每个连续区段的准确十六进制字节;报告/CSV给出完整区段范围,结束地址不包含在区段内(可为0x100000000)。不填地址空隙、不刷写硬件、不判断设备适配、不认证固件签名、不验证应用CRC。
操作示例
示例输入
:0400000001020304F2 :0400000500000000F7 :00000001FF
示例参数
{"secondary":"","params":{"spreadsheetSafe":true}}示例输出
{
"format": "Intel HEX 00–05",
"inputFiles": 1,
"inputBytes": 52,
"records": 3,
"storedBytes": 4,
"segments": [
{
"start": 0,
"endExclusive": 4,
"storedBytes": 4,
"startHex": "00000000",
"endExclusiveHex": "00000004"
}
],
"minimumAddress": "00000000",
"maximumAddress": "00000003",
"startKind": "linear",
"outputRecords": 4,
"entry": {
"kind": "linear",
"eip": 0
},
"sources": [
{
"name": "pasted.hex",
"records": 3,
"storedBytes": 4,
"entry": {
"kind": "linear",
"eip": 0
}
}
]
}出现问题时
重新生成长度、校验和正确且只有一个最终EOF的记录;在原链接/构建配置中解决地址重叠和入口冲突。保留不支持格式,使用完整修正文件重跑。
常见问题
相同字节的重叠可以合并吗?
不能。每个重复存储地址都拒绝,即便字节相同。应先在构建输出中解决区域归属。
接近0xFFFFFFFF的地址会分配4 GiB镜像吗?
不会。只存实际字节并输出稀疏区段,不分配或填充整个地址跨度。
记录校验和通过说明固件能运行吗?
不能。Intel HEX校验和只检查记录完整性,工具不知道目标Flash布局、启动协议或应用CRC。