UDS 刷写文件 HEX 中的CAN报文转换
这个是在做 常州易控 刷写工具的时候写出的几个关键行数的转换
1 min read
:0200000480007A
:1000000000000000700059B3000000000000000074
:10001000000000000000000064B81E799B47E186E4
text:0200000480007A
text
:0200000480007A这一行是一个Intel HEX文件中的扩展线性地址记录。它不包含要写入目标设备的实际数据,而是设置后续数据记录的基地址。
- 长度:(2字节)text
02 - 地址:(对于这种类型的记录,地址字段通常被忽略)text
0000 - 类型:(扩展线性地址记录)text
04 - 数据:(这是一个16位的值,用于设置后续数据记录的基地址)text
8000 - 校验和:text
7A
在UDS固件更新过程中,这一行通常用于设置后续数据块的内存地址。在UDS中,这可能涉及到使用
text
0x34以下是一个示例的CAN报文,用于设置内存地址:
- CAN ID: 用于诊断请求的CAN标识符
- 数据:(text
02 34 44 80 00是数据长度,text02是Request Download服务ID,text34可能是一个标记来表示这是一个地址和长度,text44是扩展线性地址)text80 00
text:1000000000000000700059B3000000000000000074
text
:1000000000000000700059B3000000000000000074执行这行的数据在UDS固件更新过程中涉及到将数据块发送到ECU。这通常是在“请求下载”服务之后的“传输数据”阶段进行的。
这一行的内容是:
- 长度:(16字节)text
10 - 地址:text
0000 - 类型:(数据记录)text
00 - 数据:text
00000000700059B30000000000000000 - 校验和:text
74
在UDS中,发送这16字节的数据通常涉及到使用
text
0x36- 第一个报文可能是:
- CAN ID: 用于诊断请求的CAN标识符
- 数据:(这是一个多帧报文的第一帧,text
10 10 36 00 00 00 00 00 70 00表示第一帧,text10表示总长度是16字节,text10是Transfer Data服务ID,然后是数据的前两个字节)text36
- 接下来的报文可能是:
- CAN ID: 用于诊断请求的CAN标识符
- 数据:(这是多帧报文的第二帧,text
21 59 B3 00 00 00 00 00 00表示第二帧,然后是数据的下一部分)text21
- 最后一个报文可能是:
- CAN ID: 用于诊断请求的CAN标识符
- 数据:(这是多帧报文的第三帧,text
22 00 00 00 00 00 00 00表示第三帧,然后是数据的最后部分)text22
#UDS
#HEX.CAN
#KVASER
#ISO 14229