【原创】hex格式理解
1赞
发表于 2015/11/7 18:56:37
阅读(2172)
1、hex文件是以“行”为单位的16进制文件,每行以冒号“:”开头,以回车换行符结束。
2、hex文件的每一行由以下因素组成:
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