Intel HEX文件格式学习心得分享

阅读: 评论:0

Intel HEX文件格式学习心得分享

Intel HEX文件格式学习心得分享

① HEX文件以ASCII码的形式显示16进制数据。

② HEX文件每一条记录都是固定格式,以“:”开头,数据部分分为5个区域: 

前2位是数据长度域,

接着是4位的地址域,

接着是2位的数据类型域,

再是数据区域,长度在最前面的数据长度域定义,

最后是2位校验位。

校验方法是:所有数据视为16进制的数据,再相加和为0。

③ 数据类型域只能是如下6种数据:

00 数据记录

01 文件结束记录

02 扩展段地址记录

03 开始段地址记录

04 扩展线性地址记录

05 开始线性地址记录

 虽然有6种类型,但是并不是都会出现,有的是特定架构的芯片独有的。对单片机来说,02这个类型似乎没有什么用处,Intel的资料如下:

类型02的计算方法是 02所指定的16位地址,左移4位,再与00类型记录的地址相加,得到内存地址。

类型 03 也没有用处,资料如下:

大概是8086/80186有用吧。

⑤ 还剩4个类型,可以完全解读单片机生成的HEX文件了,如图下两张图所示:

第一条记录是 04 这个类型,它标记了写入内存地址的高16位。将数据域左移16位得到0x00020000,我们记住它,因为这个地址不再出现了,他是以后地址的高16位。

以后的几乎都是00这个类型,属于数据,它跟二进制bin文件是相同的,只是它是ASCII码。

第一条意思是:在地址是 0x0002C000的数据,有16个,分别是:

0x50 0x48 0x00 0x20 0x8D 0xC2 0x02 0x00 0x95 0xC2 0x02 0x00 0x97 0xC2 0x02 0x00

最后倒数第二条记录,类型是 05,可以解读地址是 0x0002C201,代表函数入口地址,参考Intel的资料,感觉对单片机也没用。

最后一条的类型是01,代表整个HEX文件结束.

下面的图是bin文件跟HEX文件的对比,可以看出bin文件跟HEX的00类型里面的数据域内容相同。

本文发布于:2024-02-03 01:30:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170689505747767.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件格式   学习心得   Intel   HEX
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23