收藏 分享(赏)

HEX文件编码格式解析.doc

上传人:精品资料 文档编号:11147955 上传时间:2020-02-09 格式:DOC 页数:2 大小:29.50KB
下载 相关 举报
HEX文件编码格式解析.doc_第1页
第1页 / 共2页
HEX文件编码格式解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

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

2、D75812B02004A02 D62 :10001000008FE493A3F8E493A34003F68001F208713 :10002000DFF48029E493A3F85407240CC8C333C4354 :10003000540F4420C8834004F456800146F6DFE4A05 :10004000800B01020408102040809000C2E47E01716 :100050009360BCA3FF543F30E509541FFEE493A3137 :1000600060010ECF54C025E060A840B8E493A3FAF78 :10007000E

3、493A3F8E493A3C8C582C8CAC583CAF0B19 :10008000A3C8C582C8CAC583CADFE9DEE780BEE43216 :0700F0001F70F31E80F022D717 :00000001FF面对这一大串的十六进制码,有没有头昏眼花的感觉呢?别急别急,经过本文的介绍,你一定会爱上这个会让你头昏眼花的机器码的!首先我们先介绍 HEX 文件的编码格式,举范例程序中第一行说明:: 10 0000 00 020003787FE4F6D8FD75812B02004A02 D61 2 3 4 5 6为了方便解说,笔者将原始码以空格区分成六个部分,在实际转换的

4、原始内容应该没有空格也没有行号的。第 1 部分是 HEX 文件的起始格式,文件一开始应该是一个冒号作为起点;第 2 部分的两码(10H)所代表的是该行总共具备多少个字节的数据,以本行为例,应该有 16 个字节,因为 10H 换算成十进制应该是 16;第 3 部分的四码所代表的是放置数据的开始位置,换句话说,本行的数据应该是放置在0000H000FH 这段地址中;第 4 部分的两码是检查码,所代表的是该行数据类型。00 -数据记录 01 -文件结束记录02 -扩展段地址记录04 -扩展线性地址记录这里就是 0x00 即为普通数据记录。首先我们只处理数据类型为 0x00 及 0x01 的情况。0x

5、02 表示对应的存储地址超过了 64K,由于我的编程器只针对 64K 以下的单片机,因此在次不处理,0x04 也是如此。00 Data Record01 End of File Record02 Extended Segment Address Record03 Start Segment Address Record04 Extended Linear Address Record05 Start Linear Address Record第 5 部分则为数据存放区,总共 32 码 16 个字节,有兴趣的可以实际算算看,这里的机器码已经是标准的 MCS-51 指令,如果查表的话可以直接知道其

6、功能,稍后的文章会再提到;第 6 部分为校验值。什么叫做校验值?所谓的校验值是一种标准的校验码,把它加在每一行机器码的最后,可以使每一行所有的十六进制值(两个为一组 ),加总后所得到最后两位十六进制码应为 00H,如果你不太会十六进制运算的话,没关系,Windows 中有一个很好用的工具叫“计算器”,你可以切换到科学型计算的十六进制模式,将数值直接输入,它就会自动帮你算好了。以本例来说,将所有的值相加所得到的值应该是: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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报