IntelHEX格式说明.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IntelHEX格式说明

Intel HEX格式Intel HEX文件是记录文本行的ASCII文本文件在Intel HEX文件中,每一行是一个HEX记录由十六进制数组成的机器码或者数据常量Intel HEX文件经常被用于将程序或数据传输存储到ROMEPROM。大多数编程器和模拟器使用Intel HEX文件Intel HEX文件由若干个数据记录组成一数据记录ASCII码以一个回车和一个换行结束回车为0x0d换行为0x0a每条记录有个域下面是一个记录的格式:llaaaatt[dd...]cc 字符 : ll aaaa tt [dd…] cc 英文描述 RECORD MARK LOAD RECLEN OFFSET RECTYP INFO or DATA CHKSUM 区域 冒号为 起始标志 长度域 length 地址域 address 类型域 type 数据域 data 校验和域 check sum 字节长度 1 byte 1 byte 2 bytes 1 byte N bytes 1 byte 每一组字母是独立的一域,每一个字母是一个十六进制数字,每一域至少由两个十六进制数字组成,下面是字节的描述: ? ? 冒号是每一条Intel HEX记录 ll 是这条记录的长度域,表示dd…]的字节 aaaa 是地址域,表示数据的起始地址 如果是数据记录,这表示将要烧录的这条记录中的数据在EPROM中的偏移地址, 对于不支持扩展段地址和扩展线性地址的,如89C51,这就是此条记录的起始地址 tt 表示这条HEX记录的类型,有种类型 00 ----数据记录 ? ? ??Data Record (8-, 16-, or 32-bit formats) 01 ----文件结束记录End of File Record(8-, 16-, or 32-bit formats) 02 ----扩展段地址记录Extended Segment Address Record(16- or 32-bit formats) 03-----起始段地址记录 Start Segment Address Record(16- or 32-bit formats) 04-----扩展线性地址记录Extended Linear Address Record(32-bit format only) 05-----起始线性地址记录 Start Linear Address Record(32-bit format only) dd ? 是数据域,表示一个字节的数据,一个记录可能有多个数据字节,ll域的 cc ? 是效验和域表示记录的效验和计算方法是将本条记录冒号开始的所有字母对不包括效验字和冒号所表示的十六进制数字一对字母表示一个十六进制数都加起来然后模除256得到余数最后求出余数的补码即是本效验字节cc. 必须注意的是,此处的补码是将余数的8bit二进制数所有位取反,然后加1。也就是 最高位不管是0还是1,都要取反。 某一条记录的校验和计算过程: 第一步,求该行各字节数字的和(不包括冒号,不包括最后一个字节即校验和本身) 第二步,模除256 第三步,各位取反 第四步,加1即得到校验和 例如: :0300000002005E9D 校验和cc=0x01+NOT((0x03+0x00+0x00+0x00+0x02+0x00+0x5E) % 0x100) =0x01+NOT(0x63 % 0x100) =0x01+NOT(0x63) =8’b1+8’b1001_1100 =8’b1001_1101 =8’h9D 3.1.数据记录 (8-, 16-, or 32-bit formats) 字符 : ll aaaa tt [dd…] cc 英文描述 RECORD MARK RECLEN LOAD OFFSET RECTYP ‘00’ DATA CHKSUM 区域 冒号为 起始标志 长度域 length 地址域 address 类型域 type 数据域 data 校验和域 check sum ASCII : 固定为00 16进制 3A 3030 字节长度 1 byte 1 byte 2 bytes 1 byte N bytes 1 byte RECORD MARK 该区域为‘:’的ASCII编码,其16进制数为8‘h3A。 RECLEN 该区域使用2个ASCII编码的16进制数字来表示数据域的字节个数。最大值为 0xFF或 H 4646 (十进制255)。 LOAD OFFSET 该区域使用4个ASCII编码的16进制数字来表示数据域的第一个数据存放的偏移 地址。 RECTYP ASCII编码字符为00,其16进制编码为H3030,它指示该文件记录

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档