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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell脚本实现九九乘法表

9*9乘法表 判断服务是否开启 1.查看80端口是否被监听 [rootlocalhost ~]# ss -an | grep 80 tcp LISTEN 0 128 *:80 *:* 2.查看80端口/httpd服务是否开启 [rootlocalhost ~]# n…

AndroidStudio导入jar包

目录 1. 转为Project模式 2. 将jar文件粘贴到app/libs文件夹中 3. 右键jar 包,点击Add As Library 在AndroidStudio中导入jar包(jar文件)。 1. 转为Project模式 2. 将jar文件粘贴到app/libs文件夹中 3. 右键jar 包,点击Add As…

109-Gradle构建工具的学习

Gradle构建工具的学习 Gradle 简介: Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库,支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言&am…

jmeter使用心得(一)

jmeter作为接口测试的常用工具之一,在我们的测试中经常会用到,往期的文章中,我们也分享过jmeter的各种功能和用法,基本覆盖了方方面面,可以满足各种接口测试的需求。但实际测试中我们也会发现,jmeter这么强…

前置微小信号放大器有哪些经典应用场景

前置微小信号放大器是电子系统中的关键组件,用于放大输入信号的微小幅度,以提高信号与噪声比和系统的灵敏度。这些放大器在各种应用中发挥着关键作用,以下是前置微小信号放大器的一些经典应用场景: 通信系统: 前置微小…

CSS案例:flex、justify-content、align-items

黑马程序员JS学习时的一个案例,CSS有点不懂,单拎出来分析。 具体出处是某站视频中的数组篇讲解,(点击链接跳转) CSS案例 效果&代码1. 先分析最大的boxflex布局 justify-contentalign-items以 flex-end 为例 2. box…

公众号文章如何提高阅读量?媒介盒子教你几招

公众号作为微信运营的主要载体,做得好就能让品牌得到大量曝光,公众号文章作为长文案想要写好还需要一定的技术,今天媒介盒子就来和大家聊聊公众号文章怎么写才能提高阅读量: 一、 内容干货满足读者求知欲 只要你的文章实用性强&…

(17)Linux的进程阻塞进程程序替换 exec 函数簇

前言:本章我们讲解它的 options 参数。在讲解之前我们需要理解进程阻塞,然后我们重点讲解二进程程序替换,这是本章的重点,然后介绍一个进程替换函数 execl,通过介绍这个函数来打开突破口,引入进程创建的知识…

openmediavault(OMV) (27)网络(2)adguardhome

简介 AdGuard Home 是一个开源的网络广告和隐私保护解决方案,它充当局域网中的 DNS 服务器,提供广告拦截、跟踪器阻止和家长控制等功能。它可以在个人电脑、树莓派或其他支持的硬件设备上运行。 AdGuard Home 的主要功能包括: 广告拦截:AdGuard Home 使用广泛维护的广告…

数据湖的概念

1.定义 不同的公司对数据湖有不同的描述: 维基百科:数据湖是一类存储数据自然/原始格式的系统或存储,通常是对象块或者文件。数据湖通常是企业中全量数据的单一存储。全量数据包括原始系统所产生的原始数据拷贝以及为了各类任务而产生的转换…

基于人工智能的数据库工具Chat2DB使用

文章目录 前言Chat2DB介绍Chat2DB地址下载安装 Chat2DB配置Chat2DB使用1、自然语言转sql2. SQL解释3. SQL优化4. SQL转换 写在最后 前言 随着人工智能的发展,各行各业都出现了不少基于AI的工具来提升工作效率。就连国内的各个大厂也都在基于大模型开发自己的产品线…

大公司里怎样开发和部署前端代码?

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello,大家好,我是 Sunday。 昨天的时候有同学问到前端部署相关的内容,正好在知乎中看到…

Flask入门教程

Flask入门教程 简介 Flask是由Armin ronacher于2010年用Python语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。 特点 Flask只提供核心功能,其他几乎所有的功能都需要用到拓展,比如可以通过Flask-SQLAlchemy拓展对数据库进行操作等等。 核心 由…

基于双向LSTM模型完成文本分类任务

6.4.1 数据处理 IMDB电影评论数据集是一份关于电影评论的经典二分类数据集.IMDB 按照评分的高低筛选出了积极评论和消极评论,如果评分 ≥7≥7,则认为是积极评论;如果评分 ≤4≤4,则认为是消极评论.数据集包…

“ManageEngine荣获Gartner SIEM客户选择四连冠“

我们非常激动地宣布,ManageEngine已经连续第四次被认定为Gartner Peer Insights‘Voice of the Customer’:安全信息与事件管理(SIEM)中的客户选择。这不仅是对我们卓越SIEM解决方案承诺的肯定,也延续了ManageEngine在…

检测和缓解僵尸网络

僵尸网络源自“机器人网络”一词,是感染了恶意软件的网络或机器集群,允许黑客控制并发起一系列攻击。僵尸网络的强度完全取决于它所包含的受感染机器的数量。攻击者接管这些设备的操作,以使用僵尸网络命令和控制模型进行远程控制。 什么是僵…

K线+直线 现货黄金也可能变现

现货黄金行情怎么做,这是投资者需要思考的问题。幸运的是,现在市面上有很多书籍,是其他有经验、有想法的投资者们对其经验的总结和分享,此外网络上还有不同的文章和各种各样的视频介绍相关交易经验,这都是可以让我们借…

22款奔驰GLE450升级香氛负离子 车载香薰

相信大家都知道,奔驰自从研发出香氛负离子系统后,一直都受广大奔驰车主的追捧,香氛负离子不仅可以散发出清香淡雅的香气外,还可以对车内的空气进行过滤,使车内的有害气味通过负离子进行过滤,达到车内保持清…

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt)

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt) 一、对于txt,图片类的二、对于word,xlsx,ppt类的1.a标签可以实现下载2. window.open() 一、对于txt,图片类…

aliexpress商品API(item_get-获得aliexpress商品详情):进行批量操作

使用AliExpress的店铺或分类API:这些API可以为你提供某个店铺或分类下的所有商品列表,然后你可以根据这个列表逐个查询商品详情。分批查询:你可以将商品ID分成多个批次,每次只查询一部分商品详情,这样既可以减少每次请…