crazybird

【原创】hex格式理解

1
阅读(2635)

1、hex文件是以“行”为单位的16进制文件,每行以冒号“:”开头,以回车换行符结束。

2、hex文件的每一行由以下因素组成:

hex格式.jpg

3、数据长度决定所要发送数据字节的个数。

4、偏移地址是数据所要存储的地方。

5、数据类型有以下6种:

    (00):记录数据;

    (01):文件结束;

    (02):扩展段地址的记录;

    (03):开始段地址的记录;

    (04):扩展线性地址的记录;

    (05):开始线性地址的记录。

6、数据是所要发送的内容。

7、校验码=数据长度、偏移地址、数据类型和数据中各个字节的累加和(不考虑进位)的补码。

8、由于偏移地址只有2BYTE,故只能存放64K数据。那么,当要存放更多的数据时,怎么办?这时,就要用到“(04):扩展线性地址的记录”,由此可得到一个基地址。基地址+偏移地址=数据存储的地址。例如:

 :020000040001F9
 :010003008A72

    由第一条记录可知,数据长度为2,偏移地址为0000,数据类型为(04),数据为0001即基地址为(0001<<16);由第二条记录可知,数据长度为1,偏移地址为0003,数据类型为(00),数据为8A,故数据存储的地址为(0001<<16)+ 0003 = 00010003。

9、hex文件结束标示为:

 :00000001FF