CN116931979A - 用于车辆系统的升级方法、装置、处理器及存储介质 - Google Patents
用于车辆系统的升级方法、装置、处理器及存储介质 Download PDFInfo
- Publication number
- CN116931979A CN116931979A CN202210363888.XA CN202210363888A CN116931979A CN 116931979 A CN116931979 A CN 116931979A CN 202210363888 A CN202210363888 A CN 202210363888A CN 116931979 A CN116931979 A CN 116931979A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- micro
- processing
- processing system
- restart
- 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 67
- 230000008569 process Effects 0.000 abstract description 7
- 238000011084 recovery Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种用于车辆系统的升级方法、装置、处理器及存储介质。方法包括:接收FOTA升级请求;根据升级请求将车载系统和微处理系统从第一系统切换为第二系统;控制车载系统和微处理系统重新启动;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。通过该方法,在升级过程中,若新升级的系统无法启动,也能自动恢复到原先系统,保证车载系统能够正常启动,不影响用户使用,提高了系统升级的稳定性。
Description
技术领域
本申请涉及计算机技术领域,具体地涉及一种用于车辆系统的升级方法、装置、处理器及存储介质。
背景技术
车辆系统升级是通过汽车座舱软件升级技术对车载主机系统进行升级迭代。车辆系统一般设计为A/B两个系统,对于A/B两个系统设计的车辆系统,一个系统为当前运行的系统,例如A系统,另一个为备份系统,例如B系统。当前系统通过云端下载了升级包之后,将升级包安装到备份系统,下次启动时,启动原备份系统,即B系统,此时A系统成为了备份系统。然而,在现有技术中,在系统升级完成之后,如果新升级的系统由于某些原因无法启动,那么系统无法自动恢复,将导致系统瘫痪不可使用。
发明内容
本申请实施例的目的是提供一种用于车辆系统的升级方法、装置、处理器及存储介质。
为了实现上述目的,本申请一方面提供一种用于车辆系统的升级方法,包括:
接收FOTA升级请求;
根据升级请求将车载系统和微处理系统从第一系统切换为第二系统;
控制车载系统和微处理系统重新启动;
在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;
再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
在本申请的实施例中,用于车辆系统的升级方法还包括:在控制车载系统和微处理系统重新启动之前,将车载系统和微处理系统下次启动的系统标识设置为第二系统的系统标识,以使重新启动后的车载系统和微处理系统的系统切换为第二系统;获取重新启动后的车载系统和微处理系统的系统标识;在车载系统和微处理系统的系统标识不一致的情况下,确定重启后的车载系统和微处理系统中至少一者的系统为第一系统。
在本申请的实施例中,用于车辆系统的升级还包括:在再次控制车载系统和微处理系统重新启动之前,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
在本申请的实施例中,用于车辆系统的升级方法,车载系统和微处理系统均包括预设还原系统,升级方法还包括:在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功;控制车载系统启动第二系统;在确定车载系统启动第二系统失败的情况下,控制车载系统切换至预设还原系统;控制微处理系统重新启动,以控制微处理系统切换至预设还原系统;控制微处理系统退出预设还原系统,并控制车载系统重新启动进入第一系统;控制微处理系统重新启动,以控制微处理系统切换至第二系统;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
在本申请的实施例中,用于车辆系统的升级方法还包括:微处理系统在预设时间段内超过第一预设次数未接收到车载系统返回的心跳数据的情况下,初步确定车载系统启动第二系统失败;在初步确定车载系统启动第二系统失败的次数达到第二预设次数的情况下,最终确定车载系统启动第二系统失败。
在本申请的实施例中,用于车辆系统的升级方法,控制车载系统重新启动进入第一系统包括:在车载系统处于预设还原系统的情况下,将车载系统下次启动的系统标识设置为第一系统的系统标识;
控制车载系统重新启动,以控制车载系统根据下次启动的系统标识进入第一系统。
在本申请的实施例中,用于车辆系统的升级方法,第一系统和第二系统互为备份系统,第一系统和第二系统均包括QNX系统和安卓系统,其中,安卓系统运行于QNX系统启动的虚拟机上;升级方法还包括:在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功;启动监听器,以监听车载系统和微处理系统的安卓系统是否启动成功;在监听到车载系统和微处理系统的安卓系统启动失败的情况下,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
本申请第二方面提供一种处理器,被配置成执行上述的一种用于车辆系统的升级方法。
本申请第三方面提供一种用于车辆系统的升级装置,装置包括上述的处理器。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行用于车辆系统的升级方法。
上述一种用于车辆系统的升级方法、装置、处理器及存储介质,通过接收FOTA升级请求;根据升级请求将车载系统和微处理系统从第一系统切换为第二系统;控制车载系统和微处理系统重新启动;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。通过该方法,在升级过程中,若新升级的系统无法启动,也能自动恢复到原先系统,保证车载系统能够正常启动,不影响用户使用,提高了系统升级的稳定性。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。
图1示意性示出了根据本申请实施例的一种用于车辆系统的升级方法的流程示意图;
图2示意性示出了根据本申请实施例的车载系统的框架示意图;
图3示意性示出了根据本申请实施例的用于车辆系统的升级方法的时序图一;
图4示意性示出了根据本申请实施例的用于车辆系统的升级方法的时序图二。
具体实施方式
以下结合附图对本申请实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。
图1示意性示出了根据本申请实施例的一种用于车辆系统的升级方法的流程示意图。如图1所示,在本申请一实施例中,提供了一种用于车辆系统的升级方法,包括以下步骤:
步骤101,接收FOTA升级请求。
步骤102,根据升级请求将车载系统和微处理系统从第一系统切换为第二系统。
步骤103,控制车载系统和微处理系统重新启动。
步骤104,在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败。
步骤105,再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
FOTA是Firmware Over-The-Air的缩写,即远程升级固件,能够通过固件升级实现车辆的动力、操控、驾驶品质、辅助驾驶等系统级别体验的整体提升,是现有汽车座舱软件升级的一种技术。在车辆系统接收FOTA的升级请求后,车辆系统的处理器可以根据该升级请求将车载系统和微处理系统从第一系统切换为第二系统。车辆系统包括车载系统和微处理系统,即SOC(System on Chip)系统和MCU(Microcontroller Unit)系统。其中,SOC系统在本申请中指的是车载主机系统,在其上可以运行android和QNX系统。MCU系统是指与SOC系统相交互的微处理系统。
当车辆的处理器接收到FOTA升级请求时,可以将车载系统和微处理系统从第一系统切换为第二系统。其中,第一系统和第二系统互为备份系统,第一和第二是相对的。例如,第一系统可以是指A系统,第二系统可以是指B系统。上述的根据升级请求将车载系统和微处理系统从第一系统切换为第二系统可以是指,将车载系统和微处理系统从A系统切换为B系统,也可以是指将车载系统和微处理系统从B系统切换为A系统。因此,第一和第二是相互的,后续不再赘述。例如,假设车载系统当前正在运行的是A系统(第一系统),车辆接收到FOT升级请求后,可以控制车载系统切换到B系统(第二系统)。然后,可以控制车载系统和微处理系统重新启动,并确定重启后的车载系统和微处理系统所运行的系统。若车载系统和微处理系统中有其中当前运行的系统是A系统(第一系统),则表示车载系统和微处理系统并没有都成功切换至B系统(第二系统)。则可以确定本次FOTA升级失败,处理器可以再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为A系统。
在一个实施例中,车载系统的设计图如图2所示。其中,车载系统包括Recovery系统、A系统和B系统。Recovery系统是指精简版的系统,在该系统中可以只包括与升级相关的部分应用,以便在一些极端情况下能够进行补救,即可以启动此Recovery系统以便用户使用。QNX系统是分布式实时操作系统。A系统和B系统互为备份系统,且A系统和B系统都包括QNX系统和Android系统,Android系统运行在QNX启动的虚拟机上。进一步地,车载系统还可以包括BootLoader(引导加载程序),BootLoader是在操作系统内核运行之前运行,其可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。BootLoader可以通过写入启动标志来判断启动Recovery系统、A系统、B系统中的一个。
微处理系统在一个实施例中,用于车辆系统的升级方法还包括:在控制车载系统和微处理系统重新启动(步骤103)之前,将车载系统和微处理系统下次启动的系统标识设置为第二系统的系统标识,以使重新启动后的车载系统和微处理系统的系统切换为第二系统;获取重新启动后的车载系统和微处理系统的系统标识;在车载系统和微处理系统的系统标识不一致的情况下,确定重启后的车载系统和微处理系统中至少一者的系统为第一系统。
当车辆的处理器接收到FOTA升级请求时,可以将车载系统和微处理系统均从第一系统切换为第二系统,并控制车载系统和微处理系统重新启动。在控制车载系统和微处理系统重新启动之前,可以将车载系统和微处理系统下次启动的系统标识设置为第二系统的系统标识,以使重新启动后的车载系统和微处理系统的系统切换为第二系统。在重启后,处理器可以获取重新启动后的车载系统和微处理系统的系统标识,以确定重新启动后的车载系统和微处理系统当前运行的系统是哪个系统。在车载系统和微处理系统的系统标识不一致的情况下,可以确定车载系统和微处理系统当前运行的系统并不都是第二系统。即,可以确定重启后的车载系统和微处理系统所运行的系统微处理系统至少一者的系统为第一系统,可以确定本次FOTA升级失败,处理器可以再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
在一个实施例中,用于车辆系统的升级还包括:在再次控制车载系统和微处理系统重新启动(步骤105)之前,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
在控制车载系统和微处理系统重新启动后,可以根据车载系统和微处理系统的系统标识,以确定重新启动后的车载系统和微处理系统当前运行的系统是哪个系统。在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,可以确定本次FOTA升级失败。此时,处理器需要再次控制车载系统和微处理系统重新启动。在执行此步骤之前,处理器可以将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识,如此,在处理器再次控制车载系统和微处理系统重新启动时,则可以将车载系统和微处理系统的系统切换为第一系统。
在一个实施例中,如图3所示的时序图。车辆的处理器在收到FOTA升级请求后,可以运行BootLoader初始化硬件设备,并先将SOC的系统从A系统切换至B系统,然后将MCU的系统从A系统切换至B系统。然后,可以将车载系统和微处理系统下次启动的系统标识设置为B系统的系统标识,并控制车载系统和微处理系统重新启动。处理器可以获取重新启动后的车载系统和微处理系统的系统标识,以确定重新启动后的车载系统和微处理系统当前运行的系统。假设,处理器检测到MCU当前运行的系统还是A系统,SOC当前运行的系统是B系统,则表示MCU的系统并没有成功切换至B系统,则可以确定本次FOTA升级失败。假设处理器检测到MCU当前运行的系统是B系统,但SOC当前运行的系统是A系统,则表示SOC的系统并没有成功切换至B系统,同样可以确定本次FOTA升级失败。处理器可以将车载系统和微处理系统下次启动的系统标识设置为A系统的系统标识,再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为A系统。
在一个实施例中,车载系统和微处理系统均包括预设还原系统,升级方法还包括:在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功;控制车载系统启动第二系统;在确定车载系统启动第二系统失败的情况下,控制车载系统切换至预设还原系统;控制微处理系统重新启动,以控制微处理系统切换至预设还原系统;控制微处理系统退出预设还原系统,并控制车载系统重新启动进入第一系统;控制微处理系统重新启动,以控制微处理系统切换至第二系统;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
还原系统是精简版的车载系统只运行了和升级相关的一些应用,以便在一些极端情况下能够进行补救,车载系统运行还原系统时,可以启动车载系统升级前的系统,当车辆的处理器接收到FOTA升级请求时,可以将车载系统和微处理系统从第一系统切换为第二系统,然后,可以控制车载系统和微处理系统重新启动,并确定重启后的车载系统和微处理系统所运行的系统,在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功,控制车载系统启动第二系统;在确定车载系统启动第二系统失败的情况下,控制车载系统切换至预设还原系统;车辆处理器控制微处理系统重新启动,以控制微处理系统切换至预设还原系统;车辆处理器控制微处理系统退出预设还原系统,并控制车载系统重新启动进入第一系统;车辆处理器控制微处理系统重新启动,以控制微处理系统切换至第二系统;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
如图2所示可知,车载系统和微处理系统均包括预设还原系统,即Recovery系统。当车辆接收到FOT升级请求时,升级请求将车载系统和微处理系统从第一系统(A系统)切换为第二系统(B系统)。然后可以控制车载系统和微处理系统重新启动。若重启后的车载系统和微处理系统运行的系统都为B系统,则本次FOTA升级成功,车载系统启动B系统,当车载系统启动B系统失败时,那么要由微处理系统和Recovery系统配合来切换到升级前的系统。具体地,在确定重启后的车载系统和微处理系统的系统均为第二系统(B系统)的情况下,可以确定本次FOTA升级成功。然后,可以控制车载系统启动第二系统,若确定车载系统启动第二系统失败,则可以控制车载系统切换至预设还原系统,并控制微处理系统重新启动,以控制微处理系统切换至预设还原系统。进一步地,可以控制微处理系统退出预设还原系统,并控制车载系统重新启动进入第一系统。接下来,处理器可以控制微处理系统重新启动,以控制微处理系统切换至第二系统。在重启后,处理器可以检测重启后的车载系统和微处理系统当前运行的系统。在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,可以确定本次FOTA升级失败。处理器可以再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
具体地,在一个实施例中,上述方法还包括:微处理系统在预设时间段内超过第一预设次数未接收到车载系统返回的心跳数据的情况下,初步确定车载系统启动第二系统失败;在初步确定车载系统启动第二系统失败的次数达到第二预设次数的情况下,最终确定车载系统启动第二系统失败。
正常情况下,若车载系统启动成功,其会定时给微处理系统发送心跳包。心跳包就是在两个系统之间定时通知对方自己状态的一个自己定义的命令字,其按照一定的时间间隔发送,类似于心跳,所以称之为心跳包。因此,若微处理系统在预设时间段内超过第一预设次数未接收到车载系统返回的心跳数据,则可以初步确定车载系统启动第二系统失败。若是连续车载系统启动第二系统失败的次数达到第二预设次数,则可以最终确定车载系统启动第二系统失败。
具体地,在一个实施例中,GPIO是端口扩展器,是通用输入口和输出口,根据FOTA升级请求将SOC和MCU的系统切换至B系统后,可以设置SOC和MCU启动B系统的标志。调用MCU的重启接口,重启MCU和SOC,以将MCU切换到B系统。然后可以控制MCU上电复位,SOC此时可以尝试启动B系统。若是B系统由于故障无法启动,MCU在一定时间内无法收到SOC的心跳,可以判定此时SOC启动失败。重复尝试MCU切换到B系统并给MCU上电复位和SOC尝试启动B系统,若SOC启动一直失败,则认为SOC无法启动,此时处理器可以通过操作GPIO使SOC进入Recovery系统。处理器还可以控制MCU重新启动,使MCU也进入Recovery系统。在SOC启动成功并检测到GPIO处于进入Recovery系统的状态时,SOC可以根据GPIO状态,启动进入Recovery系统。然后可以设置SOC下次启动的系统标识为A系统的系统标识。通知MCU退出Recovery系统,再次重新上电,MCU可以操作GPIO使SOC处于禁止进入Recovery系统的状态。MCU重新上电,进入B系统。SOC启动检测到GPIO处于不可进入Recovery系统的状态,SOC可以根据GPIO状态和设置的启动系统标识来启动A系统。此时,SOC处于A系统,MCU处于B系统,二者的系统不一致。此时SOC可以通知MCU,使MCU切回至A系统。故MCU可以设置MCU下次启动的系统标识为A系统的标识,然后SOC可以通知MCU重启,在MCU和SOC重启后,SOC和MCU都切换回至A系统。进一步地,SOC还可以上报此次升级失败的信息,以供后续的分析和处理。
在一个实施例中,用于车辆系统的升级方法,控制车载系统重新启动进入第一系统包括:在车载系统处于预设还原系统的情况下,将车载系统下次启动的系统标识设置为第一系统的系统标识;控制车载系统重新启动,以控制车载系统根据下次启动的系统标识进入第一系统。
当车辆的处理器接收到FOTA升级请求时,可以将车载系统和微处理系统从第一系统切换为第二系统。然后,可以控制车载系统和微处理系统重新启动,并确定重启后的车载系统和微处理系统所运行的系统,在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功,控制车载系统启动第二系统。在确定车载系统启动第二系统失败的情况下,处理器可以控制车载系统切换至预设还原系统。在车载系统处于预设还原系统的情况下,可以将车载系统下次启动的系统标识设置为第一系统的系统标识,然后控制车载系统重新启动,以控制车载系统根据下次启动的系统标识进入第一系统。
在一个实施例中,用于车辆系统的升级方法,第一系统和第二系统互为备份系统,第一系统和第二系统均包括QNX系统和安卓系统,其中,安卓系统运行于QNX系统启动的虚拟机上。升级方法还包括:在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功;启动监听器,以监听车载系统和微处理系统的安卓系统是否启动成功;在监听到车载系统和微处理系统的安卓系统启动失败的情况下,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
当车辆的处理器接收到FOTA升级请求时,可以将车载系统和微处理系统从第一系统切换为第二系统。其中,第一系统和第二系统互为备份系统,第一和第二是相对的。例如,第一系统可以是指A系统,第二系统可以是指B系统。上述的根据升级请求将车载系统和微处理系统从第一系统切换为第二系统可以是指,将车载系统和微处理系统从A系统切换为B系统,也可以是指将车载系统和微处理系统从B系统切换为A系统。因此,第一和第二是相互的,第一系统和第二系统均包括QNX系统和安卓系统,其中,安卓系统运行于QNX系统启动的虚拟机上;控制车载系统和微处理系统重新启动,并确定重启后的车载系统和微处理系统所运行的系统,在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功,启动监听器,以监听车载系统和微处理系统的安卓系统是否启动成功;在监听到车载系统和微处理系统的安卓系统启动失败的情况下,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
具体方法如图4所示,车辆的处理器在收到FOT升级请求后,可以运行BootLoader初始化硬件设备。SOC切换至B系统成功后,SOC可以与MCU通信,MCU也切换至B系统。在MCU切换至B系统成功后,SOC可以将下次启动的系统标识设置为B系统的系统标识,并通知MCU下次启动时,也启动B系统。因此,MCU也可以将下次启动的系统标识设置为B系统的系统标识。然后,MCU和SOC重启,若重启后的SOC和MCU运行的系统都是B系统,则表明本次FOTA升级成功。在SOC切换至B系统后,若B系统中的QNX系统可以启动,但是安卓系统无法启动,那么QNX系统可以负责将SOC切换到升级前的A系统,并再次控制SOC和MCU重新启动,以将SOC和MCU的系统切换为A系统。其中,timer是计时器,以监听安卓系统是否启动成功。若安卓系统启动成功则关闭timer;若安卓系统启动超时,则SOC和MCU可以设置下次启动的系统标识为A系统的标识,使得MCU和SOC重启回到A系统。
上述一种用于车辆系统的升级方法、装置、处理器及存储介质,通过接收FOTA升级请求;根据升级请求将车载系统和微处理系统从第一系统切换为第二系统;控制车载系统和微处理系统重新启动;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。通过该方法,在升级过程中,若新升级的系统无法启动,也能自动恢复到原先系统,保证车载系统能够正常启动,不影响用户使用,提高了系统升级的稳定性。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述用于车辆系统的升级方法。
在一个实施例中,提供了一种用于车辆系统的升级装置,装置包括用于一种用于车辆系统的升级方法的处理器。
在一个实施例中,提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行用于车辆系统的升级方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收FOTA升级请求;根据升级请求将车载系统和微处理系统从第一系统切换为第二系统;控制车载系统和微处理系统重新启动;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
在一个实施例中,用于车辆系统的升级方法还包括:在控制车载系统和微处理系统重新启动之前,将车载系统和微处理系统下次启动的系统标识设置为第二系统的系统标识,以使重新启动后的车载系统和微处理系统的系统切换为第二系统;获取重新启动后的车载系统和微处理系统的系统标识;在车载系统和微处理系统的系统标识不一致的情况下,确定重启后的车载系统和微处理系统中至少一者的系统为第一系统。
在一个实施例中,用于车辆系统的升级还包括:在再次控制车载系统和微处理系统重新启动之前,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
在一个实施例中,用于车辆系统的升级方法,车载系统和微处理系统均包括预设还原系统,升级方法还包括:在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功;控制车载系统启动第二系统;在确定车载系统启动第二系统失败的情况下,控制车载系统切换至预设还原系统;控制微处理系统重新启动,以控制微处理系统切换至预设还原系统;控制微处理系统退出预设还原系统,并控制车载系统重新启动进入第一系统;控制微处理系统重新启动,以控制微处理系统切换至第二系统;在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;再次控制车载系统和微处理系统重新启动,并将车载系统和微处理系统的系统切换为第一系统。
在一个实施例中,用于车辆系统的升级方法还包括:微处理系统在预设时间段内超过第一预设次数未接收到车载系统返回的心跳数据的情况下,初步确定车载系统启动第二系统失败;在初步确定车载系统启动第二系统失败的次数达到第二预设次数的情况下,最终确定车载系统启动第二系统失败。
在一个实施例中,用于车辆系统的升级方法,控制车载系统重新启动进入第一系统包括:在车载系统处于预设还原系统的情况下,将车载系统下次启动的系统标识设置为第一系统的系统标识;控制车载系统重新启动,以控制车载系统根据下次启动的系统标识进入第一系统。
在一个实施例中,用于车辆系统的升级方法,第一系统和第二系统互为备份系统,第一系统和第二系统均包括QNX系统和安卓系统,其中,安卓系统运行于QNX系统启动的虚拟机上;升级方法还包括:在确定重启后的车载系统和微处理系统的系统均为第二系统的情况下,确定本次FOTA升级成功;启动监听器,以监听车载系统和微处理系统的安卓系统是否启动成功;在监听到车载系统和微处理系统的安卓系统启动失败的情况下,将车载系统和微处理系统下次启动的系统标识设置为第一系统的系统标识;再次控制车载系统和微处理系统重新启动,以将车载系统和微处理系统的系统切换为第一系统。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种用于车辆系统的升级方法,其特征在于,所述车辆系统包括车载系统和微处理系统,所述升级方法包括:
接收FOTA升级请求;
根据所述升级请求将所述车载系统和所述微处理系统从第一系统切换为第二系统;
控制所述车载系统和所述微处理系统重新启动;
在确定重启后的车载系统和微处理系统中至少一者的系统为所述第一系统的情况下,确定本次FOTA升级失败;
再次控制所述车载系统和所述微处理系统重新启动,并将所述车载系统和所述微处理系统的系统切换为所述第一系统。
2.根据权利要求1所述的用于车辆系统的升级方法,其特征在于,所述升级方法还包括:
在所述控制所述车载系统和所述微处理系统重新启动之前,将所述车载系统和所述微处理系统下次启动的系统标识设置为所述第二系统的系统标识,以使重新启动后的所述车载系统和所述微处理系统的系统切换为所述第二系统;
获取重新启动后的所述车载系统和所述微处理系统的系统标识;
在所述车载系统和所述微处理系统的系统标识不一致的情况下,确定重启后的车载系统和微处理系统中至少一者的系统为第一系统。
3.根据权利要求1所述的用于车辆系统的升级方法,其特征在于,所述升级方法还包括:
在所述再次控制所述车载系统和所述微处理系统重新启动之前,将所述车载系统和所述微处理系统下次启动的系统标识设置为所述第一系统的系统标识;
再次控制所述车载系统和所述微处理系统重新启动,以将所述车载系统和所述微处理系统的系统切换为所述第一系统。
4.根据权利要求1所述的用于车辆系统的升级方法,其特征在于,所述车载系统和微处理系统均包括预设还原系统,所述升级方法还包括:
在确定重启后的车载系统和微处理系统的系统均为所述第二系统的情况下,确定本次FOTA升级成功;
控制所述车载系统启动所述第二系统;
在确定所述车载系统启动所述第二系统失败的情况下,控制所述车载系统切换至所述预设还原系统;
控制所述微处理系统重新启动,以控制所述微处理系统切换至所述预设还原系统;
控制所述微处理系统退出所述预设还原系统,并控制所述车载系统重新启动进入所述第一系统;
控制所述微处理系统重新启动,以控制所述微处理系统切换至所述第二系统;
在确定重启后的车载系统和微处理系统中至少一者的系统为第一系统的情况下,确定本次FOTA升级失败;
再次控制所述车载系统和所述微处理系统重新启动,并将所述车载系统和所述微处理系统的系统切换为所述第一系统。
5.根据权利要求4所述的用于车辆系统的升级方法,其特征在于,所述升级方法还包括:
所述微处理系统在预设时间段内超过第一预设次数未接收到所述车载系统返回的心跳数据的情况下,初步确定所述车载系统启动所述第二系统失败;
在初步确定所述车载系统启动所述第二系统失败的次数达到第二预设次数的情况下,最终确定所述车载系统启动所述第二系统失败。
6.根据权利要求4所述的用于车辆系统的升级方法,其特征在于,所述控制所述车载系统重新启动进入所述第一系统包括:
在所述车载系统处于所述预设还原系统的情况下,将所述车载系统下次启动的系统标识设置为所述第一系统的系统标识;
控制所述车载系统重新启动,以控制所述车载系统根据所述下次启动的系统标识进入所述第一系统。
7.根据权利要求1所述的用于车辆系统的升级方法,其特征在于,所述第一系统和所述第二系统互为备份系统,所述第一系统和所述第二系统均包括QNX系统和安卓系统,其中,所述安卓系统运行于所述QNX系统启动的虚拟机上;
所述升级方法还包括:
在确定重启后的车载系统和微处理系统的系统均为所述第二系统的情况下,确定本次FOTA升级成功;
启动监听器,以监听所述车载系统和所述微处理系统的安卓系统是否启动成功;
在监听到所述车载系统和所述微处理系统的安卓系统启动失败的情况下,将所述车载系统和所述微处理系统下次启动的系统标识设置为所述第一系统的系统标识;
再次控制所述车载系统和所述微处理系统重新启动,以将所述车载系统和所述微处理系统的系统切换为所述第一系统。
8.一种处理器,其特征在于,被配置成执行根据权利要求1至7中任意一项所述的用于车辆系统的升级方法。
9.一种用于车辆系统的升级装置,其特征在于,包括根据权利要求8所述的处理器。
10.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至7中任一项所述的用于车辆系统的升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210363888.XA CN116931979A (zh) | 2022-04-07 | 2022-04-07 | 用于车辆系统的升级方法、装置、处理器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210363888.XA CN116931979A (zh) | 2022-04-07 | 2022-04-07 | 用于车辆系统的升级方法、装置、处理器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931979A true CN116931979A (zh) | 2023-10-24 |
Family
ID=88374370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210363888.XA Pending CN116931979A (zh) | 2022-04-07 | 2022-04-07 | 用于车辆系统的升级方法、装置、处理器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931979A (zh) |
-
2022
- 2022-04-07 CN CN202210363888.XA patent/CN116931979A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802813B (zh) | 用于空中固件升级的方法、装置及车辆 | |
CN110837388B (zh) | 机器人的软件升级方法、升级服务器、机器人及存储介质 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN111506326A (zh) | 终端设备的升级方法、装置、设备及存储介质 | |
CN116133011A (zh) | 车载系统的升级方法、系统及装置 | |
CN116931979A (zh) | 用于车辆系统的升级方法、装置、处理器及存储介质 | |
CN116795408A (zh) | Ecu的软件升级方法、系统及车辆 | |
CN116382753A (zh) | 一种基于网络的设备固件高可靠性远程升级方法 | |
CN113805933A (zh) | 机顶盒系统升级方法、装置、机顶盒、系统和存储介质 | |
CN115480806A (zh) | 空中下载技术ota的升级方法及装置 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
CN113050960A (zh) | Ota升级方法、装置、车载终端及存储介质 | |
CN114237722B (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN113276788B (zh) | 车载应用的升级方法、装置及车载终端、存储介质 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN113900952A (zh) | 测试用例执行方法、装置、终端设备和可读存储介质 | |
CN103473081A (zh) | 终端进行系统升级后生效的方法及该终端 | |
CN114995845A (zh) | Ota升级方法和设备 | |
CN112241340A (zh) | 一种面向在线升级的启动和加载区域数据备份方法 | |
CN114647424A (zh) | Ecu应用程序更新方法、装置、系统、存储介质和电子设备 | |
CN116150771B (zh) | 一种冗余处理的装置、方法、系统及智能车辆 | |
CN110659052A (zh) | 网络设备中系统软件的更新方法、系统及可读存储介质 | |
CN112579114A (zh) | 物联网设备的程序升级方法、装置及物联网设备 | |
CN111142915B (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 |