FBL刷写

刷写

  • 1、刷写需求的理解
  • 2、刷写流程
    • 2.1、预编程阶段:保证在编程阶段的动作能够正常操作,控制器给响应。整车功能不会出现问题 刷写某一控制器时,避免其他控制器集DTC,85控制DTC; 28 通信控制.保证总线负载率不要过高(下发的数据流比较大),保证刷写的稳定性。
    • 2.2、主编程阶段:更新控制器的软件,数据的刷写,类似于手机APP升级。
    • 2.3、编程后阶段:保证更新的控制器功能恢复正常,整车的其他控制器恢复正常。为了避免误记DTC。
  • 3、刷写过程中,故障注入。线错误再次刷写成功

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 等待 就是正在内存擦除中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/290807.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

死锁的处理策略“避免死锁”-第三十八天

目录 什么是安全序列? 不安全情况 安全情况 安全序列 系统的不安全状态 银行家算法 寻找安全序列 寻找不安全序列 代码实现 重点回顾 什么是安全序列? 偷图小能手 不安全情况 安全情况 安全序列 概念:指如果系统按照这种序列分配…

从零开始学习Nginx

下载 nginx下载地址:http://nginx.org/en/download.html 启动 双击nginx.exe。打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe ,回车即可 PS:如果安装目录是中文的情况,打开exe文件时会报…

外汇天眼:交易如何突破“知行合一”这关?

接触交易之后有无数次想要放弃交易,在交易中的失败实在是太痛苦了,有时候这种失败是打击的作为一个人的最根本的自信,这种失败让我质疑我自己“本就是个普通人,不要想太美的事情”“为什么学习这么多还是不能盈利,我真…

SpringBoot配置文件

文章目录 配置文件配置文件的格式.properties格式.yml格式配置信息读取 .properties VS .yml 配置文件 配置文件是用来配置整个项目中的重要数据的,像最基本项目的启动端口、数据库的连接信息等等。对于一个完整的SpringBoot项目而言,配置文件是必不可少…

外包干了3年,技术水平倒退明显。。。

前言 简单说下我的情况吧!普通本科的科班生,19年的时候通过校招进了一家小自研,工资还凑合,在里面带了一年多,公司没了,疫情期间找工作很麻烦,后面就开始自己近3年的外包生涯,这三年…

k8s探针

k8s的pod重启策略 1,Deploy 的yaml文件只能是always。Pod的 yaml三种模式都可以。 2,OnFailure:只有状态码非0才会重启。正常状态不重启的。 3,Never:正常退出和非正常退出都不重启。容器退出了,pod才会…

cmake工程不能命中断点解决方法

set_target_properties(s7plus PROPERTIES COMPILE_FLAGS "/std:clatest /Zc:preprocessor")改为加上 /Zi set_target_properties(s7plus PROPERTIES COMPILE_FLAGS "/std:clatest /Zi /Zc:preprocessor")

LeetCode-Java(29)

29. 两数相除 结果肯定落在dividend上&#xff0c;于是对这个区间每一个数进行二分查找&#xff0c;判断方法就是 while (l < r) {long mid l r 1 >> 1;if (mul(mid, y) < x) {l mid;} else {r mid - 1;}} 其中mul是一个要定义的快速乘法。 完整代码如下 …

Geotrust DV通配符证书保护域名数量

Geotrust是一家知名的SSL证书提供商&#xff0c;旗下有多种类型的SSL数字证书&#xff0c;保护网站数据在传输过程中的安全性和完整性&#xff0c;帮助用户确认其网站的安全。通配符SSL证书是Geotrust颁发的一种可以同时保护多个域名站点的SSL证书。今天就随SSL盾小编了解Geotr…

非隔离BUCK恒流控制芯片SM7307产品特点与典型应用

非隔离BUCK恒流控制芯片SM7307是一款高效、低成本的电源管理芯片&#xff0c;适用于需要宽电压输入和恒流输出的应用场景。以下是该产品的特点详解&#xff1a; 1. 宽电压输入范围&#xff1a;LED驱动芯片SM7307支持85Vac~265Vac的宽电压输入&#xff0c;能够适应各种电源输入…

鸿蒙应用中图片的显示(Image组件)

目录 1、加载图片资源 1.1、存档图类型数据源 a.本地资源 b.网络资源 c.Resource资源 d.媒体库file://data/storage e.base64 1.2、多媒体像素图片 2、显示矢量图 3、添加属性 3.1、设置图片缩放类型 3.2、设置图片重复样式 3.3、设置图片渲染模式 3.4、设置图…

二维码地址门牌管理系统:物业管理的未来趋势

文章目录 前言一、数字化管理与便捷服务二、身份认证与安全保障三、业主便利与贴心服务四、未来发展趋势 前言 在数字化时代&#xff0c;物业管理面临着不断增加的挑战。为了提高管理效率、服务业主&#xff0c;二维码门牌管理系统应运而生。本文将探讨这一新型管理方式&#…

AIOps探索 | 基于大模型构建高效的运维知识及智能问答平台(2)案例分享

原作者&#xff1a;擎创科技产品专家 布博士 案例分享 所需要的软件列表 本次案例的实现&#xff0c;全部采用开源或SAAS的产品来提供&#xff0c;并不涉及到私有化部署的软件产品。软件列表如下所示&#xff0c;如何申请apikey请自行研究&#xff0c;在这里不再详细说明&…

Python+PyCharm的安装配置及教程(实用)

python and PyCharm 安装教程可参考&#xff1a;https://blog.csdn.net/wangyuxiang946/article/details/130634049 Pyhon 下载地址&#xff1a;https://www.python.org/downloads/ PyCharm 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindo…

BMS开发之面向对象思想(adbms1818)

借鉴adbms1818的底层驱动代码 前言&#xff1a;adbms1818的主要用途就是不同种类的寄存器里面存储不同的数据&#xff0c;程序员需要通过特定的协议往寄存器里面写入或者读出数据 &#xff08;1&#xff09;定义一个结构体 里面存储了adbms1818的所有寄存器的信息。然后我们看…

手机电脑之间快速传输图片视频文件,不压缩画质、不限制大小的方法!

文件传输功能是日常必备功能&#xff0c;但总有传输工具不得“朕”心—— 想在手机和电脑之间传输稍微大一点的文件&#xff0c;弹出提示“限制多少多少G”&#xff0c;传个5G的视频或文件很平常吧&#xff0c;怎么就实现不了&#xff1f;想要将手机相册的视频和照片转移到电脑…

什么是设备树?

一. 简介 前面只是简单使用过设备树文件&#xff0c;接下来详细谈一谈设备树。掌握设备树是 Linux 驱动开发人员必 备的技能&#xff01; 因为在新版本的 Linux 中&#xff0c;ARM 相关的驱动全部采用了设备树(也有支持老式驱动的&#xff0c;比较少)&#xff0c;最新出的 CP…

Flink Watermark和时间语义

Flink 中的时间语义 时间语义&#xff1a; EventTime&#xff1a;事件创建时间&#xff1b;Ingestion Time&#xff1a;数据进入Flink的时间&#xff1b;Processing Time&#xff1a;执行操作算子的本地系统时间&#xff0c;与机器无关。不同的时间语义有不同的应用场合&#x…

光耀未来 第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾举行

1月3日&#xff0c;第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾盛大举行&#xff0c;本次比赛吸引了全国范围内的光伏行业顶尖人才和创新团队参与。 为深入贯彻《关于推动能源电子产业发展的指导意见》&#xff0c;推动我国能源电子产业升级&#xff0c;工业和信息化部…

CMake入门教程【核心篇】添加依赖(add_dependencies)

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;CMake入门教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&#x1f4dd; 文章目录 1. 基本用法2. 添加目…