当前位置: 首页 > news >正文

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

相关文章:

FBL刷写

刷写 1、刷写需求的理解2、刷写流程2.1、预编程阶段:保证在编程阶段的动作能够正常操作,控制器给响应。整车功能不会出现问题 刷写某一控制器时,避免其他控制器集DTC,85控制DTC; 28 通信控制.保证总线负载率不要过高(下…...

OpenCV-Python(24):模板匹配

原理及介绍 模板匹配是一种常用的图像处理技术,它用于在一幅图像中寻找与给定模板最匹配的区域(在一副大图中搜寻查找模版图像位置的方法)。模板匹配的基本思想是将模板图像在目标图像上滑动,并计算它们的相似度,找到相似度最高的位置即为匹配…...

机器学习--回归算法

🌳🌳🌳小谈:一直想整理机器学习的相关笔记,但是一直在推脱,今天发现知识快忘却了(虽然学的也不是那么深),但还是浅浅整理一下吧,便于以后重新学习。 &#x1…...

计算机网络——多址复用技术

1. 频分多址(FDMA) 1.1 基本原理 频率分配:在FDMA系统中,整个可用的频带被分割成多个较小的频带或通道。每个通道分配给一个用户。 时间利用:用户在分配给他们的频道上持续进行通信,不受时间限制。 1.2 优…...

stm32 HAL库 4096线ABZ编码器

[TOC]目录 ABZ编码器 4096线 买的是这个 AB相代表计数方向,Z代表过零点 cubemx配置 定时器Encoder 也可以选上DMA 中断 Z相GPIO中断 找一个空闲管脚 打开对应中断 代码 不用DMA int main(void) {short Enc_cnt 0;HAL_TIM_Encoder_Start_IT(&ht…...

Java爬虫之Jsoup

1.Jsoup相关概念 Jsoup很多概念和js类似,可参照对比理解 Document :文档对象。每份HTML页面都是一个文档对象,Document 是 jsoup 体系中最顶层的结构。 Element:元素对象。一个 Document 中可以着包含着多个 Element 对象&#…...

如何在 C# 12 中使用主构造函数

C# 12 中最引人注目的新功能之一是对主构造函数的支持。主构造函数的概念并不新鲜。包括 Scala、Kotlin 和 OCaml 在内的多种编程语言都支持直接在声明类的位置集成构造函数参数。 在本文中,我们将仔细研究主构造函数以及如何在 C# 12 中使用它们。若要运行本文中提…...

Zookeeper之Java客户端实战

ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。第三方的Java客户端API,比如Curator。 接下来我们将逐一学习一下这两个java客户端是如何操作zookeeper的。 1. ZooKe…...

将文本文件导入Oracle数据库的简便方法:SQL Loader Express

需求 我有一个文本文件dbim.txt,是通过alert log生成的,内容如下: 2020-09-11 2020-09-11 ... 2023-12-03 2023-12-03 2023-12-26我已经在Oracle数据库中建立了目标表: create table dbim(a varchar(16));我想把日志文件导入Or…...

element-ui table-自定义表格某列的表头样式或者功能

自带表格 自定义表格某列的表头样式或者功能 <el-table><el-table-column :prop"date">//自定义表身每行数据<template slot-scope"scope">{{scope.row[scope.column.label] - ? - : scope.row[scope.column.label]}}</template>…...

Android 13.0 SystemUI状态栏居中显示时间和修改时间显示样式

1.概述 在13.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了 效果图如下: 2.SystemUI状态栏居中显…...

讲解eureca和nacus的区别

Eureca和Nacus都是远程过程调用&#xff08;RPC&#xff09;框架&#xff0c;用于实现分布式系统中不同节点之间的通信。它们之间的主要区别如下&#xff1a; 架构设计&#xff1a;Eureca是一个基于JavaScript的RPC框架&#xff0c;它使用了WebSockets作为传输层协议。Eureca C…...

python中parsel模块的css解析

一、爬虫页面分类 1.想要爬取的内容全部在标签中&#xff0c;可以使用xpath去进行解析如下图 2.想要爬取的内容呈现json的数据特征&#xff0c;用.json()转换为字典格式 3.页面不规则&#xff0c;标签中包含大括号&#xff0c;如下面想要获取键值内容怎么做&#xff0c;先用re正…...

Oracle OCP怎么样线上考试呢

大家好&#xff01;今天咱们就来聊聊Oracle OCP这个让人又爱又恨的认证。为啥说又爱又恨呢&#xff1f;因为它既是IT界的“金字招牌”&#xff0c;又是一块硬骨头&#xff0c;不是那么容易啃下来的。好了&#xff0c;废话不多说&#xff0c;我们直奔主题&#xff0c;来看看关于…...

如何让自己的写的程序在阿里云一直运行

购买了阿里云服务器后&#xff0c;每次要用自己写在阿里云的服务器程序都要连接到云端 然后./运行该程序&#xff0c;而且每次一断开终端&#xff0c;该服务器就会自动停止&#xff0c;这样使用相当麻烦。那怎样才能让我们的服务器一直在云端后台运行&#xff0c;即便退出终端…...

【计算机图形学】NAP: Neural 3D Articulation Prior

文章目录 1. 这篇论文做了什么事&#xff0c;有什么贡献&#xff1f;2. Related Work铰接物体建模3D中的Diffusion model扩散模型 3. Pipeline铰接树参数化基于Diffusion的铰接树生成去噪网络 4. 实验评价铰接物体生成——以往做法与本文提出的新指标NAP捕捉到的铰接物体分布质…...

知识付费平台搭建?找明理信息科技,专业且高效

明理信息科技知识付费saas租户平台 在当今数字化时代&#xff0c;知识付费已经成为一种趋势&#xff0c;越来越多的人愿意为有价值的知识付费。然而&#xff0c;公共知识付费平台虽然内容丰富&#xff0c;但难以满足个人或企业个性化的需求和品牌打造。同时&#xff0c;开发和…...

CentOS7部署Kafka

CentOS7部署Kafka 一、部署1、前置条件2、下载与解压3、修改配置4、启动kafka二、使用详解1、创建一个主题2、展示所有主题3、启动消费端接收消息4、生产端发送消息三、代码集成pom.xmlapplication.propertiesKafkaConfiguration.javaKafkaConsumer.javaKafkaProducer.javaVehi…...

JS的防抖和节流

目录 防抖 搜索框带来的问题 实现的思路 案例 封装防抖函数 节流 滚动条加载带来的问题 实现的思路 案例 封装节流函数 防抖 搜索框带来的问题 需求&#xff1a;根据输入框内容来请求数据 <!DOCTYPE html> <html lang"en"> <head><…...

互联网加竞赛 基于人工智能的图像分类算法研究与实现 - 深度学习卷积神经网络图像分类

文章目录 0 简介1 常用的分类网络介绍1.1 CNN1.2 VGG1.3 GoogleNet 2 图像分类部分代码实现2.1 环境依赖2.2 需要导入的包2.3 参数设置(路径&#xff0c;图像尺寸&#xff0c;数据集分割比例)2.4 从preprocessedFolder读取图片并返回numpy格式(便于在神经网络中训练)2.5 数据预…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...