UDS - 15.2 RequestDownload (34) service

news2024/12/24 7:21:40

15.2 请求下载(34)服务

来自:ISO 14229-1-2020.pdf

15.2.1 服务描述

客户机使用requestDownload服务发起从客户机到服务器的数据传输(下载)。
在服务器接收到requestDownload请求消息之后,服务器应该在发送积极响应消息之前采取所有必要的操作来接收数据。
重要:服务器和客户端必须满足8.7中规定的请求和响应消息行为。

15.2.2 请求消息

15.2.2.1 请求消息定义

表440指定了请求消息。

数据字节参数名称Cvt字节值助记符
#1请求下载的请求服务标识符M34RD
#2数据格式标识符M00到FFDFI_
#3地址和长度格式标识符M00到FFALFID
#4 : #(m-1)+4内存地址[]=[字节#1 (MSB):字节#m]M : C100到FF: 00到FFMA_B1 : MA_Bm
#n-(k-1) : #n内存大小[]=[字节#1 (MSB):字节#k]M : C200到FF: 00到FFMS_B1 : MS_Bk

注:

  • C1:这个参数的存在取决于addressAndLengthFormatIdentifier的地址长度信息参数。
  • C2:该参数的存在取决于addressAndLengthFormatIdentifier的内存大小长度信息。

15.2.2.2 请求消息子函数参数$Level (LEV_)定义

此服务不使用SubFunction参数。

15.2.2.3请求消息数据参数定义

表441指定了请求消息的数据参数。

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

15.2.3 积极响应信息

15.2.3.1 积极响应消息定义

表442指定了积极响应消息。
在这里插入图片描述
注:

  1. #1:请求下载响应服务标识符(RDPR),值为[74]
  2. #2:长度格式标识符(LFID),值为[00到F0]
  3. #3: #n:最大块长度=[字节#1 (MSB):字节#m](MNROB_ B1: Bm),值为[00到FF: 00到FF]

15.2.3.2 积极响应消息数据参数定义

表443指定了积极响应消息的数据参数。

定义
lengthFormatIdentifier
这个参数是一个字节值,每个半字节分别编码:
  • bit 7 - 4: maxNumberOfBlockLength参数的长度(字节数)。
  • bit 3 - 0: 由文档保留,设置为“0”。
    该参数的格式与请求消息中包含的addressAndLengthFormatIdentifier参数的格式兼容,除了下位的小口必须设置为’0’。
maxNumberOfBlockLength
requestDownload正向响应消息使用此参数来通知客户机在来自客户机的每个TransferData请求消息中包含多少数据字节(maxNumberOfBlockLength)。这个长度反映了完整的消息长度,包括服务标识符和TransferData请求消息中的数据参数。该参数允许客户端在开始向服务器传输数据之前适应服务器的接收缓冲区大小。服务器需要接受长度与其报告的maxNumberOfBlockLength相等的transferData请求。这是服务器特定的transferData请求长度小于maxNumberOfBlockLength被接受(如果有的话)。给定块中的最后一个transferData请求可以要求小于maxNumberOfBlockLength。服务器不允许写入不包含在transferData消息中的额外数据字节(即pad字节)(无论是压缩格式还是未压缩格式),因为这会影响后续transferData请求数据将写入的内存地址。

15.2.4 支持的消极响应码(NRC_)

本服务应实施以下消极响应代码。表444记录了每个响应代码发生的情况。如果错误场景适用于服务器,则列出的消极响应应使用。

NRC描述助记符
13incorrectMessageLengthOrInvalidFormat
如果信息长度错误,则应发送此NRC。
IMLOIF
22conditionsNotCorrect
如果服务器在下载软件或校准模块的过程中接收到此服务的请求,则应返回此NRC。如果在下载模块期间,服务器和客户端之间的数据大小不匹配,就会发生这种情况。
CNC
31requestOutOfRange
在下列情况下,应退还NRC:
  • 指定的dataFormatIdentifier无效。
  • 指定的addressAndLengthFormatIdentifier无效。
  • 指定的memoryAddress/memorySize无效。
ROOR
33securityAccessDenied
当收到对该服务的请求时,如果服务器是安全的(对于支持SecurityAccess服务的服务器),则应返回此NRC。
SAD
34authenticationRequired
如果数据标识符是安全的,并且客户端基于其身份验证状态没有足够的权限,则将发送此NRC。
AR
70uploadDownloadNotAccepted
此NRC表示由于某些故障条件,无法完成下载到服务器内存的尝试。
UDNA

计算序列如图31所示。
在这里插入图片描述

15.2.5 消息流示例

有关完整的消息流示例,请参见15.5.5。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用图像像素格式 NV12、NV2、I420、YV12、YUYV

文章目录目的RGBYUVYCrCb采样格式YUV 4:4:4 采样YUV 4:2:2 采样YUV 4:2:0 采样YUV 存储格式YUV422:YUYV、YVYU、UYVY、VYUYYUV420:I420、YV12、NV12,、NV21扩展目的 了解常用图像像素格式 RGB 和 YUV,像素格式描述了像素数据存储所用的格式,…

Spring MVC框架学习

前言:本篇博客将从三个方面来写我们要学习SpringMVC的什么: 连接:当用户在游览器中输入一个url之后,能将这个url请求映射到自己写的程序,也就是访问一个地址时,能够连接到门自己写的服务器. 获取参数:用户访问时如果带一些参数,我该怎样获取.返回数据:执行业务代码之后…

NVM实现一台电脑对node的多版本管理。

一、NVM:Node Version Management; 下载地址:Releases coreybutler/nvm-windows GitHubA node.js version management utility for Windows. Ironically written in Go. - Releases coreybutler/nvm-windowshttps://github.com/coreybutl…

JavaScript寒假系统学习之数组(一)

JavaScript寒假系统学习之数组(一)一、数组1.1 什么是数组1.2 数组创建的2种方式1.2.1 利用new创建数组1.2.2 利用数组字面量创建数组1.3 访问数组元素1.4 遍历数组1.5 数组实战训练1.5.1 计算数组的和以及平均值1.5.2 求数组中的最大值1.5.3 数组转化为…

使用Qemu在Windows上模拟arm平台并安装debian10 arm系统(cd镜像) 安装记录

参考:使用Qemu在Windows上模拟arm平台并安装国产化操作系统_viyon_blog的博客-CSDN博客_qemu windows 镜像:debian-10.12.0-arm64-xfce-CD-1.iso 环境:qemu虚拟机,宿主机win10,amd64 QEMU_EFI.fd: (298条消息) qemu虚拟机的bi…

N皇后问题-leetcode51-java回溯解+详细优化过程

说明:问题描述来源leetcode 一、问题描述: 51. N 皇后 难度困难1592 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之…

实验八、直接耦合多级放大电路的调试

一、题目 两级直接耦合放大电路的调试。 二、仿真电路 图1(a)所示电路为两级直接耦合放大电路,第一级为双端输入、单端输出差分放大电路,第二级为共射放大电路。 由于在分立元件中很难找到在任何温度下均具有完全相同特性的两只晶体管,因而…

Active Directory 基础 —— 如何理解group的类型

因为创建一个跨域的组,重新温习了一下最基本的AD知识,所谓温故而知新,把温习的结果整理了一下。AD里面的group类型从范围来说分为global, universal 和 local domain, 从类型来分分为security和distribution。后面的类型理解很容易,security就是纯粹用来权限访问的,而dist…

Java实现FIFO、LRU、LFU、OPT四页面置换算法

题目要求 采用多道程序思想设计一个程序,模拟页存储管理地址变换的过程,可采用FIFO、LRU、LFU、OPT四页面置换算法。基本要求如下: 需要建立访问页表线程、访问快表线程、缺页中断处理线程、访问内存线程等,协同这些线程模拟完成…

JDK17升级之路:JCE cannot authenticate the provider BC问题

问题的产生 报错代码运行环境 JDK:Oracle JDK17 CentOS7.8 这个问题刚拿到比较棘手。原因是本地windows是OK的,centos上是不成功的,报了下面的错误: Caused by: java.lang.SecurityException: JCE cannot authenticate the provi…

论文阅读 DeepGCNs: Can GCNs Go as Deep as CNNs?

DeepGCNs: Can GCNs Go as Deep as CNNs?绪论1、介绍2、相关工作3、方法3.1、图神经网络的表针学习3.2、图神经网络的残差结构3.3、图神经网络的密集连接3.4、图神经网络的扩张性聚集绪论 CNN很强,但不能正确解决非欧几里得数据的问题,图卷积网络&…

YOLO-V5 系列算法和代码解析(五)—— 损失函数

文章目录基本简介调试准备损失函数基本简介 损失函数是神经网络的重要组成部分,用于评估网络的预测值和真实值的差异度。根据偏差的大小,反向调整网络的训练参数,迭代优化使得损失尽量小,也就得到最优的网络参数。 调试准备 debu…

Go-学生教务管理系统【无界面 / 离线版】(一)

【Go】学生教务管理系统(无界面 / 离线版)(一)Ⅰ. 程序说明一、博客日期二、引言Ⅱ. 版权声明Ⅲ. 开发环境一、开发配置二、开发工具Ⅳ. 效果演示一、工程结构(一)目录结构(二)目录说…

【Ctfer训练计划】——(六)

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…

Springboot启动之自定义run方法

前言 之前分析的Springboot启动过程的源码分析中给自己留了一个扩展作业:执行自定义的run方法,此方法在B.7、调用运行器简单分析过,今天咱们就自定义一个Run方法试试。 一、实现自定义的run方法 由于java中的接口可以多实现,所以…

IOS----TangramKit 布局框架

文章目录系统结构CocoaPods安装举例下面一个应用场景:布局线性布局TGLinearLayout相对布局TGRelativeLayout框架布局TGFrameLayout表格布局TGTableLayout流式布局TGFlowLayout浮动布局TGFloatLayout路径布局MyPathLayoutgithub: https://github.com/youngsoft/TangramKit/blob…

day32【代码随想录】回溯之N皇后、N皇后||、解数独、有效的数独

文章目录前言一、N皇后(力扣51)二、N皇后||(力扣52)三、解数独(力扣37)四、有效的数独(力扣36)前言 1、N皇后、 2、N皇后||、 3、解数独、 4、有效的数独 一、N皇后(力扣…

材料表征仪器:慢正电子束谱仪最全知识讲解

1 引言 21世纪科学的发展将是微观与宏观的相互渗透与密切结合。凝聚态物理、材料科学等的研究,将由现在的宏观统计方法(包括宏观量子统计)深入发展到物质的原子层次物性研究,微观粒子(颗粒、孔隙)的量子效…

求最大公约数,求阶乘,求n个n相乘的末两位数(Python)

问题 AN: 41.求最大公约数 题目描述 对于求两个正整数m&#xff0c;n的最大公约数可以用do-while实现 输入 输入两个正整数m&#xff0c;n 输出 最大公约数 样例输入 1 2 样例输出 1 a,b map(int,input().split()) if a<b:a,b b,a#python很方便的交换操作 #适应判断不带…

MySQL复制技术方案——异步复制配置

为MySQL服务器配置复制非常简单。但由于场景不同&#xff0c;基本的步骤还是有所差异。最基本的场景是新安装的主库和备库&#xff0c;总的来说分为以下几步∶ 1. 配置复制 为MySQL服务器配置复制非常简单。但由于场景不同&#xff0c;基本的步骤还是有所差异。最基本的场景是…