0x34RequestDownload请求下载

0x34RequestDownload

客户端请求协商从客户端到服务器的数据传输。
客户端使用requestDownload服务来启动从客户端到服务器的数据传输(下载) 。
服务器收到requestDownload请求消息后,服务器应在发送肯定响应消息之前采取所有必要的操作来接收数
据。

请求格式:

参数说明:

dataFormatIdentifier
这 个 数 据 参 数 是 一 个 字 节 值 , 每 个 半 字 节 分 开 编 码 。 高 半 字 节 指 定 “ compressionMethod” , 低 半 字 节 指 定
“encryptingMethod”。 值0x00指定既不使用compressionMethod也不使用encryptingMethod。 0x00以外的值是车辆制
造商特定的。
addressAndLengthFormatIdentifier
该参数是一个字节值,每个半字节分开编码(参见H.1的示例值) :
7 - 4: memorySize参数的长度(字节数)
3 - 0: memoryAddress参数的长度(字节数)
memoryAddress
参数memoryAddress是要写入数据的服务器内存的起始地址。 用于该地址的字节数由addressAndLengthFormatIdentifier
的低半字节(bit 3-0)定义。 memoryAddress参数中的字节#m始终是服务器中引用地址的最低有效字节。 地址的最高
有效字节可用作存储器标识符。
使用内存标识符的一个例子是具有16位寻址和内存地址重叠的双处理器服务器(当给定地址对任一处理器有效但是产生
不同的物理内存设备或使用内部和外部闪存时)。 在这种情况下,可以将memoryAddress参数中另外未使用的字节指定为
用于选择所需存储器设备的存储器标识符。 该功能的使用应该由车辆制造商/系统供应商定义。
memorySize
服务器应使用此参数来比较内存大小与传输数据服务期间传输的总数据量。 这增加了编程安全性。 用于此大小的字节数由addressAndLengthFormatIdentifier的高半字节(第7 - 4位)定义。 如果使用数据压缩,则无论内存大小是否表示压
缩或未压缩大小,都是车辆制造商特定的。

正向响应:


在这里插入图片描述

maxNumberOfBlockLength:
该参数用于requestDownload正响应消息通知客户端有多少数据要包含在来自客户端的每个 TransferData 请求消息中的字节数 (maxNumberOfBlockLength)。这个长度反映完整的消息长度,包括服务标识符和数据参数传输数据请求消息。该参数允许客户端适应服务器的接收缓冲区大小在它开始向服务器传输数据之前。服务器需要接受相等的 transferData 请求长度为其报告的 maxNumberOfBlockLength。 transferData 请求的长度更少是服务器特定的比 maxNumberOfBlockLength 被接受(如果有的话)。给定块中的最后一个 transferData 请求可以是必须小于 maxNumberOfBlockLength。不允许服务器写入额外的数据字节(即填充字节)不包含在 transferData 消息中(无论是压缩格式还是未压缩格式),因为这会影响后续 transferData 请求数据写入的内存地址。(说白就是不能超过这个长度,这个参数表示ECU所支持的最大写入数据块长度,即一次可以写入的最大字节长度。这个值告知诊断工具,在发送WriteMemoryByAddress请求时,每次写入数据的最大字节数不应超过此限制。遵循这个限制有助于确保通信过程中的数据传输稳定性和可靠性。)
负向响应:
支持的否定响应码

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小昭dedug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值