当前位置: 首页 > news >正文

【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+配置内存映射表(示例):
      // 内存区域定义 
      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);  
    }
    

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

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

系列目标

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

相关文章:

  • 宠物企业宣传网站静态模板 – 前端静态页面开发实例
  • 国密算法SM1、SM2、SM3和SM4 具体的使用和区别
  • 【物联网】电子电路基础知识
  • Linux执行一条命令并自动重试直到成功,自动化脚本
  • 无人机遥感图像拼接软件有哪些?无人机遥感图像采集流程;遥感图像拼接的一般流程
  • EventSource的使用
  • 动态规划LeetCode-494.目标和
  • 百度千帆平台对接DeepSeek官方文档
  • |网络安全|网络安全学习方法
  • 使用deepseek快速创作ppt
  • ESP32无线Wi-Fi蓝牙方案,设备智能连接控制,物联网通信应用
  • SQL入门到精通 理论+实战 -- 在 MySQL 中学习SQL语言
  • java后端开发day14--之前练习的总结和思考
  • 面向对象编程的设计原则
  • 【鱼眼镜头12】Scaramuzza的鱼眼相机模型实操,不依赖于具体的相机几何结构,直接从图像数据出发,因此更具灵活性。
  • 爬虫瑞数5.5案例:某钢材交易官网(面向对象补环境)
  • pyrender smpl 渲染
  • 【C语言】动态内存管理
  • ElementUI表格表头自定义添加checkbox,点击选中样式不生效
  • SQL-leetcode—1661. 每台机器的进程平均运行时间
  • 海南省三亚市委原常委、秘书长黄兴武被“双开”
  • 阿里CEO:将以饱和式投入打法,聚焦几大核心战役
  • 比特币价格时隔三个月再度站上10万美元
  • 青岛双星名人集团管理权之争:公司迁址,管理层更迭
  • 马上评|比余华与史铁生的友情更动人的是什么
  • 中美“第二阶段”贸易协定是否会在会谈中提出?商务部回应