【车载开发系列】ECU Application Software程序刷新步骤

news2024/12/23 17:21:09

【车载开发系列】ECU Application Software程序刷新步骤

ECU Application Software程序刷新步骤

  • 【车载开发系列】ECU Application Software程序刷新步骤
    • 一. Boot Software(引导软件)
      • 1)boot manager(启动管理器)
      • 2)Reprogramming Software(重编程软件)
      • 3)boot memory partition(启动内存分区)
    • 二. Tester(测试仪)与Client(客户端)
      • 1)Client客户端
      • 2)Tester测试仪
    • 三. Diagnostic Data(诊断数据)
      • 1)当前值
      • 2)存储值
      • 3)静态值
    • 四. Application Software程序升级步骤
      • 1)Pre-Programming Step
      • 2)Programming Step
      • 3)Post-Programming Step

一. Boot Software(引导软件)

在服务器存储器的一个特殊部分中执行的软件,主要用于启动ECU和执行服务器编程,该内存区域在正常编程序列期间不会被擦除,并且必须在服务器应用程序丢失或被视为无效时执行,以始终确保重新编程服务器的能力
一个ECU包含了三部分 Boot Manager、Application Software以及Boot Software,其中Boot Software由Boot Manager和Reprogramming Software组成,在汽车嵌入式中,我们常说的bootloader就是Boot Software。
在这里插入图片描述

1)boot manager(启动管理器)

在ECU开机或重置后立即执行的引导软件的一部分,其主要目的是检查与将控制转移到重编程软件,还有是否有有效的应用程序可供执行。启动管理器还可以考虑到将控制转换到重编程软件的其他条件。

2)Reprogramming Software(重编程软件)

引导软件的一部分,用于重新编程电子控制单元。

3)boot memory partition(启动内存分区)

引导软件所在的服务器内存中的区域。

二. Tester(测试仪)与Client(客户端)

1)Client客户端

作为测试仪一部分并使用诊断服务的功能,测试仪通常使用其他功能,如数据库管理、特定解释、人机界面。

2)Tester测试仪

控制车载电子控制单元的测试、检查、监控或诊断等功能的系统,可以专用于特定类型的操作员(例如,专用于车库机械的非车载扫描工具、专用于装配厂的非车载测试工具或车载测试仪)。

三. Diagnostic Data(诊断数据)

位于电子控制单元存储器中的数据,可由测试仪检查和/或修改。诊断数据包括模拟输入和输出、数字输入和输出,中间值和各种状态信息。
诊断数据的示例包括车速、节气门角度、后视镜位置、系统状态等。
诊断数据定义了三种类型的值:

1)当前值

电子控制单元正常操作当前使用的值(或由此产生的值)

2)存储值

在特定时刻(例如发生故障或周期性故障时)生成的当前值的内部副本,该副本在电子控制单元的控制下制作;比如DTC快照数据就是存储值。

3)静态值

例如,VIN。服务器没有义务为诊断目的保存其数据的内部副本,在这种情况下,测试仪只能请求当前值。
定义维修车间或开发测试会话会选择不同的服务器功能(例如,仅在开发测试会话中才允许访问所有内存位置)。

四. Application Software程序升级步骤

对于汽车ECU的Application Software升级,OEM几乎都是遵循UDS规范。
Application Software程序升级主要分为三个阶段:Pre-Programming Step、Programming Step、Post-Programming Step。
在这里插入图片描述

1)Pre-Programming Step

此阶段的主要​做一些Application Software升级前的检查,确保正式升级Application软件之前,车辆工况的安全性。这里举几个常见的检查条件:车速、诊断电压、KL15信号有效性等。
车速:约束车速<2Km/h,也就是说不允许车辆行驶过程中进行软件升级。
诊断电压:诊断电压会约束在一定的范围,比如:10V~16V,避免升级过程中,因电压过低或者过高导致刷写失败。
KL15信号有效性:为了确保收到的信号质量,一般会检查这个信号的有效性(Valid or Invalid),有效的信号才能确保升级过程中的稳定性。
以上这些都是安全检查,目的就是一个保证安全。

2)Programming Step

经过了前面车辆工况的安全检查,此时可以进行Application Software的软件升级。Application Software的软件遵循UDS协议
在这里插入图片描述
Step1:
进入编程会话,只有特定的编程会话下,才能进行Application Software升级。
Step2:
进行安全检查,通过OEM指定的算法进行Key的比对,主要是确认操作人员的合法性。就好比每个人只有自家的钥匙,自家的钥匙只能打开自家的门,而不能打开别人家的门一样,也就是Key的唯一性。
Step3:
写指纹信息,比如Application程序的软件版本号等。
Step4:
此过程将Flash Driver下载到ECU中,为擦除旧的Application Software做准备,确切说是下载内存擦除例程(memory erase routine)。一般Flash Driver不会放在ECU内部,担心程序异常跑到Flash Driver位置,将有效的Application擦除,所以,Flash Driver只有在Application程序升级时下载到ECU的RAM区。
Step5:
检查Flash Driver的有效性,只有Flash Driver成功下载,之后的Application程序擦除和更新才能成为可能
Step6:
执行旧Application程序的擦除。
Step7与Step8:
与Step4~Step6功能类似,这里是下载Flash Driver的内存编程例程(memory programming routine)。在实际项目中,Step4~Step8就是Flash Driver的下载,包括memory erase routine和memory programming routine。
Step9:
刷写新的Application Software到ECU。Step10:
更新Application Software以后,需要检查下载数据的完整性,确保数据可靠。
Step11:
检查Application Software的有效性,比如签名(signature)是否正确等。
Step12:
写配置信息,比如车辆VIN等。

3)Post-Programming Step

此阶段主要是Application Software更新后的网络恢复,即:Application Software更新好以后,重新参与工作。常用的做法就是执行ECU Reset,也可以让诊断刷写的S3时间超时,程序重新复位。
在这里插入图片描述

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

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

相关文章

Flink1.12.7 Standalone版本安装

官网下载版本:https://archive.apache.org/dist/flink/flink-1.12.7/flink-1.12.7-bin-scala_2.12.tgz 可以从首页找到Downloads | Apache Flink,一直往下拉 安装:下载后直接解压即可 添加全局参数: #vi /etc/profile FLINK_HO…

云服务器免费体检

三丰云提供了免费云服务器与免费虚拟主机服务, 个人学习、搭建个人网站或者微信小程序调试等可以申请一台。 免费申请网址为: https://www.sanfengyun.com/ 还是挺方便的,大家可以体验体验。

【校招VIP】前端操作系统之I/O调度算法

考点介绍 I/O 调度算法在各个进程竞争磁盘I/O的时候担当了裁判的角色。他要求请求的次序和时机做最优化的处理,以求得尽可能最好的整体I/O性能。 前端操作系统之I/O调度算法-相关题目及解析内容可点击文章末尾链接查看! 一、考点题目 1. 某文件占10个…

Kafka的消息存储机制

前面咱们简单讲了K啊开发入门相关的概念、架构、特点以及安装启动。 今天咱们来说一下它的消息存储机制。 前言: Kafka通过将消息持久化到磁盘上的日志文件来实现高吞吐量的消息传递。 这种存储机制使得Kafka能够处理大量的消息,并保证消息的可靠性。 1…

西门子S7-1200使用LRCF通信库与安川机器人进行EthernetIP通信的具体方法示例

西门子S7-1200使用LRCF通信库与安川机器人进行EthernetIP通信的具体方法示例 准备条件: PLC:S7-1200 1214C DC/DC/DC 系统版本4.5及以上。 机器人控制柜:安川YRC1000。 软件:TIA V17 PLC做主站,机器人做从站。 具体方法可参考以下内容: 使用的库文件为西门子 1200系列…

[React] react-hooks如何使用

react-hooks思想和初衷,也是把组件,颗粒化,单元化,形成独立的渲染环境,减少渲染次数,优化性能。 文章目录 1.为什么要使用hooks2.如何使用hooks2.1 useState2.2 useEffect2.3 useLayoutEffect2.4 useRef2.5…

【前段基础入门之】=>HTML5 的新增特性!

这里写目录标题 HTML5简介HTML5 优势新增语义化标签新增布局标签新增状态标签meter 标签progress 标签 新增列表标签新增文本标签文本注音文本标记 新增表单功能表单控件新增属性input 新增属性值form 标签新增属性 新增多媒体标签视频播放标签音乐播放标签 新增全局属性&#…

ICCV 2023 | 噪声关联鲁棒的图匹配方法

©PaperWeekly 原创 作者 | 林义杰 单位 | 四川大学 研究方向 | 多模态、多视角学习 论文标题: Graph Matching with Bi-level Noisy Correspondence 论文地址: https://arxiv.org/pdf/2212.04085.pdf 开源代码: https://github.com/XLe…

word文档莫名其妙的丢失了怎么办?7个方案恢复

不知道你是否曾经遇到过相似的情况:花费了数小时甚至数天编辑的Word文档,却莫名其妙的丢失了。这时的心情可能非常复杂。如果你不知道该怎么办,以下是几种恢复方案,希望能对你有所帮助! 关于Word文档 Word文档通常是由…

Vue路由与nodejs下载安装及环境变量的配置

目录 前言 一、Vue路由 1.路由简介 是什么 作用 应用场景 2.SPA简介 SPA是什么 SPA的优点 注意事项 3.路由实现思路 1.引入路由的js依赖 2.定义组件 3.定义组件与路径的对应关系 4.通过路由关系获取路由对象router 5.将路由对象挂载到实例中 6.触发路由事…

学生选课系统基础版

目录 一.Java 中的集合框架(上) 1.Java中的集合框架概述 2.Collection接口&接口简介 3.学生选课——创建学生类和课程类 4.学生选课——添加课程Ⅰ 5.学生选课——添加课程Ⅱ 6.学生选课——课程查询 7.学生选课——课程修改 8.学生选课——课程删…

Java日志源码详解,SpringBoot日志 slf4j、logback、log4j

日志视频讲解—上日志视频讲解—下学习文档集合 一、前提 在Java中说起日志,定听过这样几个名词:slf4j、logback、log4j,在正式开始之前,先了解几个简单的概念 slf4j、logback、log4j 的作者都是一个人slf4j 的全名是 Simple Log…

ByteTrack 论文学习

1. 解决了什么问题? 多目标跟踪是在给定的视频片段中,预测出目标的边框和 ID 信息。现有方法需要在 true positives 和 false positives 之间做取舍,将高于一定阈值的检测框关联起来,获取其 ID。而那些低得分的目标(如…

全新的Windows12上线抢先体验

AIGC专栏/AI绘画教程/java面试题领取 win12太离谱了,win11还没用几天,win12就已经出来了,如此流畅的页面,很具有和苹果一拼的效果,流畅度也是一流。文末有领取方式。 WIN12系统在色差表现方面也超越了苹果。它采用了前…

华为数通方向HCIP-DataCom H12-831题库(单选题:141-160)

第141题 R3与R1的IS-IS邻居没有建立,根据本图的信息,可能的原因是? A、R3与R1的IS-Level不匹配 B、R3与R1的互连接口circuit-type不匹配 C、R3与R1的IIH认证失 D、R3与R1的System ID重复 答案: B 解析: 从上图的Bad Circuit Type:16 可知道R3与R1的互连接口circuit-type…

【EI会议征稿】第三届计算机图形学、人工智能与数据处理国际学术会议 (ICCAID 2023)

第三届计算机图形学、人工智能与数据处理国际学术会议 2023 3rd International Conference on Computer Graphics, Artificial Intelligence and Data Processing (ICCAID 2023) 第三届计算机图形学、人工智能与数据处理国际学术会议(ICCAID 2023)将于…

基于数据驱动的成本洞察,趣丸科技的FinOps进阶之路~

今年以来,我们注意到越来越多的单位开始积极实践FinOps,而随着FinOps的发展,大家对于其落地过程的关注也更加具体和深入,涉及了账单波动、FinOps的边际效应、成本模型、依赖工具等多个关键问题。 本月「UGeek大咖说」线上直播活动…

机器学习之泛化与过拟合的概念

文章目录 泛化(Generalization):过拟合(Overfitting):例子 泛化(Generalization): 泛化是指机器学习模型在未见过的新数据上表现良好的能力。换句话说,一个好…

【软件测试】Junit5

Selenium自动化测试框架Junit单元测试框架拿着一个技术写自动化测试用例 (Selenium3)拿着一个技术管理已经编写好的测试用例 (Junit5) Junit相关技术 Junit是针对java的一个单元测试框架。 注解 Test 表示当前的这个方法是一个测试用例 添加依赖: 不需要main方…

解决react使用redux toolkits时出现的数组对象长度始终为0的怪异问题

有个react项目在添加购物车后,立马白屏,看一下console报错properties of undefined(reading length) 那意思是说数组没有长度,然后定位Header.tsx的182行,果然是数组长度报错 回到具体代码中:发现shoppingCartItems实…