CN110275726A - 一种车载电控单元控制程序备份升级方法 - Google Patents
一种车载电控单元控制程序备份升级方法 Download PDFInfo
- Publication number
- CN110275726A CN110275726A CN201910565019.3A CN201910565019A CN110275726A CN 110275726 A CN110275726 A CN 110275726A CN 201910565019 A CN201910565019 A CN 201910565019A CN 110275726 A CN110275726 A CN 110275726A
- Authority
- CN
- China
- Prior art keywords
- program
- application code
- code area
- area
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件管理领域,具体涉及一种车载电控单元控制程序备份升级方法。本发明提供的车载电控单元控制程序备份升级方法,在程序生成的过程中,在不同位置生成两个完全相同的程序,并将其合成在同一执行文件中,这样保证在车载电控单元中同时有两套完全相同的可执行程序,在进行程序更新升级时,备份程序的存在可以让控制器无顾忌的进行更新,即使更新失败,也会有备份程序保证车载控制器的正常运行。
Description
技术领域
本发明涉及软件管理领域,具体涉及一种车载电控单元控制程序备份升级方法。
背景技术
随着汽车技术的发展,人们对整车安全性和舒适性的要求越来越高,车载电控单元(Electronic Control Unit,简称ECU)的功能逐步增强,数量也越来越多,这就造成汽车控制中,对车控软件的依赖越来越高;另外,在售后维修保养时,外部诊断设备也经常需要与车载控制模块建立通讯链接,以了解汽车控制状况,这就对车控软件运行的稳定性提出了更高的要求。
车控软件通常需要定期更新以优化性能或者解决问题。现有技术中,软件的更新大多需要车主把汽车开到维修点,由维修点专业人员进行操作,且软件更新过程不能出现中断或者操作错误,否则车载控制器就会无法正常工作,因此目前软件的更新即依赖于专业人员操作,也依赖稳定的更新操作环境,车控软件必不可少的更新成立一种高危操作。
发明内容
本发明的发明目的在于:提供一种能够避免执行软件升级中遇到错误而使汽车无法行驶的方法,为了实现上述目的
为了实现上述目的,本发明采用的技术方案为:
一种车载电控单元控制程序备份升级方法,在程序生成时,程序链接的步骤中,使用2个不同的link脚本文件,将程序代码同时链接在两个完全不同的地址区。
优选的,所述2个不同的link脚本中,对程序代码的两个存放区域通过固定偏移地址的方式实现。
进一步的,将存放在两个完全不同地址区的程序代码合并在一个执行文件中,并将其植入ECU运行。即,本法发明提供的方法并不需要维护两个版本的程序,只需要在程序生成时产生两份完全相同的代码即可。
进一步的,在对车载电控单元进行程序更新时,采用如下步骤:
软件启动步骤:
ECU上电后,启动代码区上电,进行代码完整性和兼容性自检,如发现代码不完整或不兼容,则程序停留在启动代码区;
否则,
进入客户指定功能区,对应用代码区进行代码完整性和兼容性自检,如发现应用代码区不正常时,跳转到备份应用代码区,进入备份应用代码区主函数;
否则,
进入应用代码区主函数;
软件更新步骤:
判断程序是否运行在备份应用代码区,
如是,对应用代码区程序进行更新;
否则,对应用代码区或备份应用代码区进行更新。
进一步的,程序运行在应用代码区时,如对应用代码区进行更新,则需将程序转入备份应用代码区运行。
进一步的,应用代码区程序可以正常运行时,才可以执行备份应用代码区的程序更新操作。
进一步的,备份应用代码区程序可以正常运行时,才可以执行应用代码区的程序更新操作。
综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明提供的车载电控单元控制程序备份升级方法,在程序生成的过程中,在不同位置生成两个完全相同的程序,并将其合成在同一执行文件中,这样保证在车载电控单元中同时有两套完全相同的可执行程序,在进行程序更新升级时,备份程序的存在可以让控制器无顾忌的进行更新,即使更新失败,也会有备份程序保证车载控制器的正常运行。
附图说明
图1是本发明实施中两个相同程序代码分布示例图。
图2是本发明实施例中对控制程序更新流程图。
具体实施方式
下面结合附图,对本发明作详细的说明。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1、图2所示,本实施例提供一种车载电控单元控制程序备份升级方法,众所周知的,任何嵌入式程序的生成过程都包括编译、链接、执行文件生成这几个步骤,同样的,本发明提供的ECU控制程序也不例外,不同的是,本实施例中,在程序链接步骤中,使用2个不同的link脚本文件,将程序链接在两个完全不同的地址区,优选的,所述2个不同的link脚本中,对程序代码的两个存放区域通过固定偏移地址的方式实现。进一步的,在程序执行文件生成步骤中,将存放在两个完全不同地址区的程序代码合并在一个执行文件中,并将其植入ECU,代码通过CAN通讯方式下载到ECU中,具体的代码分布可参考图1描述般分布在ECU的Flash中,执行两个程序中的任意一个均可保证ECU的正常运行。同时,两个程序中的任意一个出现问题,都可自动切换至另外一个程序,从而保证ECU继续正常运行。即,本法发明提供的方法并不需要维护两个版本的程序,只需要在程序生成时产生两份完全相同的代码即可。
而在需要对ECU进行程序更新升级时,采用如下步骤:
软件启动步骤:
ECU上电后,启动代码区(Startup-block Area)上电,进行代码完整性和兼容性自检,代码完整性自检是指检查代码是否被部分擦除或改写,代码兼容性自检是指是否被更新为其他不兼容代码,如发现代码不完整或不兼容,则程序停留在Startup-block Area。
如未发现代码不完整或不兼容,则进入客户指定功能区(customer-blockArea),对应用代码区(ApplicationArea)进行代码完整性和兼容性自检,如发现应用代码区不正常时,跳转到备份应用代码区(BackupApplicationArea),进入备份应用代码区主函数,即,此时ECU是由备份程序控制运行。
如应用代码区(ApplicationArea)代码正常,则进入应用代码区主函数,即,此时ECU是由主程序控制运行。
在软件更新和/或升级时,采用如下步骤:
判断程序是否运行在备份应用代码区,如是,则对应用代码区程序进行更新;否则,选择对应用代码区或备份应用代码区进行更新。应注意的是,程序运行在应用代码区时,如对应用代码区进行更新,则需将程序转入备份应用代码区运行。
另外,更新应用代码区或者备份应用代码区时保证需有另一区域程序可完整运行,即应用代码区程序可以正常运行时,才可以执行备份应用代码区的程序更新操作。同样的,备份应用代码区程序可以正常运行时,才可以执行应用代码区的程序更新操作,否则不能进行正常更新升级。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种车载电控单元控制程序备份升级方法,其特征在于,在程序生成时,
程序链接的步骤中,使用2个不同的link脚本文件,将程序代码同时链接在两个完全不同的地址区。
2.如权利要求1所述的方法,其特征在于,所述2个不同的link脚本中,对程序代码的两个存放区域通过固定偏移地址的方式实现。
3.如权利要求1所述的方法,其特征在于,将存放在两个完全不同地址区的程序代码合并在一个执行文件中。
4.如权利要求3所述的方法,其特征在于,在对车载电控单元进行程序更新时,采用如下步骤:
软件启动步骤:
启动代码区上电,进行代码完整性和兼容性自检,如发现代码不完整或不兼容,则程序停留在启动代码区;
否则,
进入客户指定功能区,对应用代码区进行代码完整性和兼容性自检,如发现应用代码区不正常时,跳转到备份应用代码区,进入备份应用代码区主函数;
否则,
进入应用代码区主函数;
软件更新步骤:
判断程序是否运行在备份应用代码区,
如是,对应用代码区程序进行更新;
否则,对应用代码区或备份应用代码区进行更新。
5.如权利要求4所述的方法,其特征在于,程序运行在应用代码区时,如对应用代码区进行更新,则需将程序转入备份应用代码区运行。
6.如权利要求4所述的方法,其特征在于,应用代码区程序可以正常运行时,才可以执行备份应用代码区的程序更新操作。
7.如权利要求4所述的方法,其特征在于,备份应用代码区程序可以正常运行时,才可以执行应用代码区的程序更新操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910565019.3A CN110275726A (zh) | 2019-06-27 | 2019-06-27 | 一种车载电控单元控制程序备份升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910565019.3A CN110275726A (zh) | 2019-06-27 | 2019-06-27 | 一种车载电控单元控制程序备份升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110275726A true CN110275726A (zh) | 2019-09-24 |
Family
ID=67963464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910565019.3A Pending CN110275726A (zh) | 2019-06-27 | 2019-06-27 | 一种车载电控单元控制程序备份升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110275726A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704076A (zh) * | 2019-10-15 | 2020-01-17 | 上海元城汽车技术有限公司 | 数据处理方法和装置、车载控制器及计算机可读存储介质 |
CN112732301A (zh) * | 2021-01-07 | 2021-04-30 | 广州橙行智动汽车科技有限公司 | 一种车辆升级方法和装置 |
CN116360831A (zh) * | 2023-05-31 | 2023-06-30 | 中国第一汽车股份有限公司 | 一种应用程序升级方法、装置、电子设备及存储介质 |
CN116610340A (zh) * | 2023-05-06 | 2023-08-18 | 广州汽车集团股份有限公司 | 车辆软件的更新方法、装置、车辆及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289395A (zh) * | 2011-07-14 | 2011-12-21 | 深圳市共进电子有限公司 | 嵌入式设备上使用双代码镜像运行的方法 |
CN104252369A (zh) * | 2013-06-27 | 2014-12-31 | 上海博泰悦臻电子设备制造有限公司 | 车载设备及其双系统备份方法及装置 |
CN105573787A (zh) * | 2015-12-15 | 2016-05-11 | 上海博泰悦臻网络技术服务有限公司 | 基于车载T-Box实现软件升级的方法及装置 |
CN105589765A (zh) * | 2015-12-17 | 2016-05-18 | 迈普通信技术股份有限公司 | 一种实现程序备份的方法 |
CN106598597A (zh) * | 2016-12-14 | 2017-04-26 | 普华基础软件股份有限公司 | 一种电控单元应用软件刷新方法 |
-
2019
- 2019-06-27 CN CN201910565019.3A patent/CN110275726A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289395A (zh) * | 2011-07-14 | 2011-12-21 | 深圳市共进电子有限公司 | 嵌入式设备上使用双代码镜像运行的方法 |
CN104252369A (zh) * | 2013-06-27 | 2014-12-31 | 上海博泰悦臻电子设备制造有限公司 | 车载设备及其双系统备份方法及装置 |
CN105573787A (zh) * | 2015-12-15 | 2016-05-11 | 上海博泰悦臻网络技术服务有限公司 | 基于车载T-Box实现软件升级的方法及装置 |
CN105589765A (zh) * | 2015-12-17 | 2016-05-18 | 迈普通信技术股份有限公司 | 一种实现程序备份的方法 |
CN106598597A (zh) * | 2016-12-14 | 2017-04-26 | 普华基础软件股份有限公司 | 一种电控单元应用软件刷新方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704076A (zh) * | 2019-10-15 | 2020-01-17 | 上海元城汽车技术有限公司 | 数据处理方法和装置、车载控制器及计算机可读存储介质 |
CN112732301A (zh) * | 2021-01-07 | 2021-04-30 | 广州橙行智动汽车科技有限公司 | 一种车辆升级方法和装置 |
CN116610340A (zh) * | 2023-05-06 | 2023-08-18 | 广州汽车集团股份有限公司 | 车辆软件的更新方法、装置、车辆及存储介质 |
CN116360831A (zh) * | 2023-05-31 | 2023-06-30 | 中国第一汽车股份有限公司 | 一种应用程序升级方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275726A (zh) | 一种车载电控单元控制程序备份升级方法 | |
US20180081671A1 (en) | Program rewriting device and program rewriting method | |
US10936306B2 (en) | Vehicle control system and software compatibility checking method | |
EP4033351B1 (en) | Vehicle control system and method for confirming software consistency | |
CN110231952A (zh) | 一种ecu程序备份及循环升级控制方法及装置 | |
EP2482187A1 (en) | Software upgrading method, software upgrading system and client | |
US20030051235A1 (en) | Method and apparatus for verifying and analyzing computer software installation | |
KR102639949B1 (ko) | 차량에 소프트웨어 업데이트를 설치하기 위한 방법 및 서브 시스템 | |
CN109923518A (zh) | 用于安全关键系统的软件更新机制 | |
CN105389187B (zh) | 一种系统更新的方法 | |
US9569404B2 (en) | In-vehicle controller and non-transitory tangible computer readable medium | |
CN107209700B (zh) | 控制装置、具备该控制装置的车载程序的改写装置以及车载程序的改写方法 | |
CN114625400A (zh) | 整车ota升级方法与系统、存储介质、车端升级设备 | |
CN115454462A (zh) | Ota管理器、系统、方法、非暂时性存储介质以及车辆 | |
CN115016809A (zh) | 中心、更新管理方法、以及非暂时性存储介质 | |
WO2019057312A1 (en) | METHOD FOR UPDATING REMOTE ONLINE SOFTWARE IN MOTOR VEHICLES | |
CN113050960A (zh) | Ota升级方法、装置、车载终端及存储介质 | |
CN113961214A (zh) | 软件更新装置、更新控制方法、非临时存储介质、服务器、ota主机及中心 | |
JP6795389B2 (ja) | 車載用データ更新装置 | |
CN111344641B (zh) | 用于一机动车辆的控制装置和用于运行该控制装置的方法 | |
CN114047715B (zh) | Ecu应用层软件更新时外围器件的控制方法和存储介质 | |
CN110647343B (zh) | 一种OpenPower服务器及其系统部署方法 | |
CN110309018B (zh) | 充电设备系统切换方法、充电设备及可读存储介质 | |
US20170031703A1 (en) | Method and device for updating a virtual machine operated on a physical machine under a hypervisor | |
CN112732301A (zh) | 一种车辆升级方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190924 |