预编程阶段 | |||
内容 | 类型 | 8位数据 | |
3E TP报文 | S | [0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | * |
进入扩展会话模式 | S | [0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
31服务,对刷写条件进行检查 | S | [0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 可选 |
关闭DTC | S | [0x85, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
禁止非诊断报文的发送和接收 | S | [0x28, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00] | |
设置波特率 | S | [0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | * |
主编程阶段 | |||
内容 | 类型 | 8位数据 | |
进入编程会话模式 | S | [0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 由Boot段回复肯定响应 |
读取一个DID|密钥的一部分信息 | S | [0x22, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
安全访问检查 | S | [0x27, 0xXX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
写入数据 | S | [0x2E, 0xXX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 写DID指纹,软件信息 |
擦除Memory | S | [0x31, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | ECU肯定响应,擦除成功 |
请求下载 | S | [0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 请求数据下载,ECU回复确认最大块大小 |
传输数据|最多可以支持255个块 | S | [0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 每个块传输完成后,ECU肯定响应。判断是否还有更多块需要下载。 |
请求退出传输 | S | [0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | ECU肯定响应 |
检查一致性和数据完整性 | S | [0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 校验APP段程序,ECU肯定响应。校验成功 |
复位 | S | [0x11, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
后编程状态 | |||
内容 | 类型 | 8位数据 | |
执行服务(11->10) | S | [0x11, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | 跳转到新下载的APP段程序 |
进入扩展会话模式 | S | [0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
允许非诊断报文的发送和接收 | S | [0x28, 0x0X, 0x0X, 0x00, 0x00, 0x00, 0x00, 0x00] | 注意先执行28,后执行85,避免DTC误报 |
开启DTC | S | [0x85, 0x0X, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
清除诊断信息 | S | [0x14, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00] | |
27服务,安全校验,准备写入数据 | S | [0x27, 0xXX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
2E服务,将编程信息写入到ECU中 | S | [0x2E, 0xXX, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
切换到01默认会话模式 | S | [0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] | |
CAN_BootLoader_UDS实现流程调查整理
于 2022-04-09 17:51:55 首次发布