CN116627485A - 汽车控制器软件升级的方法、装置及汽车 - Google Patents
汽车控制器软件升级的方法、装置及汽车 Download PDFInfo
- Publication number
- CN116627485A CN116627485A CN202310631678.9A CN202310631678A CN116627485A CN 116627485 A CN116627485 A CN 116627485A CN 202310631678 A CN202310631678 A CN 202310631678A CN 116627485 A CN116627485 A CN 116627485A
- Authority
- CN
- China
- Prior art keywords
- controller
- software
- controllers
- upgrading
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006870 function Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 238000011010 flushing procedure Methods 0.000 claims description 3
- 230000001680 brushing effect Effects 0.000 claims 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
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
本申请提供了一种汽车控制器软件升级的方法、装置及汽车。该方法包括:根据升级指令生成OTA任务;依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组;按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。
Description
技术领域
本申请涉及汽车技术领域,尤其涉及一种汽车控制器软件升级的方法、装置及汽车。
背景技术
OTA升级是智能网联汽车核心基础功能,很多增值服务和功能都依赖该功能来部署和运营。OTA升级是一种车辆软件升级方法,可以理解为对汽车上的车载系统、软件以及应用进行升级。由于不同的车况情况,OTA升级存在一定概率的失败情况。升级失败的车辆,通常会直接在车端进行版本回滚。目前传统方式的做法是将此次升级的所有控制器统一进行版本回滚,以保证汽车达到升级前的正常状态,或者单独对升级失败的控制器进行版本回滚,以保证升级失败的控制器达到升级前的正常状态。对本次升级的所有控制器进行版本回滚,花费的时间和成本较高,如果只是单独对升级失败的控制器进行版本回滚,则又疏漏了和升级失败的控制器实现功能相关的控制器的版本回滚,存在安全隐患。
发明内容
有鉴于此,本申请实施例提供了一种汽车控制器软件升级的方法、装置及汽车,以解决现有技术中,汽车控制器的软件升级中无法将升级失败的控制器和其实现功能相关的控制器的版本回滚相关联的问题。
本申请实施例的第一方面,提供了一种汽车控制器软件升级的方法,包括:在接收到升级指令时,根据升级指令生成OTA任务;依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。
本申请实施例的第二方面,提供了一种汽车控制器软件升级的装置,包括:生成模块,被配置为在接收到升级指令时,根据升级指令生成OTA任务;分组模块,被配置为依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;升级模块,被配置为按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;回滚模块,被配置为当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。
本申请实施例的第三方面,提供了一种汽车,包括存储器、车载信息娱乐系统以及存储在存储器中并且可在车载信息娱乐系统上运行的计算机程序,车载信息娱乐系统执行计算机程序时实现如上述方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果至少包括:本申请实施例通过对多个控制器进行分组,得到多个控制器组,以及通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器,并当检测到目标控制器时,将目标控制器以及其所属目标控制器组中软件升级成功的控制器放入回滚队列,以进行版本回滚。因此,采用上述技术手段,可以解决现有技术中汽车控制器的软件升级中无法将升级失败的控制器和其实现功能相关的控制器的版本回滚相关联的问题,进而缩短软件升级的耗时,减少软件升级失败的影响范围,从而提高软件升级效率和用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种汽车控制器软件升级的方法的流程示意图;
图2是本申请实施例提供的另一种汽车控制器软件升级的方法的流程示意图;
图3是本申请实施例提供的又一种汽车控制器软件升级的方法的流程示意图;
图4是本申请实施例提供的一种汽车控制器软件升级的装置的流程示意图;
图5是本申请实施例提供的一种汽车的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
图1是本申请实施例提供的一种汽车控制器软件升级的方法的流程示意图。图1的汽车控制器软件升级的方法可以由汽车上设置的车载信息娱乐系统执行。可选地,图1的汽车控制器软件升级的方法也可以由计算机或服务器,或者计算机或服务器上的软件执行。以车载信息娱乐系统作为执行主体为例,该汽车控制器软件升级的方法包括:
S101,在接收到升级指令时,根据升级指令生成OTA任务;
S102,依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;
S103,按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;
S104,当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。
具体地:车载信息娱乐系统是IVI(In-Vehicle Infotainment)。升级指令用于指明待进行软件升级的多个控制器、多个控制器的升级顺序、升级模式和升级条件。OTA是Over-the-Air Technology的简写,中文是空中下载技术,OTA任务是根据升级指令生成的升级汽车上多个控制器的软件版本的任务,可以包含升级指令中的信息。对多个控制器进行分组,可以是升级指令指定的,也可以是按照控制器实现功能的关联性进行分组。刷写队列是待进行软件升级的多个控制器的排队的队列,通过刷写队列对多个控制器进行软件升级。将软件升级失败的控制器记作目标控制器,目标控制器所属的控制器组记作目标控制器组,当存在目标控制器时,将目标控制器组中还未进行软件升级的控制器从刷写队列中移除,也就是放弃目标控制器组中还未进行软件升级的控制器的软件升级。将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,并进行版本回滚。版本回滚是软件升级成功或者软件升级失败的控制器放弃最新的软件版本(版本文件),继续使用最新的软件版本的上一个软件版本。
根据本申请实施例提供的技术方案,在接收到升级指令时,根据升级指令生成OTA任务;依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。采用上述技术手段,可以解决现有技术中汽车控制器的软件升级中无法将升级失败的控制器和其实现功能相关的控制器的版本回滚相关联的问题,进而缩短软件升级的耗时,减少软件升级失败的影响范围,从而提高软件升级效率和用户体验。
进一步地,按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,包括:按照刷写队列中多个控制器的顺序,依次下载每个控制器的最新的版本文件;根据每次下载的版本文件,完成该版本文件对应控制器的软件升级。
也就是每次下载一个控制器的最新的版本文件,并进行该控制器的软件升级。
进一步地,对多个控制器进行分组,得到多个控制器组,包括:确定各个控制器所要实现的功能,并按照各个控制器所要实现的功能,对多个控制器进行分组,得到多个控制器组;其中,每个控制器组内的各个控制器所要实现的功能相关。
比如汽车上的控制器,包括:整车控制器、变速箱控制器、发动机控制器、电动机控制器、空调控制器、电池管理系统控制器、混合动力控制器、自动泊车控制器、座椅加热控制器和智能座舱控制器等。因为发动机控制器、变速箱控制器、电动机控制器和混合动力控制器实现的功能均和汽车的动能相关,所以发动机控制器、变速箱控制器、电动机控制器和混合动力控制器可以放入一个控制器组,座椅加热控制器和智能座舱控制器实现的功能均和座椅的控制相关,所以座椅加热控制器和智能座舱控制器可以放入一个控制器组,整车控制器、空调控制器、电池管理系统控制器、自动泊车控制器各自作为一个控制器组。
图2是本申请实施例提供的另一种汽车控制器软件升级方法的流程示意图,如图2所示,包括:
循环执行如下步骤:
S201,判断i是否大于N,其中,N为刷写队列中所有控制器的数量,i初始值为1,i表示刷写队列中控制器的序号;
S202,当i大于N,确定已完成所有控制器的软件升级,结束OTA任务;
S203,当i不大于N,下载第i个控制器的最新的版本文件;
S204,根据第i个控制器的最新的版本文件,完成第i个控制器的软件升级,i加1。
i加1使用i加1的值更新i。i大于N,确定已完成所有控制器的软件升级,实际上是i等于N+1时确定的。
需要说明的是,对多个控制器进行的分组和通过刷写队列对多个控制器进行软件升级无关,分组得到的控制器组只用于确定出和软件升级失败的目标控制器相关的控制器,然后进行目标控制器和其相关的控制器的版本回滚,本申请实施例默认同一个控制器组中的控制器是相关的,应该一起进行版本回滚。
进一步地,当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚,包括:当检测到目标控制器时,确定目标控制器组中还未进行软件升级的控制器,并将目标控制器组中还未进行软件升级的控制器从刷写队列中移除,以放弃对目标控制器组中还未进行软件升级的控制器的软件升级;确定目标控制器组中软件升级成功的控制器,并将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列;下载目标控制器以及目标控制器组中软件升级成功的控制器的上一个版本文件;根据目标控制器以及目标控制器组中软件升级成功的控制器的上一个版本文件,完成目标控制器以及目标控制器组中软件升级成功的控制器的版本回滚。
举例说明,目标控制器为变速箱控制器,变速箱控制器所属的目标控制器组,包括:发动机控制器、变速箱控制器、电动机控制器和混合动力控制器。目标控制器组中,电动机控制器和混合动力控制器还未进行软件升级,发动机控制器已经软件升级成功,则将电动机控制器和混合动力控制器从刷写队列中移除,也就是放弃对电动机控制器和混合动力控制器的软件升级,将变速箱控制器和发动机控制器放入回滚队列,下载变速箱控制器的上一个版本文件,下载发动机控制器的上一个版本文件,根据变速箱控制器的上一个版本文件完成变速箱控制器的版本回滚,根据下载发动机控制器的上一个版本文件完成发动机控制器的版本回滚。
图3是本申请实施例提供的又一种汽车控制器软件升级方法的流程示意图,如图3所示,包括:
循环执行如下步骤:
S301,判断i是否大于N,其中,N为刷写队列中所有控制器的数量,i初始值为1,i表示刷写队列中控制器的序号;
S302,当i大于N,确定已完成所有控制器的软件升级,结束OTA任务;
S303,当i不大于N,下载第i个控制器的最新的版本文件;
S304,根据第i个控制器的最新的版本文件,完成第i个控制器的软件升级;
S305,检测第i个控制器的软件升级是否成功;
S306,当第i个控制器的软件升级成功,i加1;
S307,当第i个控制器的软件升级失败,确定第i个控制器所属的第j个控制器组中还未进行软件升级的控制器,并将第j个控制器组中还未进行软件升级的控制器从刷写队列中移除,以放弃对第j个控制器组中还未进行软件升级的控制器的软件升级,其中j为分组得到的控制器组的序号;
S308,确定第j个控制器组中软件升级成功的控制器,并将第i个控制器以及第j个控制器组中软件升级成功的控制器放入回滚队列;
S309,下载第i个控制器以及第j个控制器组中软件升级成功的控制器的上一个版本文件;
S310,根据第i个控制器以及第j个控制器组中软件升级成功的控制器的上一个版本文件,完成第i个控制器以及第j个控制器组中软件升级成功的控制器的版本回滚,i加1。
OTA任务携带升级条件,当满足如下至少一个升级条件的情况下,进行多个控制器的软件升级:汽车的车速小于预设速度、汽车处于P档、汽车处于刹车状态,其中,多个控制器设置在汽车上。
P档是驻车档。
可选地,当满足如下所有升级条件的情况下,进行多个控制器的软件升级:汽车的车速小于预设速度、汽车处于P档、汽车处于刹车状态。
OTA任务携带升级模式,在如下升级模式下,进行多个控制器的软件升级:常规升级模式、静默升级模式和强制升级模式;其中,静默升级模式不需要通知用户以及获得用户的同意,进行软件升级的升级权限是默认获得的;强制升级模式适用于目标场景,后台强制命令进行多个控制器的软件升级;常规升级模式是除静默升级模式和强制升级模式之外的模式。
目标场景比如是救援场景中。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4是本申请实施例提供的一种汽车控制器软件升级的装置的示意图。如图4所示,该汽车控制器软件升级的装置包括:
生成模块401,被配置为在接收到升级指令时,根据升级指令生成OTA任务;
分组模块402,被配置为依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;
升级模块403,被配置为按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;
回滚模块404,被配置为当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。
根据本申请实施例提供的技术方案,在接收到升级指令时,根据升级指令生成OTA任务;依据OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;按照OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行软件升级,并在通过刷写队列对多个控制器进行软件升级时,实时检测是否存在软件升级失败的目标控制器;当检测到目标控制器时,将目标控制器所属目标控制器组中还未进行软件升级的控制器从刷写队列中移除,将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列,以对目标控制器以及目标控制器组中软件升级成功的控制器进行版本回滚。采用上述技术手段,可以解决现有技术中汽车控制器的软件升级中无法将升级失败的控制器和其实现功能相关的控制器的版本回滚相关联的问题,进而缩短软件升级的耗时,减少软件升级失败的影响范围,从而提高软件升级效率和用户体验。
在一些实施例中,升级模块403还被配置为按照刷写队列中多个控制器的顺序,依次下载每个控制器的最新的版本文件;根据每次下载的版本文件,完成该版本文件对应控制器的软件升级。
在一些实施例中,分组模块402还被配置为确定各个控制器所要实现的功能,并按照各个控制器所要实现的功能,对多个控制器进行分组,得到多个控制器组;其中,每个控制器组内的各个控制器所要实现的功能相关。
示例性地,升级模块403还被配置为循环执行如下步骤:判断i是否大于N,其中,N为刷写队列中所有控制器的数量,i初始值为1,i表示刷写队列中控制器的序号;当i大于N,确定已完成所有控制器的软件升级,结束OTA任务;当i不大于N,下载第i个控制器的最新的版本文件;根据第i个控制器的最新的版本文件,完成第i个控制器的软件升级,i加1。
在一些实施例中,回滚模块404还被配置为当检测到目标控制器时,确定目标控制器组中还未进行软件升级的控制器,并将目标控制器组中还未进行软件升级的控制器从刷写队列中移除,以放弃对目标控制器组中还未进行软件升级的控制器的软件升级;确定目标控制器组中软件升级成功的控制器,并将目标控制器以及目标控制器组中软件升级成功的控制器放入回滚队列;下载目标控制器以及目标控制器组中软件升级成功的控制器的上一个版本文件;根据目标控制器以及目标控制器组中软件升级成功的控制器的上一个版本文件,完成目标控制器以及目标控制器组中软件升级成功的控制器的版本回滚。
示例性地,回滚模块404还被配置为循环执行如下步骤:判断i是否大于N,其中,N为刷写队列中所有控制器的数量,i初始值为1,i表示刷写队列中控制器的序号;当i大于N,确定已完成所有控制器的软件升级,结束OTA任务;当i不大于N,下载第i个控制器的最新的版本文件;根据第i个控制器的最新的版本文件,完成第i个控制器的软件升级;检测第i个控制器的软件升级是否成功;当第i个控制器的软件升级成功,i加1;当第i个控制器的软件升级失败,确定第i个控制器所属的第j个控制器组中还未进行软件升级的控制器,并将第j个控制器组中还未进行软件升级的控制器从刷写队列中移除,以放弃对第j个控制器组中还未进行软件升级的控制器的软件升级,其中j为分组得到的控制器组的序号;确定第j个控制器组中软件升级成功的控制器,并将第i个控制器以及第j个控制器组中软件升级成功的控制器放入回滚队列;下载第i个控制器以及第j个控制器组中软件升级成功的控制器的上一个版本文件;根据第i个控制器以及第j个控制器组中软件升级成功的控制器的上一个版本文件,完成第i个控制器以及第j个控制器组中软件升级成功的控制器的版本回滚,i加1。
在一些实施例中,升级模块403还被配置为当满足如下至少一个升级条件的情况下,进行多个控制器的软件升级:汽车的车速小于预设速度、汽车处于P档、汽车处于刹车状态,其中,多个控制器设置在汽车上。
在一些实施例中,升级模块403还被配置为当满足如下所有升级条件的情况下,进行多个控制器的软件升级:汽车的车速小于预设速度、汽车处于P档、汽车处于刹车状态。
在一些实施例中,升级模块403还被配置为在如下升级模式下,进行多个控制器的软件升级:常规升级模式、静默升级模式和强制升级模式;其中,静默升级模式不需要通知用户以及获得用户的同意,进行软件升级的升级权限是默认获得的;强制升级模式适用于目标场景,后台强制命令进行多个控制器的软件升级;常规升级模式是除静默升级模式和强制升级模式之外的模式。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图5是本公开实施例提供的汽车5的示意图。如图5所示,该实施例的汽车5包括:车载信息娱乐系统501、存储器502以及存储在该存储器502中并且可在车载信息娱乐系统501上运行的计算机程序503。车载信息娱乐系统501执行计算机程序503时实现上述各个方法实施例中的步骤。或者,车载信息娱乐系统501执行计算机程序503时实现上述各装置实施例中各模块/单元的功能。
汽车5包括传统汽车和新能源汽车。汽车5可以包括但不仅限于车载信息娱乐系统501和存储器502。本领域技术人员可以理解,图5仅仅是汽车5的示例,并不构成对汽车5的限定,可以包括比图示更多或更少的部件,或者不同的部件。
车载信息娱乐系统501可以是IVI(In-Vehicle Infotainment)。
存储器502可以是汽车5的内部存储单元,例如,汽车5的硬盘或内存。存储器502也可以是汽车5的外部存储设备,例如,汽车5上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器502还可以既包括汽车5的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及汽车所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被车载信息娱乐系统执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种汽车控制器软件升级的方法,其特征在于,包括:
在接收到升级指令时,根据所述升级指令生成OTA任务;
依据所述OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;
按照所述OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行所述软件升级,并在通过所述刷写队列对多个控制器进行所述软件升级时,实时检测是否存在所述软件升级失败的目标控制器;
当检测到所述目标控制器时,将所述目标控制器所属目标控制器组中还未进行所述软件升级的控制器从所述刷写队列中移除,将所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器放入回滚队列,以对所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器进行版本回滚。
2.根据权利要求1所述的方法,其特征在于,按照所述OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行所述软件升级,包括:
按照所述刷写队列中多个控制器的顺序,依次下载每个控制器的最新的版本文件;
根据每次下载的版本文件,完成该版本文件对应控制器的所述软件升级。
3.根据权利要求1所述的方法,其特征在于,对多个控制器进行分组,得到多个控制器组,包括:
确定各个控制器所要实现的功能,并按照各个控制器所要实现的功能,对多个控制器进行分组,得到多个控制器组;
其中,每个控制器组内的各个控制器所要实现的功能相关。
4.根据权利要求1所述的方法,其特征在于,当检测到所述目标控制器时,将所述目标控制器所属目标控制器组中还未进行所述软件升级的控制器从所述刷写队列中移除,将所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器放入回滚队列,以对所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器进行版本回滚,包括:
当检测到所述目标控制器时,确定所述目标控制器组中还未进行所述软件升级的控制器,并将所述目标控制器组中还未进行所述软件升级的控制器从所述刷写队列中移除,以放弃对所述目标控制器组中还未进行所述软件升级的控制器的所述软件升级;
确定所述目标控制器组中所述软件升级成功的控制器,并将所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器放入所述回滚队列;
下载所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器的上一个版本文件;
根据所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器的上一个版本文件,完成所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器的所述版本回滚。
5.根据权利要求1所述的方法,其特征在于,所述OTA任务携带升级条件,当满足如下至少一个升级条件的情况下,进行多个控制器的软件升级:
汽车的车速小于预设速度、所述汽车处于P档、所述汽车处于刹车状态,其中,多个控制器设置在所述汽车上。
6.根据权利要求1所述的方法,其特征在于,所述OTA任务携带升级模式,在如下升级模式下,进行多个控制器的软件升级:
常规升级模式、静默升级模式和强制升级模式;
其中,所述静默升级模式不需要通知用户以及获得用户的同意,进行所述软件升级的升级权限是默认获得的;
所述强制升级模式适用于目标场景,后台强制命令进行多个控制器的软件升级;
所述常规升级模式是除所述静默升级模式和所述强制升级模式之外的模式。
7.一种汽车控制器软件升级的装置,其特征在于,包括:
生成模块,被配置为在接收到升级指令时,根据所述升级指令生成OTA任务;
分组模块,被配置为依据所述OTA任务,获取待进行软件升级的多个控制器,并对多个控制器进行分组,得到多个控制器组,其中,每个控制器组包含至少一个控制器;
升级模块,被配置为按照所述OTA任务中的升级顺序,将多个控制器依次放入刷写队列,以对多个控制器进行所述软件升级,并在通过所述刷写队列对多个控制器进行所述软件升级时,实时检测是否存在所述软件升级失败的目标控制器;
回滚模块,被配置为当检测到所述目标控制器时,将所述目标控制器所属目标控制器组中还未进行所述软件升级的控制器从所述刷写队列中移除,将所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器放入回滚队列,以对所述目标控制器以及所述目标控制器组中所述软件升级成功的控制器进行版本回滚。
8.一种汽车,其特征在于,包括存储器、车载信息娱乐系统以及存储在所述存储器中并且可在所述车载信息娱乐系统上运行的计算机程序,所述车载信息娱乐系统执行所述计算机程序时实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310631678.9A CN116627485A (zh) | 2023-05-31 | 2023-05-31 | 汽车控制器软件升级的方法、装置及汽车 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310631678.9A CN116627485A (zh) | 2023-05-31 | 2023-05-31 | 汽车控制器软件升级的方法、装置及汽车 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627485A true CN116627485A (zh) | 2023-08-22 |
Family
ID=87591692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310631678.9A Pending CN116627485A (zh) | 2023-05-31 | 2023-05-31 | 汽车控制器软件升级的方法、装置及汽车 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627485A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117459190A (zh) * | 2023-12-20 | 2024-01-26 | 中汽研(天津)汽车工程研究院有限公司 | 一种异构中央计算架构的ota通信方法 |
-
2023
- 2023-05-31 CN CN202310631678.9A patent/CN116627485A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117459190A (zh) * | 2023-12-20 | 2024-01-26 | 中汽研(天津)汽车工程研究院有限公司 | 一种异构中央计算架构的ota通信方法 |
CN117459190B (zh) * | 2023-12-20 | 2024-04-02 | 中汽研(天津)汽车工程研究院有限公司 | 一种异构中央计算架构的ota通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105691330B (zh) | 远程信息处理更新软件兼容性 | |
CN108279917B (zh) | 软件更新管理 | |
US10599418B2 (en) | Software update system and server | |
CN112104736B (zh) | 一种基于ota的多ecu升级方法 | |
US11718310B2 (en) | Device and method for controlling updates of ECUs of vehicle | |
US8655541B2 (en) | Vehicle upgrade system and method thereof | |
CN111949299A (zh) | 一种车载软件ota升级的控制方法及装置 | |
WO2018079008A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
CN116627485A (zh) | 汽车控制器软件升级的方法、装置及汽车 | |
CN213303011U (zh) | 一种基于ota的车辆ecu升级系统 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN116366636A (zh) | 车辆软件升级方法、装置及汽车 | |
CN113050960B (zh) | Ota升级方法、装置、车载终端及存储介质 | |
CN116126368A (zh) | 整车ota升级方法、装置、电子设备及车辆 | |
US11544051B2 (en) | Vehicle update system and method | |
CN113227967A (zh) | 软件升级方法及装置 | |
US9065416B2 (en) | Methods and systems for controlling the volume of infotainment units of vehicles | |
CN117234563B (zh) | 基于uds协议对ecu进行固件升级的方法和客户端 | |
CN117208018B (zh) | 车辆控制方法、控制装置、可读存储介质及车辆 | |
US20240118882A1 (en) | Server and software distribution system | |
US20230051369A1 (en) | Apparatus for operating over-the-air ota update for vehicle, and method thereof | |
US20240118886A1 (en) | Mobile equipment and software distribution system | |
CN117851183A (zh) | 用户终端、软件更新系统、控制方法以及非暂时性存储介质 | |
CN118690372A (zh) | 远程固件升级方法、装置、设备、存储介质及程序产品 | |
CN118694783A (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 |