UDS 工具集
当项目表格不够用时,这里提供工程师所需的底层服务访问。每个请求和响应都会以 >> 和 << 写入会话日志。
服务
| 服务 | SID | 面板的作用 |
|---|---|---|
| Diagnostic session control | 0x10 | SET 03 设置扩展会话;SL 选择会话号;Set Session 发送它 |
| ECU reset | 0x11 | Soft Reset、Hard Reset、Key On/Off Reset |
| Security access | 0x27 | AL 选择级别;Get Seed、Send Key、Authorize |
| Tester present | 0x3E | Period 和 Send tester present 周期性发送 3E 80 |
| Routine control | 0x31 | 启动、停止和请求结果,受例程标志限制 |
| IO control | 0x2F | 交还控制权或调节输入/输出 |
| Read memory | 0x23 | 按 ALFID、地址、大小和块大小读取一个块 |
| Write memory | 0x3D | 按 ALFID、地址、大小和块大小写入一个块 |
DID 读取和写入使用 0x22 和 0x2E;参数编辑器和脚本在底层调用相同的传输层。

安全访问
- Get Seed 为级别
AL请求种子;Send Key 发送你计算出的密钥。 - Authorize 针对所选级别端到端运行配置的 Seed2Key DLL。
- 认证级别及其 DLL 导出在项目中按 ECU 定义。DLL 必须能从
data/auth/访问。 - 被拒绝的密钥会连同否定响应码写入日志;会话保持打开,以便重试。
内存访问
- 读取返回原始数据和报告中的块大小;大范围会被拆分为多个块。读取结果可以保存为
.bin文件。 - 写入接受一个文件以及 ALFID、起始地址、大小和块大小。
- 内存访问不能替代刷写方案:地址布局和校验和都是 ECU 特有的。
例程与 IO 控制
ECU Edit 的 Routines 和 IO Control 选项卡以项目定义的标识符和参数提供相同的服务:
- 例程仅在其标志允许时显示启动、停止和结果操作:
could_start、could_stop、could_request_result。输入数据来自例程的options。 - IO 控制属于
ioctl组。writeable: true的参数在此处(0x2F)和 Writable Values 中(0x2E)都可用。 - 当安全策略要求时,IO 操作和例程操作会请求确认。


这些服务会改变 ECU 状态。发送请求前务必确认会话、安全级别和目标 ECU。
