8.20 写入内存 WriteMemoryByAddress (3Dh)
此服务用于将记录值写入ECU内存。数据位置和数据块大小由Memory Address和Memory Size参数 定义。 AddressAndLengthFormatIdentifier值要求使用24h。
8.20.1 报文格式
表 84 写入内存服务的请求报文
Byte | Name | Cvt | Value (Hex) |
#1 | RequestServiceIdentifier | M | 3D |
#2 | AddressAndLengthFormatIdentifier | M | 24 |
#3 #4 #5 #6 | MemoryAddress[]=[ byte#1(MSB) byte#2 byte#3 byte#4] | M | 00-FF |
#7 #8 | MemorySize[]=[ byte#1(MSB) byte#2] | M | 00-FF |
#n-(r- 1) … #n | Datarecord[]=[ data#1 … data#r] | M …U | 00-FF |
表 85 写入内存服务的肯定响应
Byte | Name | Cvt | Value (Hex) |
#1 | PositiveResponseServiceIdentifier | M | 7D |
#2 | AddressAndLengthFormatIdentifier | M | 24 |
#3#4#5 #6 | MemoryAddress[]=[ byte#1(MSB) byte#2 byte#3 byte#4] | M | 00-FF |
#7 #8 | MemorySize[]=[ byte#1(MSB) byte#2] | M | 00-FF |
8.20.2 支持的否定响应
表 86 写入内存服务的否定响应码
Hex | Cvt | ErrorText |
13 | M | 报文长度错误 如果报文长度错误,发送此否定响应码。 |
22 | U | 条件不满足 如果ECU的操作条件不满足执行相应动作的要求,发送此否定响应码。 |
31 | M | 如下情况时,发送此否定响应码: 1.存储地址位于区间[$MA,($MA+$MS-$1)]中无效; 2.存储地址位于区间[$MA,($MA+$MS-$1)]中受限制; 3.请求报文中memorySize参数值大于ECU所支持最大值; 4.指定的addressAndLengthFormatIdentifier无效。 |
33 | M | 安全访问拒绝 如果在区间[$MA,($MA+$MS-$1)]中的存储地址受保护,并且ECU锁定,发送此 否定响应码。 |
72 | M | 一般编程错误 如果ECU向存储单元中写数据时监测到错误,发送此否定响应码。 |
8.20.3 参数定义
参数“内存地址” (MemoryAddress)长度为4字节。
此地址可以代表ECU内的物理地址,也可以被映射(例如,高位用于实现存储区选择)。如果地址 不是物理地址而是映射地址,映射关系应记录在ECU的诊断文档中。
参数“内存大小” (MemorySize)长度为2字节。
8.20.4 执行规定
ECU应通过安全访问机制进行直接内存访问。
8.21 诊断设备在线 TesterPresent (3Eh)
此服务用于告知电控单元测试工具仍在线。该服务需周期性发送,用于重置S3server计时器并维持 当前激活的非默认诊断会话。
8.21.1 报文格式
表 87 诊断设备在线服务的请求报文
Byte | Name | Cvt | Value (Hex) |
#1 | RequestServiceIdentifier | M | 3E |
#2 | ZeroSubFunction | M | 00/80 |
表 88 诊断设备在线服务的肯定响应
Byte | Name | Cvt | Value (Hex) |
#1 | PositiveResponseServiceID | M | 7E |
#2 | ZeroSubFunction | M | 00 |
8.21.2 支持的否定响应
表 89 诊断设备在线服务的否定响应码
Hex | Cvt | ErrorText |
12 | M | 子功能不支持 如果子功能参数不支持,发送此否定响应码。 |
13 | M | 报文长度错误 如果报文长度错误,发送此否定响应码。 |
8.21.3 参数定义
表 90 子功能参数定
Hex | Description | Cvt |
00 | ZeroSubFunction 此参数值用于指示此服务不支持 suppressPosRspMsgIndicationBit 外的其他 子功能。 | M |
01-7F | IS0 预留 | M |
8.21.4 执行规定
此服务没有特殊的执行规定。