怎么样建立网站方案,苏州做网站哪家比较好,全国物流网站有哪些平台,商务网站开发实验一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式#xff0c;通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据#xff0c;每一行以冒号开头#xff0c;包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程…一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据每一行以冒号开头包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程序存储器的编程比如将代码下载到微控制器中。他是电控数据管理中最终的转换文件把次文件刷写到ECU寄存器中。
二、HEX格式和A2L格式文件 HEX 文件包含 ECU电子控制单元的二进制代码用于将程序下载到 ECU 的存储器中。 A2L 文件用于描述 ECU 的参数例如标定变量的位置、类型等以便进行标定和测量。 A2L 文件和 HEX 文件可能会一起使用。A2L 文件提供了对 ECU 参数的描述而 HEX 文件包含了这些参数所在的程序代码。
三、HEX格式架构解析 如图所示HEX文件每一行均以“:”开头表明记录的开始“”之后,每至少2个字符表示一组16进制数据格式形如:BBAAAATTHHHH....HHHCC。
BB表示此行数据长度字节数也就是HHHHH的数量AAAA表示数据记录的地址根据类型不同分别 基地址、段地址或者偏移地址TT表示记录类型 00本行是数据记录01HEX文件结束02标识扩展段地址记录后面所有数据地址需要加上段地址左移4位03开始段地址记录04标识扩展线性地址记录-后面所有数据地址线性地址左移16位将该地址左移16 位后作为基地址并且表示在下一个04类型行出现之前都要使用该地址作为基地址05开始线性地址记录 HHHH....HHH字节顺序根据芯片大小端和字长决定 此处根据A2L文件中的 mod_common 中的BYTE_ORDER 来判断如何读取CC本行的校验码每次更新都要重新计算
四、HEX文件示例
:02000004801B5F
:20000000C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C380
:20002000C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C360
:20004000C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C340
:00000001FF :02000004801B5F :20000000C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C380 :20002000C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C360 :00000001FF
针对这段HEX中的代码来做一次解析
第一行02带标数值长度也就是 801B0000是基地址04表示需要把后面的做左移动16位即801B0000
第二行20表示数值长度00说明这行是数据也就是 C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3这段数据的存储地址即为801B0000 至 801B0020
第二行20表示数值长度00说明这行是数据也就是 C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3C3这段数据的存储地址即为801B0020 至 801B0040
第三行 :00000001FF 表示结束 总结以下根据A2L文件的mod_common 中的BYTE_ORDER 来判断如何读取随后根据A2L变量的文件地址找到对应HEX中的文件地址比如 A 变量在 A2L文件中的地址为801B0020开始我们找到801B的地址段随后向下遍历找到0020开始数据读写操作。