HEX文件编码格式解析.doc

HEX文件编码格式解析.doc

ID:49077866

大小:29.50 KB

页数:2页

时间:2020-02-28

HEX文件编码格式解析.doc_第1页
HEX文件编码格式解析.doc_第2页
资源描述:

《HEX文件编码格式解析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、标题:HEX文件解析2012-07-1818:17:58HEX文件解析                         HEX格式文件以行为单位,每行由“:”(0x3a)开始,以回车键结束(0x0d,0x0a)。行内的数据都是由两个字符表示一个16进制字节,比如”01”就表示数0x01;”0a”,就表示0x0a。对于16位的地址,则高位在前低位在后,比如地址0x010a,在HEX格式文件中就表示为字符串”010a”。<0x3a>[数据长度1Byte][数据地址2Byte][数据类型1Byte][数据nByte][校验1Byte]<0x0d><0x0a> Exa

2、mple.hex行号  原始码1  : 10 0000 00 020003787FE4F6D8FD75812B02004A02 D62  :10001000008FE493A3F8E493A34003F68001F208713    :10002000DFF48029E493A3F85407240CC8C333C4354  :10003000540F4420C8834004F456800146F6DFE4A05    :10004000800B01020408102040809000C2E47E01716  :100050009360BCA3FF543F30E

3、509541FFEE493A3137  :1000600060010ECF54C025E060A840B8E493A3FAF78  :10007000E493A3F8E493A3C8C582C8CAC583CAF0B19  :10008000A3C8C582C8CAC583CADFE9DEE780BEE43216  :0700F0001F70F31E80F022D717  :00000001FF面对这一大串的十六进制码,有没有头昏眼花的感觉呢?别急别急,经过本文的介绍,你一定会爱上这个会让你头昏眼花的机器码的!首先我们先介绍HEX文件的编码格式,举范例程序中第

4、一行说明: : 10 0000 00 020003787FE4F6D8FD75812B02004A02 D61 2  3   4                                5 6为了方便解说,笔者将原始码以空格区分成六个部分,在实际转换的原始内容应该没有空格也没有行号的。第1部分是HEX文件的起始格式,文件一开始应该是一个冒号作为起点;第2部分的两码(10H)所代表的是该行总共具备多少个字节的数据,以本行为例,应该有16个字节,因为10H换算成十进制应该是16;第3部分的四码所代表的是放置数据的开始位置,换句话说,本行的数据应该是放置在00

5、00H~000FH这段地址中;第4部分的两码是检查码,所代表的是该行数据类型。00----数据记录   01----文件结束记录02----扩展段地址记录04----扩展线性地址记录这里就是0x00即为普通数据记录。首先我们只处理数据类型为0x00及0x01的情况。0x02表示对应的存储地址超过了64K,由于我的编程器只针对64K以下的单片机,因此在次不处理,0x04也是如此。'00'DataRecord'01'EndofFileRecord'02'ExtendedSegmentAddressRecord'03'StartSegmentAddressRecor

6、d'04'ExtendedLinearAddressRecord'05'StartLinearAddressRecord第5部分则为数据存放区,总共32码16个字节,有兴趣的可以实际算算看,这里的机器码已经是标准的MCS-51指令,如果查表的话可以直接知道其功能,稍后的文章会再提到;第6部分为校验值。什么叫做校验值?所谓的校验值是一种标准的校验码,把它加在每一行机器码的最后,可以使每一行所有的十六进制值(两个为一组),加总后所得到最后两位十六进制码应为00H,如果你不太会十六进制运算的话,没关系,Windows中有一个很好用的工具叫“计算器”,你可以切换到科学

7、型计算的十六进制模式,将数值直接输入,它就会自动帮你算好了。以本例来说,将所有的值相加所得到的值应该是:10H+00H+00H+00H+02H+00H+03H+78H+7FH+E4H+F6H+D8H+FDH+75H+81H+2BH+02H+00H+4AH+02H+D6H=700H最后两个码果然为00H,有兴趣的人可以把范例中的每一行都算算看,结果一定都是这样的。每个HEX格式的最后一行都是固定为::00000001FF

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。