【车载开发系列】 ECU的在线刷写流程

【车载开发系列】 ECU的在线刷写流程

一. ECU的刷写概念

成品车上要进行ECU的软件刷新,可以通过即Bootloader刷写和OTA升级。通过OBD接口进行Bootloader刷新的方式是目前的主流方式。
Bootloader分为Primary Bootloader跟Secondary Bootloader。
Primary Bootloader由ECU供应商预先编辑到非易失性存储器中,包含PBL的区域必须防止擦除,避免由于意外擦除PBL。Secondary Bootloader存储在易失性存储器中

二. 什么是OTA

OTA是“over-the-air”的缩写,是一种无线技术,用于在不需要接触设备的情况下向移动设备或物联网设备提供更新、补丁或新版本的软件。OTA更新通常通过无线网络(如Wi-Fi或移动数据)进行,这使得设备可以在不需要任何物理连接的情况下获得更新。这种技术在智能手机、智能家居设备和车载系统等设备中得到广泛应用。
总结起来就是OTA让BootLoader完成:接收新APP—擦除旧APP—写入新APP—跳转到新APP执行 的这么一系列的过程。

三. 什么是Flash Driver

在ECU OTA 程序升级过程中,需要执行一段比较特殊的代码,这段代码实现对自身Flash的擦除与写入,它就是Flash Driver。
在OTA开始后,会先传入Flash Driver到RAM中,再开始刷写APP
在OTA完成之后,会执行SID$11$01 MCU复位的操作,复位前会清除这部分RAM空间,或者重新给ECU上电后,Flash Driver就失效了。

四. FlashDriver的特点

FlashDriver程序和boot程序的ld文件不同,FlashDriver需要在ld文件中指定RAM地址,这样生成的代码的地址就固定在RAM里。
为了安全的考虑,会尽可能的避免在代码中固化有对flash空间进行擦除或写入的操作,主要为了避免在程序跑飞时误调用该部分代码,使软件代码部分受到破坏。
通过34服务将地址告诉下位机。下位机通过指针调用烧写函数。

五. ECU刷写流程汇总

在车载ECU软件刷新的时候,会使用到FlashDriver。刷写主流程见下面。主机厂会对刷写流程及校验算法做出规定,并且刷写流程基本没有太多差别。
所以我们下载的flash driver其实可以认为是擦写flash的一段代码下载到指定的ram位置。

1)刷写前准备

1)进入扩展会话SID$10$03
2)解锁安全密钥
3)检查预编程条件
4)SID$85关闭DTC记录
5)SID$28停发APP报文及NM报文
上面的步骤4和步骤5目的是在Download FlashDriver和APP之前,增加带宽。

2)刷写主流程

1)进入编程会话
2)解锁boot级别的安全密钥
3)写指纹信息
4)请求下载flash driver
5)下载flash driver
6)完成flash driver下载
7)检查flash driver有效性
8)擦除pflash
9)请求下载app file
10)下载app file
11)完成app file 下载
12)检查app file程序有效性

3)刷写完成流程

1)进入扩展会话
2)28使能APP和NM
3)85打开DTC记录
4)进入默认会话

内容概要:本文详细介绍了车载电子电器架构中的基础技术开发,涵盖车辆诊断、通信、网络管理、车辆模式等方面的开发流程及内容,使研发工程师对基础技术开发有基本认知。基础技术开发涉及多个关键职责,包括概念开发、需求规范发布、测试验证、线束设计需求发布、ECU开发文档握手及状态跟踪、开发风险汇报、整车ECU刷写及OTA开发与验证、整车信号数据库(SDB)、诊断数据库(DDB)及车辆配置数据库(CCDB)开发与推进、EOL需求开发及验证、售后诊断系统开发与验证等。每个环节都强调了与各部门的紧密协作、需求的准确传递、开发流程的严格把控及文档的编写与维护。 适合人群:具备汽车工程、电子工程、计算机科学和质量控制背景的研发工程师,尤其是从事车载基础技术研发的专业人士。 使用场景及目标:①帮助研发工程师理解车载基础技术开发的全流程,掌握从概念设计到最终验证的关键步骤;②确保开发过程中信息准确传递,降低开发风险,保证项目按计划顺利进行;③通过数据库开发与推进,提升数据的准确性和完整性,推动标准化和规范化;④开发高效的售后诊断系统,提高售后服务的质量和效率。 其他说明:车载基础技术开发是一个复杂且充满挑战的领域,要求开发者不仅具备扎实的技术背景,还需拥有出色的项目管理、团队协作和沟通能力。随着汽车行业的不断发展和技术进步,车载基础技术开发的重要性日益凸显,开发者需不断学习和提升技能,以适应市场需求和技术发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值