RequestDownload(0x34)—— 下载请求
这个服务主要是用来给ECU下载数据的,最常见的应用就是在bootloader中,程序下载工具会发起下载请求,以完成ECU程序的升级。
1.服务请求报文定义
图1 服务请求报文定义
Sub-Function:
本服务没有子服务。
服务请求报文中参数定义:
(1)dataFormatIdentifier
这个参数为1字节长度,高4位表示“compressionMethod”,低4位表示“encryptingMethod”(注:这里小编暂时不知道这两种Method是什么,貌似也没有用到,可以先存疑以后有了解再分享)。如果两种Method都没有用到,则值为0x00。
(2)addressAndLengthFormatIdentifier
这个参数也是1个字节的长度。
bit 7 - 4:参数memorySize的长度(Bytes)
bit 3 - 0:参数memoryAddress的长度(Bytes)
(3)memoryAddress
开始下载数据的起始位置的地址。
(4)memorySize
这个参数用来把传输数据和内存进行对比,这种操作增加了下载数据的安全性。
2.肯定响应
图2 肯定响应报文格式
参数定义:
(1)lengthFormatIdentifier
这个参数为1字节长度。
bit 7 - 4:参数maxNumberOfBlockLength的长度(Bytes)
bit 3 - 0:保留位,设为0 (2)maxNumberOfBlockLength
这个参数用来通知用户在每次数据传输请求中包含了多少字节的数据。
3.支持的NRC
图3 0x34服务支持的NRC
4.示例
由于0x34服务一般和0x36服务是配套使用的,在后续文章介绍0x36服务后,会一起进行示例展示。