Intel HEX
文件是记录文本行的
ASCII
文本文件
,
下面是
Intel HEX
文件格式
,
在
Intel HEX
文件中
,
每一行是一个
HEX
记录由十六进制数组成的机器码或者静态数
据
,Intel HEX
文件经常被用于将程序或数据传输存储到
ROM.EPROM,
大多数编程
器和模拟器使用
Intel HEX
文件
.
记录格式
:
一个
Intel HEX
文件可以包含任意多的十六进制记录
,
每条记录有五个域
,
下面是
一个记录的格式
.
:llaaaatt[dd...]cc
每一组字母是独立的一域
,
每一个字母是一个十六进制数字
,
每一域至少由两个十
六进制数字组成
,
下面是字节的描述
.
:?
冒号是每一条
Intel HEX
记录的开始
ll?
是这条记录的长度域
,
他表示数据
(dd)
的字节数目
.
aaaa?
是地址域
,
他表示数据的起始地址
<
如果是数据记录这表示将要烧录的这条
记录中的数据在
EPROM
中的偏移地址
,
对于不支持扩展段地址和扩展线性地址
的如
89C51,
这就是此条记录的起始地址
>
tt?
这个域表示这条
HEX
记录的类型
,
他有可能是下面这几种类型
00 ----
数据记录
<
要分清楚这几种记录类型
,
后面会经常出现
,
不要搞混了
>
01 ----
文件结束记录
02 ----
扩展段地址记录
04 ----
扩展线性地址记录
dd?
是数据域
,
表示一个字节的数据
,
一个记录可能有多个数据字节
,
字节数目可以
查看
ll
域的说明
cc?
是效验和域
,
表示记录的效验和
,
计算方法是将本条记录冒号开始的所有对字
母
<
不包括本效验字和冒号
>
所表示的十六进制数字
<
一对字母表示一个十六进