大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是UDS请求传输退出0X37服务介绍,希望能对你有所帮助 。
一、请求传输退出服务介绍
这个诊断服务是客户端用来终止客户端和服务端之间的数据传输(上传或下载)
一般是配合0X34,0X36服务使用,主要用于UDS升级。 也会用于0X35服务请求上传服务的请求传输退出,但实际项目中一般用不到0X35服务,此处就不做详细介绍。
有一点需要注意,就是36服务传输的数据是反的。如果是执行了请求下载服务0X34,那传输的数据是在36服务的 请求消息 参数中;如果是执行了请求上传服务,那传输的数据是在36服务的 响应消息 参数中
二、数据格式介绍
2.1 请求报文
格式:
[SID] + [transferRequestParameterRecord]
transferRequestParameterRecord:传输请求参数记录
此参数记录包含服务器支持数据传输所需的参数。该参数的格式和长度由汽车制造商指定。
2.2 响应报文
正响应:
[SID + 0X40] + [transferResponseParameterRecord]
否定响应 :
格式:[0X7F] + [SID] + [NRC]
支持的NRC
三、UDS升级流程
UDS完整的升级流程如下
四、举例
来看一下刷写的流程,这里只举例刷写的关键流程,0X34,0X36,0X37服务
请求下载:
数据传输:
退出数据传输:
实际项目中的一个例子:
谢谢分享