Intel hex 文件格式

Intel hex 文件格式

 Intel hex 文件常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。
 Intel hex 文件全部由可打印的 ASCII 字符组成,如下例所示:

:2000000012014c75a800e4f508f509780a7a78e4f608dafcd283fcfded240af9a7050dbd81
:2000200000010ced2488ec34ff50edc283e4fcfded240af9e76d7013ed33e43c700d0dbd2a
:2000400000010ced2488ec34ff50e50509e50970020508e50924a8e50834fd50aee4f50874

 Intel hex 由一条或多条记录组成,每条记录都由一个冒号“ : ”打头,其格式如下:

:CCAAAARR...ZZ

其中:
CC
本条记录中的数据字节数

AAAA
本条记录中的数据在存储区中的起始地址

RR
记录类型:
 00 数据记录 (data record)
 01 结束记录 (end record)
 02 段记录 (paragraph record)
 03 转移地址记录 (transfer address record)

...
数据域

ZZ
数据域校验和

 Intel hex 文件记录中的数字都是 16 进制格式,两个 16 进制数字代表一个字节。 CC 域是数据域中的实际字节数,地址、记录类型和校验和域没有计算在内。校验和是取记录中从数据字节计数域 (CC) 到数据域 (...) 最后一个字节的所有字节总和的 2 的补码


Hex文件的
INTEL格式:这是
Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数
据使用
16进制数字表示.
这是一个例子:
:10008000AF5F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200FE10D2AA00477D81
:0B00A00080FA92006F3600C3A00076CB

:00000001FF
第一行,":"符号表明记录的开始. 后面的两个字符表明记录的长度,这里是
10h. 后面的四个字
符给出调入的地址,这里是
0080h. 后面的两个字符表明记录的类型;


0 数据记录 1 记录文件结束 2 扩展段地址记录 3 开始段地址记录 4 扩展线性地址记录 5
开始线性地址记录
后面则是真正的数据记录, 最后两位是校验和检查,它加上前面所有的数据和为
0.


最后一行特殊,总是写成这个样子.
扩展
Intel Hex的格式(最大
1M): 由于普通的
Intel的
Hex记录文件只能记录
64K的地址范围,
所以大于
64K的地址数据要靠扩展
Intel Hex格式的文件来记录.对于扩展形式
Hex文件,在每
一个
64K段的开始加上扩展的段地址规定,下面的数据地址均在这个段内,除非出现新的段地址
定义.


一个段地址定义的格式如下
:
起始符长度起始地址扩展段标示扩展段序号无用累加和


: 02 0000 02 3000 EC

段地址的标识符是第四组数据
02,表示扩展地址段的定义,再后面的以为
HEX数表示段的数目,
上面的定义为
3,表示段地址是
3,所以下面的数据地址是
3 + XX(XX是64K段内的地址)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值