手动UDS刷写过程实践

一、UDS刷写流程

① 0x22 服务:读取控制器ID及版本信息等

通过取控制器引导程序版本、所支持的数据版本与待烧写的数据文件进行对比,避免出现数据文件与控制器不对应的情况

可依次进行多个DID查询 如: F180--引导程序编号   F185--标定数据版本号

上位机:2F F1 80 F1 85 

下位机:一次性使用多帧的回复两个编号

②0x27 服务 :安全访问 通过seed key来进入不同的安全等级

其中seed 是下位机随机生成的,key是通过seed计算得来的,具体算法可参照github代码

根据算法按照不同格式生成对应的dll文件,加载到ZCANPRO 或者TSmaster 中,软件可以自动根据dll文件算key并发送解锁。

算法多为CRC算法,github中代码已经有完整解决方案。内容偏多 这里不多说。

③ 0x10服务:诊断会话控制 

成功解锁后便上位机便可以发送 10 02 进入编程会话

④ 0x31 例程控制--flash编程开始

例程控制具体实现的操作由子服务和RLID 决定,ID 对应的例程在底层代码中实现

如 flash编程开始 需要上位机发送 31 01 F0 10

flash编程结束 需要上位机发送 31 02 F0 10

⑤0x31 例程控制--擦除数据

上位机: 31 01 F0 30+起始地址+结束地址

⑤下载数据 使用0x34 0x36 0x37 服务组合使用;

对内存中的每个block 都需要使用一次组合。

0x34 服务:设置传输地址

 34 00 44 +内存起始地址+数据长度

0x3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值