Hex文件分析及IAP+App合并

Hex文件分析及IAP+App合并

一、Hex文件分析
Hex文件带地址信息,Bin文件不带地址
以boot.hex文件为例,烧录在单片机0x0000
1)文件头分析
HEX文件
:020000040000FA
:100000005021001099010000A1010000A30100008F
:10001000A5010000A7010000A90100009EF3FFEF69
相应的BIN文件
在这里插入图片描述
:020000040000FA
02 数据长度
0000 数据地址
04 扩展线性地址记录
0000 数据
FA 校验码,256-(020000040000的和)
:100000005021001099010000A1010000A30100008F
10 数据长度16个字节
0000 数据地址0x0000
00 数据记录
5021001099010000A1010000A3010000 数据
8F 校验码

2)文件尾
:102A50000000000000000000000000000000000076
:042A60000000000072
:04000005000000E512
:00000001FF
在这里插入图片描述
:042A60000000000072
04 数据长度4个字节
2A60 数据地址0x2A60
00 数据记录
00000000 数据
72 校验码

:04000005000000E512
04 数据长度
0000 数据地址
05 开始线性地址记录
000000E5 数据记录
打开.map文件,查看__main地址为0x000000e5
__main 0x000000e5 Thumb Code 8 __main.o(!!!main)
12 校验码

以App.hex文件为例,烧录在单片机0x6000
1)文件头分析
:020000040000FA
:1060000058C40010C5610000CD610000CF610000E0
:10601000D1610000D3610000D56100009EF3FFEF65
在这里插入图片描述
:020000040000FA
02 数据长度
0000 数据地址
04 扩展线性地址记录
0000 数据
FA 校验码,256-(020000040000的和)

:1060000058C40010C5610000CD610000CF610000E0
10 数据长度16个字节
6000 数据地址0x6000
00 数据记录
58C40010C5610000CD610000CF610000 数据
E0 校验码

2)数据地址大于0xFFFF
:10FFF000EF63B2BE0809713FD47CACBE5213723FAE
:020000040001F9
:10000000128FA6BE4714733FE59AA0BEDD0B743F66
在这里插入图片描述
:020000040001F9
02 数据长度
0000 数据地址
04 扩展线性地址记录
0001 数据记录,是下一条记录的基地址(0x0001 << 16 = 0x10000)
F9 校验码

:10000000128FA6BE4714733FE59AA0BEDD0B743F66
10 数据长度16个字节
0000 数据地址, 0x10000 + 0x0000 = 0x10000
00 数据记录
128FA6BE4714733FE59AA0BEDD0B743F 数据
66 校验码

3)数据地址再次大于0xFFFF
:10FFF000280FC813300FC823380FC833400F401DD7
:020000040002F8
:10000000480FC815500FC825580FC835600FC01DC0
在这里插入图片描述
:020000040002F8
02 数据长度
0000 数据地址
04 扩展线性地址记录
0002 数据记录,是下一条记录的基地址(0x0002 << 16 = 0x20000)
F8 校验码

:10000000480FC815500FC825580FC835600FC01DC0
10 数据长度16个字节
0000 数据地址, 0x20000 + 0x0000 = 0x20000
00 数据记录
480FC815500FC825580FC835600FC01D 数据
C0 校验码

4)文件尾
:1036300029066914490C032F2626023E01000000CA
:04000005000060E5B2
:00000001FF
在这里插入图片描述
:04000005000060E5B2
04 数据长度
0000 数据地址
05 开始线性地址记录
000060E5 数据记录
打开.map文件,查看__main地址为0x000060E5
__main 0x000060e5 Thumb Code 8 __main.o(!!!main)
B2 校验码

:00000001FF
00 数据长度
00000 数据地址
01 文件结束记录
FF 校验码

二、IAP+App的hex文件合并
IAP的hex文件删除最后一行,再把App的hex文件粘贴到后面,中间不留空行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值