十六进制文件格式

上传人:子 文档编号:41827260 上传时间:2018-05-31 格式:DOC 页数:4 大小:43.50KB
返回 下载 相关 举报
十六进制文件格式_第1页
第1页 / 共4页
十六进制文件格式_第2页
第2页 / 共4页
十六进制文件格式_第3页
第3页 / 共4页
十六进制文件格式_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《十六进制文件格式》由会员分享,可在线阅读,更多相关《十六进制文件格式(4页珍藏版)》请在金锄头文库上搜索。

1、HEX 格式内容含义HEX 文件格式是我们经常遇到的一种文件格式,因为几乎所有的编程烧录文件都为 HEX 格式。 首先,HEX 文件中是包含了地址信息的。这和 BIN 文件不同,BIN 文件中只包含了数据信 息。所以我们在烧写或者下载 HEX 文件的时候,一般不需要我们指定地址,但是在烧写 BIN 文件的时候,用户是一定要指定地址信息的。 二、HEX 文件都是由记录组成的。它的每一行都是一个记录来的。它是由任意数量的十六 进制数组成。每个记录包含五个域,它们以以下格式排列的: :aabbbbccddee 上面每一组不同的字母代表不同的一个域,每个字母代表一个十六进制的数字,每一个域 至少由两个

2、十六进制编码数字组成,每两个十六进制编码数字组成一个字节。具体描述如 下: 1、 每个 HEX 记录都由冒号开头; 2、 aa 表示这个记录中的数据长度域,它代表记录当中数据字节dd的字节数量。 3、 bbbb 是地址域,它代表记录当中数据的起始地址。 4、 cc 是代表 HEX 记录类型的域,它可能是以下数据当中的一个:00 数据记录 01 文件结束记录 02 扩展段地址记录 04 扩展线性地址记录 5、 dd 是数据域,它代表一个字节的数据,一个记录可以有许多数据字节。记录当中数据 字节的数量必须和数据长度域(aa)中指定的数字相符。 6、 ee 是校验和域,它表示这个记录的校验和。校验和

3、的计算是通过将记录当中所有十 六进制编码数字对的值相加,以 256 为模进行以下补足。 比如:前面 AduC7026 的 LED 实验中的 HEX 文件内容为: :020000040008F2 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 1 :1000000018F09FE518F09FE518F09FE518F09FE5C0 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2 :1000100018F09FE50000A0E118F09FE518F09FE5BB :100020004000080074030800700308006C

4、03080017 :100030006803080000000000640308006003080073 :1000400078009FE50110A0E3041480E50110A0E30F :10005000081480E5F410A0E30C1480E560009FE52F :10006000DBF021E300D0A0E1040040E2D7F021E37F :1000700000D0A0E1040040E2D1F021E300D0A0E1F3 :10008000040040E2D2F021E300D0A0E1800040E291 :10009000D3F021E300D0A0E104

5、0040E210F021E31E :1000A00000D0A0E11C009FE5010010E318E09F05CF :1000B00018E09F1510FF2FE1FEFFFFEAFEE7C046A4 :1000C0000000FFFF900401003D010800B800080097 :1000D000BD0008000000000000000000000000005B :1000E00000000000AA2108480160012107480160C2 :1000F0005522074802600748016000210648016058 :10010000F421064801

6、6070471004FFFF1404FFFF4C:100110001804FFFF0404FFFF0804FFFF0C04FFFFA7 :1001200004E005490A1C0139002AFBD1011C0138F1 :100130000029F6D17047C046E8030000664806C8AB :100140000B1C134305D000230B70491C9142FBD1BB :10015000F5E76248C01C0323984306C80B1C1343F1 :1001600006D00378401C0B70491C9142F9D1F1E78D :1001700000B

7、5FFF7B7FFF0235948016899430160C4 :10018000584A59480168114301600F2457480168D3 :10019000A1430160564C5748016821430160534810 :1001A0000168994301605348016811430160524A54 :1001B0004E48016891430160504A4E48016811431E :1001C00001604F4A49480168914301604D4A4948DE :1001D0000168114301604C4A4C4801689143016039 :100

8、1E0004B4A4C480168114301604B4A474801683B :1001F00091430160494A4748016811430160484AF8 :100200004248016891430160464A424801681143EF :1002100001604549454801604548FFF781FF454970 :10022000454801604248FFF77BFF3F494248016073 :100230003F48FFF775FF41493F4801603C48FFF7E1 :100240006FFF3F493C4801603948FFF769FF3D4

9、96E :100250003D4801603648FFF763FF3C493A4801607A :100260003348FFF75DFF3A49374801603048FFF7F0 :1002700057FF2D49374801602D48FFF751FF2D49A1 :10028000354801602A48FFF74BFF27493248016093 :100290002748FFF745FF29492F4801602448FFF709 :1002A0003FFF27492C4801602148FFF739FF2549C6 :1002B0002A4801601E48FFF733FF244

10、927480160A0 :1002C0001B48FFF72DFF2249244801601848FFF71B :1002D00027FF9EE700BDC046D4000800DC000800F0 :1002E00000F4FFFF0000000220F4FFFF0CF4FFFF0A :1002F0000000000150F4FFFF000F000000000004A8 :1003000000F000000000000800000F0008F4FFFFEC :100310000000001040F4FFFF0000F000000000208B :100320000000000F0000004

11、00000020024F4FFFF66 :100330002C0100000000010054F4FFFF0000040045 :10034000000008000000100044F4FFFF000020003F :100350000000400028F4FFFF58F4FFFF48F4FFFFBF :10036000FEFFFFEAFEFFFFEAFEFFFFEAFEFFFFEAF5 :08037000FEFFFFEAFEFFFFEAB9 :00000001FF 它的第二行为::1000000018F09FE518F09FE518F09FE518F09FE5C0 容易知道: 它的 ee 为

12、:C0,计算过程如下: C0=0x01+ not(0x10+0x00+0x00+0x00+0x18+0xF0+0xE5) 文件结束(EOF)记录Intel HEX 文件必须以文件结束(EOF)记录结束.这个记录的记录类型域的值必须是 01.EOF 记录外观总是如下: :00000001FF 其中: 00 是记录当中数据字节的数量。 0000 是数据被下载到存储器当中的地址.在文件结束记录当中地址是没有意义被忽略的。 0000h 是典型的地址。 01 是记录类型 01(文件结束记录) FF 是这个记录的校验和,计算方法如下: 01h + NOT(00h + 00h + 00h + 01h).。

13、扩展线性地址记录(HEX386) 扩展线性地址记录也叫作 32 位地址记录或 HEX386 记录.这些记录包含数据地址的高 16 位.扩 展线性地址记录总是有两个数据字节,外观如下: :02000004FFFFFC 其中: 02 是这个记录当中数据字节的数量. 0000 是地址域,对于扩展线性地址记录,这个域总是 0000. 04 是记录类型 04(扩展线性地址记录) FFFF 是地址的高 16 位. FC 是这个记录的校验和,计算方法如下: 01h + NOT(02h + 00h + 00h + 04h + FFh + FFh). 当一个扩展线性地址记录被读取,存储于数据域的扩展线性地址被保

14、存,它被应用于从 Intel HEX 文件读取来的随后的记录.线性地址保持有效,直到它被另外一个扩展地址记录所改变. 通过把记录当中的地址域与被移位的来自扩展线性地址记录的地址数据相加获得数据记录 的绝对存储器地址. 以下的例子演示了这个过程. 来自数据记录地址域的地址 2462 扩展线性地址记录的数据域 + FFFF- 绝对存储器地址 FFFF2462扩展段地址记录(HEX86) 扩展段地址记录也叫 HEX86 记录,它包括 4-19 位数据地址段.扩展段地址记录总是有两个数 据字节,外观如下: :020000021200EA 其中: 02 是记录当中数据字节的数量. 0000 是地址域.对

15、于扩展段地址记录,这个域总是 0000. 02 是记录类型 02(扩展段地址记录) 1200 是地址段. EA 是这个记录的校验和,计算方法如下: 01h + NOT(02h + 00h + 00h + 02h + 12h + 00h). 当一个扩展段地址记录被读取,存储于数据域的扩展段地址被保存,它被应用于从 Intel HEX 文件读取来的随后的记录.段地址保持有效,直到它被另外一个扩展地址记录所改变.通过把记录当中的地址域与被移位的来自扩展段地址记录的地址数据相加获得数据记录的 绝对存储器地址. 以下的例子演示了这个过程. 来自数据记录地址域的地址 2462 扩展段地址记录数据域 + 1200- 绝对存储器地址 00014462

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号