UDS服务 0x36服务TransferData相关
一、数据传输错位引起31服务checksum error
1 排查方法
1.1 直接查看报文:
1.2 查看flash对应地址的数据:(通过其他方式传输出来can/usart)
1.3 由此查看34服务的肯定回复:
此处0x10的高位4位表示为maxNumberOfBlockLength有效字节长度,低4bit保留为0.
此处0x22表示0x36服务一次传输一个block的最大的字节数。如:maxNumberOfBlockLength=0x22,则应用层36服务一次最多发送字节数为0x22(字节数:0x22 - 0x02(0x36 0x01/02/03…)),0x20为8的倍数,数据正好不会错位。
原先的0x80会引起数据错位,导致31服务在checksum的时候报错!