【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(顺序错误) |
三、关键测试场景详解
- TC35-005 地址对齐错误处理
- 测试步骤:
- 发送0x35请求:
35 [01] 08 00 00 01 [00 00 02 00]
(地址0x08000001,长度512B) - 检查ECU响应
- 发送0x35请求:
- 验证要点:
- ECU应检测地址未按4字节对齐(假设对齐要求为4字节)
- 返回NRC=0x24需包含错误详情字段
- TC35-007 多块连续上传初始化
- 测试流程:
- 发送首个0x35请求分配地址块A(如0x08000000-0x08000100)
- 完成0x36传输后发送第二个0x35请求分配地址块B(如0x08000200-0x08000300)
- 校验规则:
- ECU应为每个上传块独立分配资源
- 不同上传块的MaxBlockLength可动态调整
四、测试执行建议
- 工具链配置:
- 使用CANoe 15.0+配置内存映射表(示例):
// 内存区域定义 MemoryRegion Flash = { StartAddr: 0x08000000, EndAddr: 0x0803FFFF, Alignment: 4, // 4字节对齐 Access: ReadWithAuth };
- 使用CANoe 15.0+配置内存映射表(示例):
- 集成CAPL脚本模拟地址越界和传输模式异常:
```cpp
// CAPL示例:发送非法地址请求
on key 't' {
byte requestUpload[] = {0x35, 0x00, 0x08, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00};
diagSendRequest(requestUpload);
}
- 异常场景模拟:
- 使用总线干扰器注入错误帧(Error Frame)测试ECU容错能力
- 通过ECU模拟器触发供电电压跌落(±10% VDD)验证数据完整性
说明:本测试用例集已在Vector vTESTstudio平台完成验证,适用于符合AUTOSAR标准的ECU开发。完整测试报告模板可通过获取。
系列目标
系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉