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


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

作者:车端域控测试工程师

更新日期:2025-02-13

关键词:UDS协议、0x35服务、数据上传、内存读取、ECU测试


一、服务功能概述

0x35服务(RequestUpload)用于初始化从ECU到诊断仪的数据上传流程,定义源内存地址、数据长度及传输模式。根据ISO 14229-1:2023 §7.4.8要求,完整10项测试用例如下:


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

用例ID 测试场景 验证要点 参考条款 预期结果
TC35-001 标准上传请求流程 有效地址+长度参数(如0x08000000, 512B) §7.4.8.2 返回0x75+MaxBlockLength
TC35-002 无效内存地址检测 请求非法地址(如Bootloader保护区) §7.4.8.3.1 返回NRC=0x31(请求越界)
TC35-003 数据长度超限验证 请求长度超过ECU内存实际容量 §7.4.8.3.2 返回NRC=0x31(请求越界)
TC35-004 未解锁安全访问请求上传 未执行0x27服务直接发起上传 §7.4.8.3.3 返回NRC=0x33(安全拒绝)
TC35-005 地址对齐错误处理 请求地址未按4字节对齐(如0x08000001) OEM规范 返回NRC=0x24(顺序错误)
TC35-006 跨会话模式权限验证 在默认会话下请求需扩展会话的上传 §7.4.8.3.4 返回NRC=0x7E(服务不支持)
TC35-007 多块连续上传初始化 连续发送多个0x35请求分配不同内存区域 §7.4.8.3.5 返回独立MaxBlockLength值
TC35-008 传输模式参数异常 使用未定义的传输模式(如0xFF) §7.4.8.3.6 返回NRC=0x12(参数错误)
TC35-009 内存类型匹配检测 从RAM区域请求Flash读取操作 OEM规范 返回NRC=0x31(请求越界)
TC35-010 地址范围重叠检查 请求与当前激活上传块地址重叠 §7.4.8.3.7 返回NRC=0x24(顺序错误)

三、关键测试场景详解

  1. TC35-005 地址对齐错误处理
  • 测试步骤:
    1. 发送0x35请求:35 [01] 08 00 00 01 [00 00 02 00](地址0x08000001,长度512B)
    2. 检查ECU响应
  • 验证要点:
    • ECU应检测地址未按4字节对齐(假设对齐要求为4字节)
    • 返回NRC=0x24需包含错误详情字段
  1. TC35-007 多块连续上传初始化
  • 测试流程:
    1. 发送首个0x35请求分配地址块A(如0x08000000-0x08000100)
    2. 完成0x36传输后发送第二个0x35请求分配地址块B(如0x08000200-0x08000300)
  • 校验规则:
    • ECU应为每个上传块独立分配资源
    • 不同上传块的MaxBlockLength可动态调整

四、测试执行建议

  1. 工具链配置:

    • 使用CANoe 15.0+配置内存映射表(示例):

      cpp 复制代码
      // 内存区域定义 
      MemoryRegion Flash = {  
         StartAddr: 0x08000000,  
         EndAddr:   0x0803FFFF,  
         Alignment: 4,  // 4字节对齐 
         Access:    ReadWithAuth  
      };
      • 集成CAPL脚本模拟地址越界和传输模式异常:
        cpp 复制代码
        // CAPL示例:发送非法地址请求 
        on key 't' {  
         byte requestUpload[] = {0x35, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00};  
         diagSendRequest(requestUpload);  
        }
  2. 异常场景模拟:

    • 使用总线干扰器注入错误帧(Error Frame)测试ECU容错能力
    • 通过ECU模拟器触发供电电压跌落(±10% VDD)验证数据完整性

说明:本测试用例集已在Vector vTESTstudio平台完成验证,适用于符合AUTOSAR标准的ECU开发。完整测试报告模板可通过获取。

系列目标

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

相关推荐
CCCC13101632 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴9363 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头3 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
艾莉丝努力练剑4 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
武昌库里写JAVA5 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
Cx330❀6 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
杜子不疼.6 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习
小幽余生不加糖6 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
..过云雨7 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
myzzb7 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa