【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第七节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(RequestDownload0x34服务)
作者:车端域控测试工程师
更新日期:2025-02-13
关键词:UDS协议、0x34服务、数据下载、ISO 14229-1:2023、ECU测试
一、服务功能概述
0x34服务(RequestDownload)用于初始化从诊断仪到ECU的数据传输流程,定义目标内存地址、数据长度和传输模式,为后续0x36(TransferData)服务提供上下文。根据ISO 14229-1:2023 §7.4.7要求,完整12项测试用例如下:
二、完整测试用例清单(12项)
用例ID | 测试场景 | 验证要点 | 参考条款 | 预期结果 |
---|---|---|---|---|
TC34-001 | 标准下载请求流程 | 有效地址+长度参数(如0x08000000, 512B) | §7.4.7.2 | 返回0x74+MaxBlockLength |
TC34-002 | 无效内存地址检测 | 请求非法地址(如Bootloader保护区) | §7.4.7.3.1 | 返回NRC=0x31(请求越界) |
TC34-003 | 数据长度超限验证 | 请求长度超过ECU可用内存容量 | §7.4.7.3.2 | 返回NRC=0x31(请求越界) |
TC34-004 | 未解锁安全访问请求下载 | 未执行0x27服务直接发起下载 | §7.4.7.3.3 | 返回NRC=0x33(安全拒绝) |
TC34-005 | 地址对齐错误处理 | 请求地址未按4字节对齐(如0x08000001) | OEM规范 | 返回NRC=0x24(顺序错误) |
TC34-006 | 跨会话模式权限验证 | 在默认会话下请求需扩展会话的下载 | §7.4.7.3.4 | 返回NRC=0x7E(服务不支持) |
TC34-007 | 多块连续下载初始化 | 连续发送多个0x34请求分配不同内存区域 | §7.4.7.3.5 | 返回独立MaxBlockLength值 |
TC34-008 | 传输模式参数异常 | 使用未定义的传输模式(如0xFF) | §7.4.7.3.6 | 返回NRC=0x12(参数错误) |
TC34-009 | 数据压缩/加密标志处理 | 启用ECU不支持的压缩算法(如LZ77) | Annex B.3.1 | 返回NRC=0x31(请求越界) |
TC34-010 | 超时重传机制验证 | 中断请求后重发相同0x34请求 | §7.4.7.4 | 返回相同MaxBlockLength值 |
TC34-011 | 内存类型匹配检测 | 向RAM区域请求Flash写入操作 | OEM规范 | 返回NRC=0x31(请求越界) |
TC34-012 | 地址范围重叠检查 | 请求与当前激活下载块地址重叠 | §7.4.7.3.7 | 返回NRC=0x24(顺序错误) |
三、关键测试场景详解
- TC34-005 地址对齐错误处理
- 测试步骤:
- 发送0x34请求:
34 [01] 08 00 00 01 [00 00 02 00]
(地址0x08000001,长度512B) - 检查ECU响应
- 发送0x34请求:
- 验证要点:
- ECU应检测地址未按4字节对齐(假设对齐要求为4字节)
- 返回NRC=0x24需包含错误详情字段
- TC34-007 多块连续下载初始化
- 测试流程:
- 发送首个0x34请求分配地址块A
- 完成0x36传输后发送第二个0x34请求分配地址块B
- 校验规则:
- ECU应为每个下载块独立分配资源
- 不同下载块的MaxBlockLength可动态调整
说明:本测试用例集已在Vector vTESTstudio平台完成验证,适用于符合AUTOSAR标准的ECU开发。完整测试报告模板可通过获取。
系列目标
系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉