【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第九节】


ISO 14229-1:2023 UDS诊断服务测试用例全解析(TransferData0x36服务)

作者:车端域控测试工程师
更新日期:2025-02-13
关键词:UDS协议、0x36服务、TransferData、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x36服务(TransferData)用于在客户端与服务器之间传输数据块,需配合0x34(RequestDownload)或0x35(RequestUpload)服务使用。根据ISO 14229-1 §7.4.9要求,完整15项测试用例如下:


二、完整测试用例清单(15项)

用例ID测试场景验证要点参考条款预期结果
TC36-001标准数据传输流程按协商的MaxBlockLength发送有效数据块§7.4.9.2返回0x76+确认码
TC36-002无效块序列计数器(BSC)发送跳号或重复的BSC(如0x01→0x03)§7.4.9.3.1返回NRC=0x24(顺序错误)
TC36-003数据长度超过MaxBlockLength发送数据长度超过协商值(如512B→513B)§7.4.9.3.2返回NRC=0x31(请求越界)
TC36-004安全访问未解锁时传输未执行0x27服务直接发送数据块§7.4.9.3.3返回NRC=0x33(安全拒绝)
TC36-005跨会话权限验证在默认会话下发送需扩展会话的传输请求§7.4.9.3.4返回NRC=0x7E(服务不支持)
TC36-006块序列计数器溢出处理BSC从0xFF递增后重置为0x01§7.4.9.3.5正常接收并更新内存
TC36-007传输中断后重传相同块重传相同BSC的数据块(如BSC=0x02)§7.4.9.3.6立即返回0x76,不重复写入
TC36-008数据校验失败处理注入CRC错误或校验和不匹配的数据Annex B.4.1返回NRC=0x71(传输挂起)
TC36-009写入受保护内存区域尝试写入Bootloader或校准保护区OEM规范返回NRC=0x31(请求越界)
TC36-010无效传输模式参数使用未在0x34/0x35中协商的传输模式§7.4.9.3.7返回NRC=0x12(参数错误)
TC36-011多块连续传输完整性连续发送10个数据块(BSC=0x01~0x0A)§7.4.9.3.8全部接收且内存数据一致
TC36-012混合传输方向冲突在下载过程中穿插上传请求§7.4.9.3.9返回NRC=0x24(顺序错误)
TC36-013传输超时恢复机制客户端超时后重传未完成块§7.4.9.4服务器清除状态,需重新初始化
TC36-014电压波动容错测试传输期间模拟±10% VDD波动ISO 16750-2数据完整且无内存损坏
TC36-015最大数据块压力测试发送MaxBlockLength=4096B的极限数据块OEM压力测试规范成功接收并写入内存

三、关键测试场景详解

  1. TC36-007 传输中断后重传相同块
  • 测试步骤:
    1. 发送BSC=0x02的数据块并收到0x76响应
    2. 再次发送相同BSC=0x02的数据块
  • 验证要点:
    • 服务器应识别重复BSC并立即返回0x76
    • 内存数据不得被重复写入(通过校验工具验证)
  1. TC36-011 多块连续传输完整性
  • 测试流程:
    1. 初始化0x34服务(MaxBlockLength=256B)
    2. 连续发送10个数据块(BSC=0x01~0x0A)
    3. 使用0x22服务读取目标内存区域校验数据
  • 校验规则:
    • 内存数据应与发送的二进制流完全一致
    • 块顺序不得错位(可通过预置标记字节验证)

说明:本测试用例集已在dSPACE SCALEXIO平台完成验证,适用于符合ISO 14229-1:2023的ECU开发。

系列目标

系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win11 远程 连接 Ubuntu20.04(局域网)

Win11 远程 连接 Ubuntu20.04(局域网) 0. Ubuntu 开启共享1. Ubuntu系统中安装RDP服务器2.windows中连接使用方式1:远程桌面连接(winr: mstsc)方式2:mobaXterm 3 问题远程连接后出现黑屏 参考文献: 0. Ubuntu 开启共享 在ubunt设置中&#x…

visutal studio 2022使用qcustomplot基础教程

编译 下载,2.1.1版支持到Qt6.4 。 拷贝qcustomplot.h和qcustomplot.cpp到项目源目录(Qt project)。 在msvc中将它俩加入项目中。 使用Qt6.8,需要修改两处代码: L6779 # if QT_VERSION > QT_VERSION_CHECK(5, 2, …

ElasticSearch详解

声明 内容来源尚硅谷知识星球谷粒随享项目,部分概念性的内容,就使用对应文档填写了,若有侵权联系作者删除。 检索模块 技术栈:ElasticSearch ElasticSearch介绍 1.1 elasticsearch 简介 官网: https://www.elastic.co/ Ela…

250214-java类集框架

引言 类集框架本质上相当于是容器,容器装什么东西由程序员指定 1.单列集合 单列集合是list和set,list的实现类有ArrayList和LinkedList,前者是数组实现,后者是链表实现。list和set,前者有序、可重复,后者…

Vue3(3)

一.具体业务功能实现 (1)登录注册页面 [element-plus 表单 & 表单校验] 功能需求说明: 1.注册登录 静态结构 & 基本切换 2.注册功能 (校验 注册) 3.登录功能 (校验 登录 存token) import request from /utils/request// 注册接…

数据结构 day05

数据结构 day05 5. 队列5.3. 链式队列5.3.1. 特征5.3.2. 代码实现 6. 双向链表6.1. 特性6.2. 代码实现 5. 队列 5.3. 链式队列 5.3.1. 特征 逻辑结构:线性结构 存储结构:链式存储 操作:创建、入列、出列、判空、清空 5.3.2. 代码实现 头文…

Uniapp 短视频去水印解析工具开发实现

最近搞了一个有意思的小工具——短视频去水印解析器!这玩意儿可以把短视频中的水印给抹掉,还能提取视频、封面等资源。整个项目用了 Uniapp 开发,做完后体验了一下,发现还挺顺手。今天就来跟大家聊聊实现思路和代码细节~ 需求分析…

HTML【详解】input 标签

input 标签主要用于接收用户的输入,随 type 属性值的不同,变换其具体功能。 通用属性 属性属性值功能name字符串定义输入字段的名称,在表单提交时,服务器通过该名称来获取对应的值disabled布尔值禁用输入框,使其无法被…

什么是MVC?什么是SpringMVC?什么是三层架构?

文章目录 应用分层什么是MVC?什么是 SpringMVC?三层架构三层架构和MVC的关系 应用分层 在讲解什么是MVC之前,先来理解一下什么是应用分层。 应用分层是一种软件开发设计思想,将应用程序划分成N个层次,每个层次都分别负责自己…

【深度学习】深度学习和强化学习算法——深度 Q 网络DQN

深度 Q 网络(Deep Q-Network, DQN) 详解 什么是DQNDQN 的背景DQN 训练流程 2 DQN 的核心思想2.1 经验回放(Experience Replay)2.2 目标网络(Target Network)2.3 ε-贪心策略(ε-Greedy Policy&a…

CSS flex布局 列表单个元素点击 本行下插入详情独占一行

技术栈:Vue2 javaScript 简介 在实际开发过程中有遇到一个场景:一个list,每行个数固定,点击单个元素后,在当前行与下一行之间插入一行元素详情,便于更直观的查看到对应的数据详情。 这种情形&#xff0c…

Deepseek本地部署

一,Deepseek本地部署方式 有UI且简单:LM Studio、Text Generation WebUI。 高效率但无UI:Ollama、LLama.cpp、Tabby。 二,通过Ollama本地部署Deepseek 1,什么是Ollama Ollama是一个开源的 LLM(大型语言…

Django 创建表时 “__str__ ”方法的使用

在 Django 模型中,__str__ 方法是一个 Python 特殊方法(也称为“魔术方法”),用于定义对象的字符串表示形式。它的作用是控制当对象被转换为字符串时,应该返回什么样的内容。 示例: 我在初学ModelForm时尝…

最新智能优化算法: 中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法求解23个经典函数测试集,MATLAB代码

中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法由GUO Zhiqing 等人提出,该算法的灵感来自中华穿山甲独特的狩猎行为,包括引诱和捕食行为。 算法流程如下: 1. 开始 设置算法参数和最大迭代次数&a…

【云安全】云原生- K8S etcd 未授权访问

什么是etcd? etcd 是一个开源的分布式键值存储系统,主要用于存储和管理配置信息、状态数据以及服务发现信息。它采用 Raft 共识算法,确保数据的一致性和高可用性,能够在多个节点上运行,保证在部分节点故障时仍能继续提…

解锁建造者模式:Java 编程中的对象构建秘籍

系列文章目录 后续补充~~~~ 文章目录 一、引言二、建造者模式原理剖析2.1 定义与概念2.2 模式结构与角色2.2.1 产品(Product)2.2.2 建造者(Builder)2.2.3 具体建造者(ConcreteBuilder)2.2.4 指挥者&#xf…

ChatGPT行业热门应用提示词案例-AI绘画类

AI 绘画指令是一段用于指导 AI 绘画工具(如 DALLE、Midjourney 等)生成特定图像的文本描述。它通常包含场景、主体、风格、色彩、氛围等关键信息,帮助 AI 理解创作者的意图,从而生成符合要求的绘画作品。 ChatGPT 拥有海量的知识…

JUC并发—4.wait和notify以及Atomic原理

大纲 1.wait()与notify()实现一个简易的内存队列 2.wait()与notify()的底层原理 3.分布式存储系统NameNode机制介绍 4.分布式存储系统的edits log机制介绍 5.分布式存储系统的NameNode实现 6.分布式存储系统的创建目录功能的实现 7.edits log的全局txid机制和双缓冲机制…

ubuntu20.04声音设置

step1:打开pavucontrol,设置Configuration和Output Devices, 注意需要有HDMI / DisplayPort (plugged in)这个图标。如果没有,就先选择Configuration -> Digital Stereo (HDMI 7) Output (unplugged) (unvailable),…

【网络安全 | 漏洞挖掘】价值3133美元的Google IDOR

未经许可,不得转载。 文章目录 正文正文 目标URL:REDACTED.google.com。 为了深入了解其功能,我查阅了 developer.google.com 上的相关文档,并开始进行测试。 在测试过程中,我发现了一个 XSS 漏洞,但它触发的域名是经过正确沙盒化的 *.googleusercontent.com,这符合 …