【汽车ECU电控数据管理篇】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:本行是数据记录
    • 01:HEX文件结束
    • 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带标数值长度,也就是 801B,0000是基地址,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,开始数据读写操作。

相关推荐
紧固视界1 天前
全球汽车紧固件产业进入关键转型期,中国供应链加速融入世界市场
汽车·轨道交通·紧固件·建筑工程
虹科Pico汽车示波器1 天前
汽车免拆诊断案例 | 2010 款北京现代伊兰特车发动机怠速抖动
汽车·汽车示波器·怠速抖动·发动机故障·北京现代·相对压缩测试·进排气脉动
WD137298015572 天前
WD5030A,24V降5V,15A 大电流,应用于手机、平板、笔记本充电器
stm32·单片机·嵌入式硬件·智能手机·汽车·电脑·51单片机
MOS管-冠华伟业2 天前
WSD4023DN56:汽车智能座椅电源管理双芯方案
汽车
虹科Pico汽车示波器2 天前
汽车免拆诊断案例 | 2014 款宝马 M4 车冷起动后发动机抖动
汽车·汽车示波器·发动机抖动·发动机故障·宝马m4·冷启动失火·混合气过浓
Altair澳汰尔2 天前
新闻速递丨Altair 与 Gordon Murray Group 携手开发创新超级轻量化平台
汽车·仿真·cae·hyperworks·汽车轻量化·c123
Dongsheng_20193 天前
【汽车篇】AI深度学习在汽车轮胎X-ray缺陷检测应用方案
人工智能·深度学习·汽车
MOS管-冠华伟业4 天前
WST4045:汽车阅读灯智能高边开关
汽车
罗宇超MS4 天前
新能源汽车公司如何落地 ASPICE
科技·汽车·团队开发
xiaofei5580084 天前
CAN 波特率的几个参数说明和计算方式(以STM32为例)
单片机·嵌入式硬件·汽车