CANoe_UDS-Bootloader刷写系列-含源码(一)刷写基本流程

目录

刷写基础篇-刷写流程

一,预编程步骤

1,10服务:$10 01 进入默认会话

2,10服务:$10 03 进入扩展会话

3,22服务:$22 F1 xx 读取相关指纹信息,VIN,钥匙编码等(具体根据车厂要求定义是否需要该服务)

4,85服务:$85 02  关闭记录DTC

5,25服务:$28 03 03通讯报文控制

二,主编程步骤(正式编程)

6,10服务:$10 02 进入编程会话

7,27服务:$27 01    $27 02安全访问/密钥解锁

8,2E服务:$2E xx xx ... 写入指纹信息

9,34&36&37服务:开始下载传输Flash Driver

10,31服务:$31 xx xx ..... 例程控制,检查编程完整性

11,31服务:$31 xx xx ......例程控制,擦除程序

12,34&36&37服务:开始下载传输ECU应用程序

13,31服务:$31 xx xx.... 例程控制,检查编程完整性

14,31服务:$31 xx xx ..... 例程控制,检查编程兼容性

三,后编程步骤

15,11服务:$11 01   复位

16,2E服务:2E xx xx ..... 写入本次升级的配置参数

17,28服务:$28 00 03

18,85服务:$85 01 ... DTC设置


系列目录:


 《CANoe_UDS-Bootloader刷写系列-含源码(一)刷写基本流程

 《CANoe_UDS-Bootloader刷写系列-含源码(二)CAPL实现$10服务

 《CANoe_UDS-Bootloader刷写系列-含源码(三)CAPL实现$27服务密钥解锁

 《CANoe_UDS-Bootloader刷写系列-含源码(四)CAPL实现$34 & $36 & $37服务数据传输》 --待续

 《CANoe_UDS-Bootloader刷写系列-含源码(五)CAPL实现$31服务例程控制》 --待续

 《CANoe_UDS-Bootloader刷写系列-含源码(六)CAPL实现$22 & $2E 服务读写配置》

 《CANoe_UDS-Bootloader刷写系列-含源码(七)CAPL实现$85 & $28服务预编程步骤》

 《CANoe_UDS-Bootloader刷写系列-含源码(七)干货 CAPL实现CRC数据校验》

 《CANoe_UDS-Bootloader刷写系列-含源码(八)干货 CANoe_Panel刷写上位机面板制作》

 《CANoe_UDS-Bootloader刷写系列-含源码(九)CAPL框架全流程测试及报文分析-查漏补缺》

哈喽,大家好呀!哈哈哈哈哈~     这是我第一篇文章,不知道要写啥,寻思只写一篇的话也不如直接写一个系列吧,省去很多麻烦,也让文章更整洁,易读。

Tom也在不断学习当中,后面学到的新知识会及时分享给大家, 走着

刷写基础篇-刷写流程

对于刚接触UDS刷写的小伙伴来说首先要明白诊断刷写的基本步骤和诊断发送原理,Tom博客内有相关ISO14229,ISO15765,ISO11898等系列中文翻译协议与相关测试用例,需要请自取!

本系列文章从操作步骤到CAPL源码一站式教你学习Bootloader刷写操作步骤(纯手打)哈哈哈~

本篇主要阐述一下FBL刷写基本流程,加深一下印象

Bootloader 是在 ECU 上电初始化时运行的一段代码,它通过 can 线接收来自上位机的命
令,将数据写进 ECU 的指定 Flash 区段中。

UDS-BootLoader刷写分为三个步骤:预编程步骤,主编程步骤,后编程步骤。在刷写流程开始后,诊断设备需以S3client时间 以(0-2000ms)的周期功能寻址(F)发送诊断在线服务($3E 80),以保持总线上其它ECU的诊断会话;

$3E 00/80(肯定响应抑制位,即为周期性请求,目的为保持会话状态,无需回复响应)

注意:只有功能寻址的$3E 80才能做旁路处理,$3E 00进入到诊断处理会导致阻塞刷写失败。

           诊断在线服务($3E)不能打断或影响ECU的任何其他服务

一,预编程步骤

预编程步骤是为刷写做准备,主要使用$85 和$28服务关闭通信和关闭DTC记录,本步骤包括功能寻址和物理寻址

功能寻址:一对多的发送

物理寻址:一对一的发送

1,10服务:$10 01 进入默认会话

    诊断设备使用功能寻址发送该请求,建立通讯,为跳转到扩展会话做准备。

2,10服务:$10 03 进入扩展会话

    诊断设备使用功能寻址发送该指令,在该会话下进行DTC和通信设置。

3,22服务:$22 F1 xx 读取相关指纹信息,VIN,钥匙编码等(具体根据车厂要求定义是否需要该服务)

    使用物理寻址请求发送该指令

4,85服务:$85 02  关闭记录DTC

     使用功能寻址请求发送该指令,如果在刷写过程中没有关闭DTC,则会记录不必要的DTC,所以需要在预编程步骤关闭

5,25服务:$28 03 03通讯报文控制

     使用功能寻址请求发送该指令,如果在刷写过程中没有关闭通信报文,则会在刷写过程中继续发送和接受报文,干扰刷写导致刷写失败,所以需要在预编程步骤关闭

二,主编程步骤(正式编程)

主编程步骤也叫正式编程,由此开始进行Bootloader刷写

6,10服务:$10 02 进入编程会话

     使用物理寻址发送该指令,在此会话下开始正式刷写

7,27服务:$27 01    $27 02安全访问/密钥解锁

     使用物理寻址发送此服务,通过安全算法验证合法性

      注:(27服务略显复杂,具体需要在上位机加入CRC校验等相关算法,通过27 01返回的正响应计算27 02密钥,后续Tom会专开一个文章来讲解如何CAPL实现27解锁)

8,2E服务:$2E xx xx ... 写入指纹信息

     使用物理寻址请求发送该指令,写入本次发送的指纹信息记录等。附图仅作为演示

9,34&36&37服务:开始下载传输Flash Driver

                                 $34 xx xx ...       

                                 $36 01 .......

                                 $36 02 .......

                                  ...

                                 $37 

     使用物理寻址请求发送该指令,下载

10,31服务:$31 xx xx ..... 例程控制,检查编程完整性

     诊断设备使用物理寻址请求发送该指令,用来验证上一步的Flash Driver是否下载成功

11,31服务:$31 xx xx ......例程控制,擦除程序

     诊断设备使用物理寻址请求发送该指令,使用FlashDriver程序擦除ECU中的应用程序,方便后续下载新应用程序。

12,34&36&37服务:开始下载传输ECU应用程序

                                 $34 xx xx ...       

                                 $36 01 .......

                                 $36 02 .......

                                  ...

                                 $37 

     诊断设备使用物理寻址请求发送该指令,此文件根据具体项目大小决定传输时间,大概需要几分钟不等。 

13,31服务:$31 xx xx.... 例程控制,检查编程完整性

     诊断设备使用物理寻址请求发送该指令,用来验证上一步的ECU应用程序是否下载成功

14,31服务:$31 xx xx ..... 例程控制,检查编程兼容性

     诊断设备使用物理寻址请求发送该指令,ECU接收到本指令后执行一段程序证明本次程序的下载和刷新工作成功

三,后编程步骤

到后编程步骤后Bootloader刷写基本完成,只需将软件进行复位,开启通信和DTC设置。写入本次刷写配置参数即可。

15,11服务:$11 01   复位

     诊断设备使用功能寻址请求发送该指令

16,2E服务:2E xx xx ..... 写入本次升级的配置参数

     诊断设备使用物理寻址请求发送该指令

17,28服务:$28 00 03

     诊断设备使用功能寻址请求发送该指令,对所有ECU进行通讯报文打开。使本ECU能够发送和接受报文

18,85服务:$85 01 ... DTC设置

     诊断设备使用功能寻址请求发送该指令,对所有 ECU 进行记 DTC 设置: DTC 设置类型为打开

至此,所有刷写的步骤就结束了,ECU已经是最新的程序,可以愉快的进行后续测试~

源码我会在后续专栏一一发布,敬请期待

  • 36
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值