CN115291905A - 基于a/b系统的高可靠性汽车ota升级方法及系统 - Google Patents
基于a/b系统的高可靠性汽车ota升级方法及系统 Download PDFInfo
- Publication number
- CN115291905A CN115291905A CN202210727689.2A CN202210727689A CN115291905A CN 115291905 A CN115291905 A CN 115291905A CN 202210727689 A CN202210727689 A CN 202210727689A CN 115291905 A CN115291905 A CN 115291905A
- Authority
- CN
- China
- Prior art keywords
- ota
- partition
- tbox
- upgrade
- ecu
- 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
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于A/B系统的高可靠性汽车OTA升级方法及系统,方法包括OTA服务器给相应ECU部署OTA任务,TBOX与服务器连接,从OTA服务器下载升级包并验签,进行升级包的传输;ECU收到OTA升级包后,对B分区进行升级及ECU重启,再检查B分区boot文件是否存在及有效;有效则读取并加载B分区boot文件,并反馈给上位机TBOX本次OTA升级成功,将结果上报给服务器。本升级方法升级可靠性好;在内存中开辟两个存储空间给A和B分区,提高升级成功率,升级过程中,即使车辆断电,再次上电后也可正常运行;在车辆进行OTA的过程中不会打扰用户对该ECU的使用;升级系统无法使用,用户可继续使用旧系统。
Description
技术领域
本发明属于汽车电子技术领域,具体涉及一种基于A/B系统的高可靠性汽车OTA升级方法及系统。
背景技术
在汽车工业中,随着智能化、电动化的普及,OTA升级已经越来越普遍。其高效性、低成本、出色的交互体验得到越来越多主机厂的青睐。与此同时,OTA能否成功刷写控制器也成为了一个值得关心的问题。如果OTA刷写失败导致控制器无法使用,会直接影响用户的用车体验,甚至危及用户生命。所以,如何保证OTA刷写后无论成功还是失败都不耽误用户控制器的使用,成为了一个亟待解决的问题。
发明内容
本发明的目的就在于提供一种基于A/B系统的高可靠性汽车OTA升级方法,还提供一种基于A/B系统的高可靠性汽车OTA升级系统,以解决保证OTA刷写后无论成功还是失败都不耽误用户控制器使用的问题。
本发明的目的是通过以下技术方案实现的:
一种基于A/B系统的高可靠性汽车OTA升级方法,包括以下步骤:
A、OTA服务器给相应ECU部署OTA任务,TBOX与服务器连接;
B、TBOX从OTA服务器下载升级包,TBOX收到升级包之后进行解密和验签;
C、TBOX进行升级包的传输,如果传输未完成或者异常终止传输,则继续传输或者重新发起传输;如果传输完成,则进行下一步流程;
D、ECU收到OTA升级包后,对B分区进行升级;
E、如果B分区升级不成功,则ECU执行一次重试;
F、如果B分区升级成功,则该ECU重启,重启后检查B分区boot文件是否存在;
G、如果B分区boot文件存在,则继续检查B分区boot文件是否有效;
H、如果B分区文件有效,则读取并加载B分区boot文件,并且反馈给上位机TBOX本次OTA升级成功,将结果上报给服务器。
进一步地,步骤B,基于PKCS 7方法对升级包的真实性进行验证。
进一步地,步骤C,TBOX采用doip或者USB协议进行升级包的传输。
进一步地,步骤D,对B分区进行升级时,该ECU可以正常使用A分区的文件,系统不会切换也不会重启。
进一步地,步骤E,重试的过程就是用该升级包重新进行升级,重试的次数仅一次,如果此次依然失败,则本次OTA升级失败,TBOX打印出错日志,ECU反馈升级失败,TBOX讲结果发送给OTA服务器。
进一步地,步骤F,如果发生了异常导致不存在,则读取并加载A分区的boot文件,并且本次OTA升级失败,将结果上报给服务器。
进一步地,步骤G,如果发生异常导致该boot文件无效,则读取并加载A分区的boot文件,并且本次OTA升级失败,将结果上报给服务器。
一种基于A/B系统的高可靠性汽车OTA升级系统,包括OTA服务器、TBOX以及待升级的ECU;OTA服务器负责发起任务,将升级包传送给TBOX,TBOX收到升级包后,将升级包传输给待升级ECU,传输协议采用doip协议或者USB协议,ECU中系统文件分为A分区和B分区,一个分区正常运行,另一个分区作为备份,升级时刷写该分区的系统文件;升级结束后,ECU给TBOX反馈升级结果,然后TBOX再将该升级结果上传给服务器。
与现有技术相比,本发明的有益效果是:
1、本发明针对安卓或者Linux系统,在升级过程中,不同于传统的CAN刷写流程,TBOX将升级包传给具备安卓或者Linux系统的ECU,然后该ECU自己执行升级,升级包含正常的升级和失败后的重试;
2、使用A/B系统提高升级的可靠性;在内存中,开辟两个存储空间给A分区和B分区,在升级过程中保证其中一个系统可用,然后升级另一个系统,以提高升级的成功率,在升级过程中,即使车辆断电,再次上电后也可以正常运行;
3、在OTA服务器下发任务后,任务的升级包会下载到TBOX中,TBOX采用相应的协议将该升级包传输给ECU,在车辆进行OTA的过程中不会打扰用户对该ECU的使用;如果升级的系统无法使用,用户不会受到影响,继续使用旧的系统;上位机不需要存储该ECU的升级包,节省了存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明的系统组成框图;
图2是本发明基于A/B系统的高可靠性汽车OTA升级方法的流程图。
具体实施方式
下面结合实施例对本发明作进一步说明:
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明基于A/B系统的高可靠性汽车OTA升级方法,针对安卓或者Linux系统。在升级过程中,不同于传统的CAN刷写流程,该方法中TBOX将升级包传给具备安卓或者Linux系统的ECU,然后该ECU自己执行升级,升级包含正常的升级和失败后的重试。为了提高升级的可靠性,本发明提出的方法使用A/B系统。在内存中,开辟两个存储空间给A分区和B分区,在升级过程中保证其中一个系统可用,然后升级另一个系统,该方法可以提高升级的成功率。在升级过程中,即使车辆断电,再次上电后也可以正常运行。
在OTA服务器下发任务后,任务的升级包会下载到TBOX中,TBOX采用相应的协议,一般来说是doip协议或者USB协议,将该升级包传输给ECU。升级过程中,保证一个系统运行,对另一个分区的系统文件进行刷写。如果过程中有错误或者发生了异常导致终止,TBOX作为上位机打印错误的日志,但是不影响ECU的正常运行。如果升级成功,则ECU重启,加载程序的时候,去判断升级的文件是否存在以及是否有效,如果存在且有效,则加载升级后的boot程序;反之,则加在原分区的boot程序,加载升级前使用的系统。
如图1所示,该基于A/B系统的高可靠性汽车OTA升级系统包括OTA服务器、TBOX以及待升级的ECU。OTA服务器负责发起任务,将升级包传送给TBOX,TBOX提供上网和上位机功能。TBOX收到升级包后,将升级包传输给待升级ECU。传输协议采用doip协议或者USB协议。ECU中,系统文件分为两个分区,分别为A分区和B分区。一个分区正常运行,另一个分区作为备份,升级时刷写该分区的系统文件。除A/B分区的系统文件之外,还有其他的用户文件,无论加载A分区的系统文件还是B分区的系统文件,都使用同一用户文件。升级结束后,ECU给TBOX反馈升级结果,然后TBOX再将该升级结果上传给服务器。
如图2所示,本发明基于A/B系统的高可靠性汽车OTA升级方法,包括以下步骤,假设该ECU正在使用A分区:
1、流程开始。
2、主机厂OTA服务器运维人员给相应ECU部署OTA任务,在TBOX和服务器连接之后,TBOX从OTA服务器下载升级包。
3、TBOX从OTA服务器下载升级包,TBOX收到升级包之后进行解密和验签,以确保该升级包的有效性和真实性,验证真实性的方法基于PKCS 7。
4、TBOX采用doip或者USB协议进行升级包的传输。如果传输未完成或者异常终止传输,则继续传输或者重新发起传输;如果传输完成,则进行下一步流程。
5、ECU收到OTA升级包后,对B分区进行升级,此时该ECU可以正常使用A分区的文件,系统不会切换也不会重启。
6、如果B分区升级不成功,则执行一次重试,重试的过程就是用该升级包重新进行升级。重试的次数仅一次,如果此次依然失败,则本次OTA升级失败,TBOX打印出错日志,ECU反馈升级失败,TBOX讲结果发送给OTA服务器。
7、如果B分区升级成功,则该ECU重启。重启后检查B分区boot文件是否存在,如果发生了异常导致不存在,则读取并加载A分区的boot文件,并且本次OTA升级失败,将结果上报给服务器。
8、如果B分区boot文件存在,则继续检查B分区boot文件是否有效,如果发生异常导致该boot文件无效,则读取并加载A分区的boot文件,并且本次OTA升级失败,将结果上报给服务器。
9、如果B分区文件有效,则读取并加载B分区boot文件,并且反馈给上位机TBOX本次OTA升级成功,将结果上报给服务器。
10、流程结束。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于,包括以下步骤:
A、OTA服务器给相应ECU部署OTA任务,TBOX与服务器连接;
B、TBOX从OTA服务器下载升级包,TBOX收到升级包之后进行解密和验签;
C、TBOX进行升级包的传输,如果传输未完成或者异常终止传输,则继续传输或者重新发起传输;如果传输完成,则进行下一步流程;
D、ECU收到OTA升级包后,对B分区进行升级;
E、如果B分区升级不成功,则ECU执行一次重试;
F、如果B分区升级成功,则该ECU重启,重启后检查B分区boot文件是否存在;
G、如果B分区boot文件存在,则继续检查B分区boot文件是否有效;
H、如果B分区文件有效,则读取并加载B分区boot文件,并且反馈给上位机TBOX本次OTA升级成功,将结果上报给服务器。
2.根据权利要求1所述的一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于:步骤B,基于PKCS 7方法对升级包的真实性进行验证。
3.根据权利要求1所述的一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于:步骤C,TBOX采用doip或者USB协议进行升级包的传输。
4.根据权利要求1所述的一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于:步骤D,对B分区进行升级时,该ECU可以正常使用A分区的文件,系统不会切换也不会重启。
5.根据权利要求1所述的一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于:步骤E,重试的过程就是用该升级包重新进行升级,重试的次数仅一次,如果此次依然失败,则本次OTA升级失败,TBOX打印出错日志,ECU反馈升级失败,TBOX讲结果发送给OTA服务器。
6.根据权利要求1所述的一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于:步骤F,如果发生了异常导致不存在,则读取并加载A分区的boot文件,并且本次OTA升级失败,将结果上报给服务器。
7.根据权利要求1所述的一种基于A/B系统的高可靠性汽车OTA升级方法,其特征在于:步骤G,如果发生异常导致该boot文件无效,则读取并加载A分区的boot文件,并且本次OTA升级失败,将结果上报给服务器。
8.一种基于A/B系统的高可靠性汽车OTA升级系统,其特征在于,包括OTA服务器、TBOX以及待升级的ECU;OTA服务器负责发起任务,将升级包传送给TBOX,TBOX收到升级包后,将升级包传输给待升级ECU,传输协议采用doip协议或者USB协议,ECU中系统文件分为A分区和B分区,一个分区正常运行,另一个分区作为备份,升级时刷写该分区的系统文件;升级结束后,ECU给TBOX反馈升级结果,然后TBOX再将该升级结果上传给服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210727689.2A CN115291905A (zh) | 2022-06-22 | 2022-06-22 | 基于a/b系统的高可靠性汽车ota升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210727689.2A CN115291905A (zh) | 2022-06-22 | 2022-06-22 | 基于a/b系统的高可靠性汽车ota升级方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115291905A true CN115291905A (zh) | 2022-11-04 |
Family
ID=83819852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210727689.2A Pending CN115291905A (zh) | 2022-06-22 | 2022-06-22 | 基于a/b系统的高可靠性汽车ota升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115291905A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594660A (zh) * | 2023-05-25 | 2023-08-15 | 成都赛力斯科技有限公司 | 一种ecu无感升级刷写方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-22 CN CN202210727689.2A patent/CN115291905A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116594660A (zh) * | 2023-05-25 | 2023-08-15 | 成都赛力斯科技有限公司 | 一种ecu无感升级刷写方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1639468B1 (en) | Network equipment and a method for monitoring the start up of a such an equipment | |
EP1142309B1 (en) | Method and apparatus for operating system downloads in a set-top box environment | |
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
US8554748B1 (en) | Method and apparatus for differential file based update for embedded systems | |
US20100169709A1 (en) | System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware | |
CN101329631B (zh) | 一种嵌入式系统自动检测和恢复启动的方法及装置 | |
US20120117557A1 (en) | Method and system for upgrading wireless data card | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN104899065A (zh) | 一种可批量软件在线恢复与软件在线升级的方法和系统 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN105677398A (zh) | 一种通用的嵌入式计算机软件在线升级方法 | |
CN105786510A (zh) | 一种单片机的升级分区系统和安全升级方法 | |
WO2011088701A1 (zh) | 一种跨平台版本在线升级的方法及装置 | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
US20240286521A1 (en) | CHARGING SOCKET, CHARGING SOCKET UPGRADING METHOD AND APPARATUS, DEVICE, AND STORAGE MEDIUM (Amended) | |
CN112631628A (zh) | 单片机升级方法、单片机、存储介质 | |
CN115291905A (zh) | 基于a/b系统的高可靠性汽车ota升级方法及系统 | |
CN112181455A (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
CN115437674A (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN111694516B (zh) | 一种分布式块存储系统的版本在线升级方法及终端 | |
CN113377425A (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
KR100422928B1 (ko) | 데이터 처리 시스템의 부팅 장치 및 방법 | |
CN114064086B (zh) | 多级处理器系统及其升级方法 | |
KR20080065166A (ko) | 이동단말기에서 터치패널의 응용 프로그램 다운로드 장치및 방법 |
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 |