【AUTOSAR】UDS协议的代码分析与解读(十二)----UDS请求退出传输37h 请求文件传输 38h

8.18 请求退出传输 RequestTransferExit (37h)

诊断工具使用此服务终止诊断工具与 ECU 的数据传输。

8.18.1 报文格式

 81 请求退出传输服务的请求报文

Byte

Name

Cvt

Value  (Hex)

#1

RequestTransferExitRequestSID

M

37

#2

:

#n

transferRequestParameterRecord[]=[

transferRequestParamete#1

:

transferRequestParamete#m]

U

:

U

00-FF

00-FF

 82 请求退出传输服务的肯定响应

Byte

Name

Cvt

Value  (Hex)

#1

RequestTransferExitResponseSID

M

77

#2

:

#n

transferRequestParameterRecord[]=[

transferRequestParamete#1

:

transferRequestParamete#m]

U

:

U

00-FF

00-FF

8.18.2 支持的否定响应码

 83 请求退出传输服务的否定响应码

Hex

Cvt

ErrorText

13

M

incorrectMessageLengthOrInvalidFormat

如果报文长度错误,发送此否定响应码

24

M

requestSequenceError

以下情况发送此否定响应码

1.接收到此服务请求时编程进程没有完成。

2.请求下载或请求上传服务无效。

8.18.3 参数定义

服务无参数。

8.18.4 执行规定

此服务没有特殊的执行规定。

8.19 请求文件传输 RequestFileTransfer (38h)

诊断工具使用此服务来初始化从诊断工具到ECU的文件数据传输 (下载) 或者从ECU到诊断工具文 件数据传输 (上传)。

8.19.1 报文格式

 75 请求文件传输服务的请求报文

Byte

Name

Cvt

Value  (Hex)

#1

RequestFileTransfer Request SID

M

38

#2

modeOfOperation

M

01-05

#3

#4

filePathAndNameLength [

byte#1 (MSB)

byte#2 (LSB) ]

M

00 – FF

00 – FF

#5

:

#5+n- 1

filePathAndName = [

byte#1 (MSB)

:

byte#n ]

M

:

C1

00 – FF

:

00 – FF

#5+n

dataFormatIdentifier

C2

00 – FF

#5+n+1

fileSizeParameterLength

C2

00 – FF

#5+n+2

:

#5+n+2+k- 1

fileSizeUnCompressed= [

byte#1 (MSB)

:

byte#k ]

C2

:

C2,3

00 – FF

:

00 – FF

#5+n+2+k

:

#5+n+1+2k

fileSizeCompressed= [

byte#1 (MSB)

:

byte#k ]

C2

:

C2,3

00 – FF

:

00 – FF

C1:此参数的长度取决于filePathAndNameLength参数。

C2:此参数的存在取决于modeOfOperation参数。

C3:此参数的长度取决于fileSizeParameterLength参数。

 76 请求下载服务的肯定响应

Byte

Name

Cvt

Value  (Hex)

#1

RequestFileTransfer Response SID

S

78

#2

modeOfOperation

M

01-05

#3

lengthFormatIdentifier

C1

00 – FF

#4

:

#4+(m- 1)

maxNumberOfBlockLength = [

byte#1 (MSB)

:

byte#m ]

C1,2

:

C1,2

00 – FF

:

00 – FF

#4+m

dataFormatIdentifier

C1

00 – FF

#4+m+1

#4+m+2

fileSizeOrDirInfoParameterLength [

byte#1 (MSB)

byte#2 (LSB)]

C1

C1

00 – FF

00 – FF

#4+m+3

:

#4+m+3+k- 1

fileSizeUncompressedOrDirInfoLength= [

byte#1 (MSB)

:

byte#k ]

C1,3

:

C1,3

00 – FF

:

00 – FF

#4+m+3+k

:

#4+m+3+2k- 1

fileSizeCompressed= [

byte#1 (MSB)

:

byte#k ]

C1,3

:

C1,3

00 – FF

:

00 – FF

C1:此参数的存在取决于modeOfOperation参数。

C2:此参数的长度取决于fileSizeOrDirInfoParameterLength参数。

C3:此参数的长度取决于lengthFormatIdentifier参数。

8.19.2 支持的否定响应

 77 请求文件传输服务的否定响应码

Hex

Cvt

ErrorText

13

M

报文长度错

如果报文长度错误,发送此否定响应码

22

U

条件不满足

如果ECU在接收软件或标定模块的下载过程中收到请求,发送此否定响应 。这可能发生在模块下载时ECU和诊断工具的数据大小不匹配。

31

M

请求超出范围

下情况时,发送此否定响应码:

1.指定数据格式标识(dataFormatIdentifier)无效

2.指定操作模式标识(modeOfOperation)无效;

3.指定文件大小参数的长度(fileSizeParameterLength)无效;

4.指定文件路径与名字的长度(fileSizeParameterLength)无效;

5.指定未压缩文件大小(fileSizeUncompressed)无效;

6.指定压缩文件大小(fileSizeCompressed)无效;

7.指定文件路径与名字(filePathAndName)无效。

33

M

安全访问拒绝

如果接收此服的请求时ECU处于保护状态(ECU支持安全访问服务),发 否定响应码。

70

M

上传/下载操作拒绝

ECU由于某种故障而拒绝诊断工具的下载操作时,发送此否定响应码。

8.19.3 参数定义

此服务的参数求请参考ISO14229- 1 ,无特殊要求。

8.19.4 执行规定

此服务没有特殊的执行规定。

你可能感兴趣的:(安全,AUTOSAR,嵌入式硬件,诊断,linux,汽车)