顺的网站建设咨询,实时热点新闻,咨询公司成本费用包括哪些内容,三维家官网在线设计本文框架 1. hex文件格式1.1 数据长度1.2 地址域1.3 数据类型1.4 数据域1.5 CRC校验域 本文对hex文件格式进行解析#xff0c;介绍各部分组成及其含义#xff0c;在此mark下#xff0c;方便后续开发脚本对hex文件进行操作。 1. hex文件格式
Intel HEX文件是由一行行符合Int… 本文框架 1. hex文件格式1.1 数据长度1.2 地址域1.3 数据类型1.4 数据域1.5 CRC校验域 本文对hex文件格式进行解析介绍各部分组成及其含义在此mark下方便后续开发脚本对hex文件进行操作。 1. hex文件格式
Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据[百度百科]。 Intel HEX由任意数量的十六进制记录组成。每个记录包含5个域它们按以下格式排列 :llaaaatt[dd…]cc 从“”后依次为数据长度、地址、数据类型、数据内容及CRC校验值信息。
1.1 数据长度
ll 是数据长度域代表记录当中数据字节(dd)的数量。 在上图红圈②中即表示有16个Byte的数据长度。
1.2 地址域
aaaa 是地址域代表记录当中数据的起始地址。 需要注意需要在扩展线性地址基础上偏移后才是最终的地址。
1.3 数据类型
tt 是代表HEX记录类型的域可能是以下数据当中的一个:
类型含义00数据记录即本行携带的有数据信息01文件结束记录在hex文件的末尾出现02扩展段地址记录04扩展线性地址记录后续的地址需在此基础上偏移直到遇到下一个扩展线性地址记录
1.4 数据域
dd 是数据域它代表一个字节的数据。一个记录可以有许多数据字节.记录当中数据字节的数量必须和数据长度域(ll)中指定的数字相符。
1.5 CRC校验域
cc 是校验和域表示这个记录的校验和。 校验和的计算是通过将记录当中所有十六进制编码数字对的值相加以256为模进行以下补足。
计算示例 在上图中第二行CRC前所有数据的和 0x100xEF0x800xA50xA50xA50xA50x01 0x414 1044 checksum 256 - sum_of_hex % 256 236 0xEC