基于UDS实现APP更新流程框架

一、预编程阶段

1、3E服务,维持状态

2、10 03切换到扩展会话

3、85--关闭DTC  28--关闭非诊断报文

二、主编程模式

1、10切换到编程模式(正确的方式是App段程序回复0x78 NRC,接下来跳转到boot段程序,最后由Boot段程序来回复10 02的肯定响应。错误的方式是由App段回复10 02的肯定响应,再进行跳转。)

2、读取一个DID,tester要判断一下返回值。返回值里面可能包含密钥的一部分信息。

3、27服务,安全解锁

4、写DID指纹,标记写软件人的身份,ECU回复写指纹成功。

5、31服务,擦除flash

6、34服务,请求下载

7、36服务,传输数据

8、37服务,退出传输

9、31服务,校验数据

10、11服务,ECU复位(之后应直接跳转到新下载的APP段程序中)

11、31(擦Flash)-34-36-37-31

三、后编程状态

1、10 03切换到扩展会话

2、28服务,使能非诊断报文

3、85服务,使能DTC

4、27服务,安全访问

5、2E服务,将编程信息写入到ECU中

6、10 01,退回到默认会话,结束。

原文链接(基于UDS的BootLoader - Smah - 博客园 (cnblogs.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值