FBL刷写

刷写

1、刷写需求的理解

开发诊断的目的:

1、车辆出现故障,快速定位。排查故障 售后;

2、利用uds在售后功能匹配,诊断功能,车辆下线 2F 下线。车钥匙和车的一个匹配学习的过程,保证钥匙与车辆的VIN码的匹配学习,胎压监测,四轮的学习过程;

3、为了刷写。

开发刷写的目的:

更新控制器的软件,不用换件,类似于手机APP升级。

每一辆车的控制器都需要刷写,那么刷写需要整车都每个进行刷写,还是供应商把控制器进行刷写之后,主机厂进行组装即可。

刷写的形式不定,可以统一也可以做定制刷写。

刷写的形式也是不一样的,可以通过T-Box远程进行升级;也可以车辆召回,进行刷写。如果是总线刷写,只能是一一进行刷写,而以太网可以进行一对多的刷写,速率更高。对于大文件传输 38;37服务只是对于数据的传输。

刷写测试,验证的就是刷写能否成功,但是刷写后,控制器能否按刷写的程序正常工作,属于功能测试,比如刷写后控制器新增语音识别。

刷写是对APP数据进行刷写,APP的数据类似于手机app,给每个控制器刷写相应的功能,一般刷写的flash文件为摩托罗拉S-record格式.s19结尾的文件或者英特尔格式 .hex结尾的文件。

2、刷写流程

正常刷写流程,验证控制器可以刷写成功。连续刷可以刷成功

2.1、预编程阶段:保证在编程阶段的动作能够正常操作,控制器给响应。整车功能不会出现问题 刷写某一控制器时,避免其他控制器集DTC,85控制DTC; 28 通信控制.保证总线负载率不要过高(下发的数据流比较大),保证刷写的稳定性。

1、功能寻址的 10 83;

2、告诉被刷写的控制器 31 01 DF 01 DF 01 例程DID,检查编程预条件,整车的车速检查;

3、功能寻址 停止DTC记录 先发 85 再发28。 先发28 已经记录DTC了 节点丢失DTC

4、功能寻址 停止通信。

注意:刷写过程中需要所有的控制器满足,上位机周期性发送7DF 02 3E 80诊断命令时,所有的控制器可以正常保持会话功能。

如果不发送诊断仪在线,会话会在5s超时之后,控制器的通信会重启,影响刷写的过程。所以要发送诊断仪在线,让控制器维持在通信关闭的状态,保证总线负载率不要过高(下发的数据流比较大),保证刷写的稳定性。

2.2、主编程阶段:更新控制器的软件,数据的刷写,类似于手机APP升级。

针对刷写的控制器,所以全部是物理寻址。

前提条件:会话和安全访问

下载flash driver 成本原因 flash放在板子里 程序不稳定。

若控制器有flash driver 请求下载flash driver、开始传输数据、请求退出传输、检查程序一致性则不需要。

app数据下载

程序依赖性检查

2.3、编程后阶段:保证更新的控制器功能恢复正常,整车的其他控制器恢复正常。为了避免误记DTC。

重启被刷件;

开启所有控制器的通信;

清除所有控制器DTC;

3、刷写过程中,故障注入。线错误再次刷写成功

核心:执行一个错误流程,再次执行正确流程,执行成功

故障注入:内存擦除(经典位置)

验证DUT在刷写FBL流程,在擦除内存程序过程前/中,注入各类故障后,恢复正常条件下ECU是否能够正常刷写。

故障注入:数据传输中(经典位置)

验证DUT在刷写FBL流程,应用数据传输中注入线错误。供电正常之后,执行正常的刷写流程,重编程成功。

故障注入:通信中断故障

验证DUT在刷写FBL流程,应用数据传输中通信中断。通信恢复正常之后,执行正常的刷写流程,重编程成功。

应用数据传输中到50%时上位机停发数据

通信恢复正常,执行正常的刷写流程。

2.3、刷写过程中的验证:数据的校验

刷写过程中的验证(执行一个错误的流程,再次执行正确流程,执行成功)

地址错误和长度错误验证,比如flash的地址错误,重复刷写某一块的数据。

不可重编程ECU的通用需求

例子:要刷写PT子网的VCU,但是ECM不支持刷写。

3、刷写的测试报告

连续刷写

对于刷写测试,目前熟悉整个刷写的流程。正常刷写流程:验证控制器可以刷写成功且可以连续刷写;刷写过程中,故障注入:执行某个错误流程,再次执行正确流程,刷写成功;刷写过程中的验证:进行数据的校验。刷写是对APP数据进行刷写,更新控制器的软件,不用换件,类似于手机APP升级。

内存擦除前断电

内存擦除之前,根据流程应该是检查程序一致性后,控制器回复了一个正响应。

现象:注入故障重启之后,发送10 03 返回负响应 7E,子功能在当前会话不支持。

原因:控制器还在编程会话,没有返回默认会话。

现象:请求密钥种子时,控制器回复seed全部是00 什么含义

安全访问还未退出,

现象:发送27 02 时 控制器回复负响应 24 ,顺序不对

原因:控制器一直处于安全等级状态下,而27 02给正响应的前提,27 01 必须是过的。安全访问下,发送27 01 控制器没有回复密钥种子,在进行 27 02 的访问 故是负响应。

内存擦除中CAN_H和地短接

擦除的过程中,会回复nrc 78 等待 就是正在内存擦除中。

相关推荐
疯狂的机器人6 个月前
【Python搞定车载自动化测试】——Python实现CAN总线Bootloader刷写(含Python源码)
python·自动化·can·诊断·uds·bootloader·刷写
车载诊断技术1 年前
电子电器架构刷写方案——General Flash Bootloader
架构·bootloader·刷写·fbl