HEX文件格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HEX文件格式相关的知识,希望对你有一定的参考价值。
:0400000500001D6971
:046000003A68A1DF7A
:086004003CF4C789D7198ECCCA
:06600C00C4862C1F3200C7
:00000001FF
哪位大哥能帮我分析下这个HEX文件
HEX文件的基本格式我懂,但是这个的记录类型是05,我就不清楚了,哪位能帮忙下,急用!
由十六进制数组成的机器码或者数据常量。
格式为:
: LL AAAA TT DD...DD CC
其中共六部分
:冒号 是每一条Intel HEX记录的开始
LL 是这条记录的长度域,他表示数据(dd)的字节数目.
AAAA 是地址域,他表示数据的起始地址
TT这个域表示这条HEX记录的类型,他有可能是下面这几种类型
00 ----数据记录
01 ----文件结束记录
02 ----扩展段地址记录
04 ----扩展线性地址记录
DD是数据域,表示一个字节的数据,一个记录可能有多个数据字节,字节数目可以 查看LL域的说明
CC 是效验和域,它表示这个记录的校验和。校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256为模进行以下补足。
参考资料:http://hi.baidu.com/572info/blog/item/73a6b83cf3317b2c70cf6c9a.html
参考技术A '05'的类型指 Start Linear Address Record具体的意思是说,这个类型(05 type)记录里面的数据域的内容要写进EIP 寄存器里边。这样的目的是为了在ISP编程之后,程序能够立刻开始执行。详情可以参考维基百科里边的介绍。 参考技术B 第四字节表示数据类型,数据类型有:0x00、0x01、0x02、0x03、0x04、0x05。
'00' Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录
'01' End of File Record:用来标识文件结束,放在文件的最后,标识HEX文件的结尾
'02' Extended Segment Address Record:用来标识扩展段地址的记录
'03' Start Segment Address Record:开始段地址记录
'04' Extended Linear Address Record:用来标识扩展线性地址的记录
'05' Start Linear Address Record:开始线性地址记录 参考技术C hex是十六进制文件,是一些代码。不可以转成C。即使能转成汇编也不一定是原来程序的原意。
以上是关于HEX文件格式的主要内容,如果未能解决你的问题,请参考以下文章