【MPC5744P】Hex文件解析
MPC5744P采用的标准IntelHex格式,一个地址为一个字节。
1、hex文件以ascii形式,按照行来记录数据
2、每一行从:开始,每至少2个字符表示一组16进制数据,格式为 :BBAAAATTHHHH....HHHCC
BB -- 16进制,表示此行数据长度字节数,表示HH的数目
AAAA -- 16进制,表示数据记录的起始地址,若此行是数据记录,则表示偏移地址,其它无意义
TT -- 16进制,表示记录类型,
00-数据记录(Data Record);
01-文件记录结束(End of File record);
02-扩展段地址记录(Extend Segment address record);后面所有数据地址+段地址左移4位
04-扩展线性地址记录(Extend Linear address record);后面所有数据地址+线性地址左移16位
HH...HH -- 16进制,低字节/高字节 结合数据,高字节在后;注意,若是偏移地址,则都是2字节,高字节在前,低字节在后
CC -- 16进制,校验码,除冒号和自身以外的其他字节数据加起来模除256的余数的补码,例如:10A6B0000000EB00D4FD0700000F78001E007800BA,CC=01+~(00+00+EB+00+D4+FD+07+00+00+0F+78+00+1E+00+78+00)=BA
需要特别注意的是,:
* 1、数据记录为big-endian,高端在前,每4个字节为一个地址的数据
* 2、每个数据占4字节,占4个地址
* 3、生成的HEX并非都是标准的4字节8个字符,有时省略最后的FFFF
一旦出现段地址或者线性地址,之后所有数据都要加偏移地址,直到出现一个新的段地址或者线性地址,再重新变更偏移地址
对于真实地址,是 线性地址左移16位+段地址左移4位+偏移地址

Hex文件解析工具集成在 Bootloader上位机中,可使用上位机查看
浙公网安备 33010602011771号