CN117785238A - 固件升级方法、装置、电子设备及计算机可读存储介质 - Google Patents
固件升级方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117785238A CN117785238A CN202311782238.XA CN202311782238A CN117785238A CN 117785238 A CN117785238 A CN 117785238A CN 202311782238 A CN202311782238 A CN 202311782238A CN 117785238 A CN117785238 A CN 117785238A
- Authority
- CN
- China
- Prior art keywords
- uboot
- version
- partition
- upgrade
- latest
- 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 63
- 238000005192 partition Methods 0.000 claims abstract description 149
- 238000011084 recovery Methods 0.000 claims abstract description 28
- 230000002159 abnormal effect Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005856 abnormality Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种固件升级方法、装置、电子设备及计算机可读存储介质,属于固件升级技术领域。该方法包括:A系统进入恢复模式,若A系统的当前uboot版本低于最新uboot版本,则在B系统的uboot分区对当前uboot版本进行备份;根据最新uboot版本对A系统的uboot分区进行升级;若A系统升级异常,则启动B系统,通过B系统根据备份的当前uboot版本恢复A系统的uboot分区,重新启动A系统。这样,可以减少A系统的uboot分区升级的次数,提高OTA的稳定性和可靠性,在A系统的uboot分区擦写异常时,通过B系统恢复,重启A系统,避免A系统变砖的情况,提高A系统升级过程的可靠性。
Description
技术领域
本申请涉及固件升级技术领域,尤其涉及一种固件升级方法、装置、电子设备及计算机可读存储介质。
背景技术
目前市面上已有的系统的OTA(空中下载技术,Over The Air)升级方案主要有恢复(recovery)模式和AB系统模式等。recovery模式下,升级引导加载程序(uboot)时不允许断电或者其他异常,否则会出现升级失败导致死机的情况,用户无法正常使用。AB系统模式下,系统需要占用双倍的资源空间,成本高。
发明内容
为了解决上述技术问题,本申请实施例提供了一种固件升级方法、装置、电子设备及计算机可读存储介质。
第一方面,本申请实施例提供了一种固件升级方法,所述方法包括:
若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;
在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;
若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;
根据所述最新uboot版本对所述A系统的uboot分区进行升级;
若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。
在一实施方式中,所述方法还包括:
若所述当前uboot版本高于或等于所述最新uboot版本,则不对所述A系统的uboot分区进行升级,根据所述最新OTA升级包对所述A系统的其他分区进行升级。
在一实施方式中,所述方法还包括:
若检测到断电或所述A系统的uboot分区升级异常事件,则确定所述A系统升级异常。
在一实施方式中,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。
在一实施方式中,所述重新启动所述A系统之后,还包括:
确定所述最新OTA升级包中除uboot分区升级包之外的其他分区升级包;
根据所述其他分区升级包对所述A系统的其他分区进行升级。
在一实施方式中,所述若A系统需要升级,则所述A系统进入恢复模式之前,所述方法还包括:
判断系统启动项是否为所述A系统;
若所述系统启动项为所述A系统,则根据升级标志配置文件判断所述A系统是否需要升级。
在一实施方式中,所述在B系统的uboot分区对所述当前uboot版本进行备份之后,所述方法还包括:
将系统启动项设置为所述B系统。
第二方面,本申请实施例提供了一种固件升级装置,所述固件升级装置包括:
下载模块,用于若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;
比对模块,用于在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;
备份模块,用于若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;
升级模块,用于根据所述最新uboot版本对所述A系统的uboot分区进行升级;
启动模块,用于若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。
第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的固件升级方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的固件升级方法。
上述本申请提供的固件升级方法、装置、电子设备及计算机可读存储介质,若A系统需要升级,则下载最新OTA升级包,A系统进入恢复模式;将最新OTA升级包的最新uboot版本与A系统的当前uboot版本进行对比;若当前uboot版本低于最新uboot版本,则在B系统的uboot分区对当前uboot版本进行备份;根据最新uboot版本对A系统的uboot分区进行升级;若A系统升级异常,则启动B系统,通过B系统根据备份的当前uboot版本恢复A系统的uboot分区,重新启动A系统。这样,可以减少A系统的uboot分区升级的次数,提高OTA的稳定性和可靠性,在A系统的uboot分区擦写异常时,通过B系统恢复,重启A系统,避免A系统变砖的情况,提高A系统升级过程的可靠性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提供的固件升级方法的一流程示意图;
图2示出了本申请实施例提供的固件升级方法的另一流程示意图;
图3示出了本申请实施例提供的固件升级方法的另一流程示意图;
图4示出了本申请实施例提供的固件升级方法的另一流程示意图;
图5示出了本申请实施例提供的固件升级装置的一结构示意图。
图标:500-固件升级装置,501-下载模块,502-比对模块,503-备份模块,504-升级模块,505-启动模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
实施例1
本申请实施例提供了一种固件升级方法。
参见图1,固件升级方法包括步骤S101-S105,下面对各步骤进行说明。
步骤S101,若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区。
在本实施例中,可以根据升级标志配置文件判断所述A系统是否需要升级。最新OTA升级包包括uboot分区升级包和其他分区升级包。所述A系统的uboot分区设置有当前uboot分区版本,A系统的其他分区也对应设置有当前的版本。
步骤S102,在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比。
在本实施例中,判断最新OTA升级包的最新uboot版本是否高于所述A系统的当前uboot版本,若最新uboot版本高于所述A系统的当前uboot版本,则执行步骤S103。若最新uboot版本低于或等于所述A系统的当前uboot版本,则不对A系统的uboot分区进行更新,可以减少uboot分区的升级次数,降低uboot分区损耗,提高升级效率。
步骤S103,若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份。
需要补充说明的是,本实施例中的B系统为最小系统,在B系统中,只负责恢复A系统的uboot分区,相较于传统方案中的B系统,其所占内存空间更小,节省了资源空间浪费,极大的提高了产品的性价比。当需要升级的时候,先在B系统的uboot分区备份A系统的uboot分区的当前uboot版本,然后将系统下次启动项切换到B系统,通过判断uboot分区的版本号来降低升级次数,版本号高于或者等于OTA包中的uboot版本号,则不需要升级uboot,只升级其他的分区即可。当在擦写A系统的uboot分区时,出现异常情况,系统自动重启后切换到B系统启动,通过B系统自动恢复A系统的uboot分区,然后再次重启进入A系统,能够极大的提高了升级的可靠性和稳定性。
在一实施方式中,所述在B系统的uboot分区对所述当前uboot版本进行备份之后,所述方法还包括:
将系统启动项设置为所述B系统。
这样,可以下次启动系统时,可以自动启动B系统。
步骤S104,根据所述最新uboot版本对所述A系统的uboot分区进行升级。
在本实施例中,最新uboot版本高于所述A系统的当前uboot版本时,才会基于最新uboot版本对所述A系统的uboot分区进行升级,减少对A系统的uboot分区的升级操作,可以减少uboot分区的损耗,提高资源利用率。
参见图2,该固件升级方法还包括步骤S106-S107。
步骤S106,确定所述最新OTA升级包中除uboot分区升级包之外的其他分区升级包;
步骤S107,根据所述其他分区升级包对所述A系统的其他分区进行升级。
在本实施例中,在对A系统的uboot分区升级成功后,可以进一步对其他分区进行升级,或者在A系统的uboot分区升级识别,B系统重新恢复A系统的uboot分区、重启A系统后,根据下载的OTA升级包对A系统的其他分区进行升级。
步骤S105,若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。
在本实施例中,A系统为运行系统,B系统为恢复系统,该B系统为最小系统,除了uboot分区之外,没有其他分区,减少资源占用。在A系统OTA升级过程中,如果升级uboot失败或者升级过程中断电等异常情况,可自动重启后进入B系统运行,B系统将A系统的uboot还原,然后再次切换到A系统运行。从而保证系统的可靠性和稳定性,因B系统只负责基本的驱动初始化以及将A系统的uboot还原,故可以极大程度的缩小其对系统资源的占用,解决了A系统的uboot分区擦写时,如果出现异常就极有可能变砖的情况,提高可用性。
需要补充说明的是,传统的AB系统模式中,A系统和B系统的内容不一定相同,但是这两个系统都是完整的系统,首次运行的时候(假如是1.0版本),在A系统上运行,假如需要升级2.0版本,会刷新B系统,然后下次启动时,在B系统上运行,下次如需再升级到3.0版本,会将会更新到A系统中,重启之后再A系统上运行。异常状态下,假如A、B系统中其中一个系统(如A系统)无法运行,会自动跳转到另外一个系统(如B系统)上运行,以此来保证系统的可靠性。现有AB系统模式下,最明显的缺点在于需要保存2个完整的系统,资源占用高。
相对现有的单独采用恢复模式进行升级,本实施例提供的结合恢复模式和AB系统的固件升级方案的稳定性和可靠性更高。相对现有的单独采用AB系统进行升级的方案,本实施例提供的结合恢复模式和AB系统的固件升级方案的资源占用率更小,能极大的节省成本。
在一实施方式中,该固件升级方法还包括:
若检测到断电或所述A系统的uboot分区升级异常事件,则确定所述A系统升级异常。
需要补充说明的是,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。
在一实施方式中,该固件升级方法还包括:
若所述当前uboot版本高于或等于所述最新uboot版本,则不对所述A系统的uboot分区进行升级,根据所述最新OTA升级包对所述A系统的其他分区进行升级。
这样,通过判断uboot分区的版本号来降低升级次数,版本号高于或者等于OTA包中的uboot版本号,则不需要升级uboot,只升级其他的分区,降低uboot分区的升级次数,提高固件升级效率,提升固件升级的稳定性和可靠性。
参见图3,该固件升级方法还包括步骤S108-S109。
步骤S108,判断所述系统启动项是否为所述A系统;
步骤S109,若所述系统启动项为所述A系统,则根据升级标志配置文件判断所述A系统是否需要升级。
此外,还可以通过判断所述系统启动项是否为所述B系统,若所述系统启动项为B系统,则启动B系统,通过B系统对A系统的uboot分区的当前uboot版本进行备份。
下面结合图4对本实施例提供的固件升级方法进行相关说明。
步骤S401,AB系统选择,并启动系统。
步骤S402,判断是否启动B系统。
在该步骤中,若启动B系统,则进入步骤S403,若为启动B系统,即启动A系统,则进入步骤S405。
步骤S403,挂载并恢复A系统的uboot分区。
步骤S404,启动A系统,进行初始化。
步骤S405,判断是否需要升级系统。
在该步骤中,若A系统需要升级,则进入步骤S406,若A系统不需要升级,则进入步骤S4013。
步骤S406,下载最新OTA升级包。
步骤S407,进入恢复模式。
步骤S408,从OTA升级包中获取最新uboot版本。
步骤S409,判断最新uboot版本是否低于等于当前uboot版本。
在该步骤中,若最新uboot版本高于当前uboot版本,则进入步骤S4010,若最新uboot版本低于等于当前uboot版本,则进入步骤S4012。
步骤S4010,备份uboot分区,将系统下次启动设置为B系统启动。
该步骤中,在B系统的uboot分区备份A系统的当前uboot分区版本。
步骤S4011,升级uboot分区,将系统下次启动设置A系统启动。
该步骤中,基于最新uboot版本对A系统的uboot分区进行升级。
步骤S4012,升级uboot分区以外的其他分区。
在A系统的uboot分区升级完成后,升级A系统的其他分区。在A系统的uboot分区升级失败,则设置系统启动项为B系统,通过B系统对A系统的uboot分区进行恢复,重启A系统。
步骤S4013,升级结束进入正常工作状态。
在A系统升级uboot分区结束之后,只需要将系统启动项改为A系统启动,不需要其他的额外操作。升级A系统的uboot分区之前,会将系统启动项设置为B系统启动,如果升级异常了,那么再次重启时,系统会进入到B系统启动,并执行恢复A系统的uboot分区,然后将系统启动项设置为A系统启动,再次重启系统后,A系统因恢复了uboot分区,即可正常启动A系统。
本实施例提供的固件升级方法,若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;根据所述最新uboot版本对所述A系统的uboot分区进行升级;若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。这样,当前uboot版本低于所述最新uboot版本,根据所述最新uboot版本对所述A系统的uboot分区进行升级,可以减少A系统的uboot分区升级的次数,提高OTA的稳定性和可靠性,B系统为包括uboot分区的最小系统,最大程度节省了资源,极大的提高了产品的性价比。在A系统的uboot分区擦写异常时,通过B系统恢复,重启A系统,避免A系统变砖的情况,提高A系统升级过程的可靠性。
实施例2
此外,本申请实施例提供了一种固件升级装置。
如图5所示,固件升级装置500包括:
下载模块501,用于若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;
比对模块502,用于在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;
备份模块503,用于若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;
升级模块504,用于根据所述最新uboot版本对所述A系统的uboot分区进行升级;
启动模块505,用于若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。
在一实施方式中,升级模块504,还用于若所述当前uboot版本高于或等于所述最新uboot版本,则不对所述A系统的uboot分区进行升级,根据所述最新OTA升级包对所述A系统的其他分区进行升级。
在一实施方式中,固件升级装置500包括:
确定模块,用于若检测到断电或所述A系统的uboot分区升级异常事件,则确定所述A系统升级异常。
在一实施方式中,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。
在一实施方式中,升级模块504,还用于在重新启动所述A系统之后,确定所述最新OTA升级包中除uboot分区升级包之外的其他分区升级包;
根据所述其他分区升级包对所述A系统的其他分区进行升级。
在一实施方式中,固件升级装置500包括:
判断模块,用于判断所述系统启动项是否为所述A系统;
若系统启动项为所述A系统,则根据升级标志配置文件判断所述A系统是否需要升级。
在一实施方式中,固件升级装置500包括:
设置模块,用于在B系统的uboot分区对所述当前uboot版本进行备份之后,将所述系统启动项设置为所述B系统。
本实施例提供的固件升级装置500可以实现实施例1所提供的固件升级方法,为避免重复,在此不再赘述。
本实施例提供的固件升级装置,若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;根据所述最新uboot版本对所述A系统的uboot分区进行升级;若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。这样,当前uboot版本低于所述最新uboot版本,根据所述最新uboot版本对所述A系统的uboot分区进行升级,可以减少A系统的uboot分区升级的次数,提高OTA的稳定性和可靠性,B系统为包括uboot分区的最小系统,最大程度节省了资源,极大的提高了产品的性价比。在A系统的uboot分区擦写异常时,通过B系统恢复,重启A系统,避免A系统变砖的情况,提高A系统升级过程的可靠性。
实施例3
此外,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行实施例1所提供的固件升级方法。
本实施例提供的电子设备可以实现实施例1所提供的固件升级方法,为避免重复,在此不再赘述。
实施例4
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现实施例1所提供的固件升级方法。
在本实施例中,计算机可读存储介质可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本实施例提供的计算机可读存储介质可以实现实施例1所提供的固件升级方法,为避免重复,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种固件升级方法,其特征在于,所述方法包括:
若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;
在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;
若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;
根据所述最新uboot版本对所述A系统的uboot分区进行升级;
若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述当前uboot版本高于或等于所述最新uboot版本,则不对所述A系统的uboot分区进行升级,根据所述最新OTA升级包对所述A系统的其他分区进行升级。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到断电或所述A系统的uboot分区升级异常事件,则确定所述A系统升级异常。
4.根据权利要求3所述的方法,其特征在于,所述uboot分区升级异常事件包括uboot分区升级包校验异常和/或uboot分区升级包写入异常。
5.根据权利要求1所述的方法,其特征在于,所述重新启动所述A系统之后,还包括:
确定所述最新OTA升级包中除uboot分区升级包之外的其他分区升级包;
根据所述其他分区升级包对所述A系统的其他分区进行升级。
6.根据权利要求1所述的方法,其特征在于,所述若A系统需要升级,则所述A系统进入恢复模式之前,所述方法还包括:
判断系统启动项是否为所述A系统;
若所述系统启动项为所述A系统,则根据升级标志配置文件判断所述A系统是否需要升级。
7.根据权利要求1所述的方法,其特征在于,所述在B系统的uboot分区对所述当前uboot版本进行备份之后,所述方法还包括:
将系统启动项设置为所述B系统。
8.一种固件升级装置,其特征在于,所述装置包括:
下载模块,用于若A系统需要升级,则下载最新OTA升级包,所述A系统进入恢复模式,所述A系统包括uboot分区和其他分区;
比对模块,用于在所述恢复模式下,将所述最新OTA升级包的最新uboot版本与所述A系统的当前uboot版本进行对比;
备份模块,用于若所述当前uboot版本低于所述最新uboot版本,则在B系统的uboot分区对所述当前uboot版本进行备份;
升级模块,用于根据所述最新uboot版本对所述A系统的uboot分区进行升级;
启动模块,用于若所述A系统升级异常,则启动所述B系统,通过所述B系统根据备份的当前uboot版本恢复所述A系统的uboot分区,重新启动所述A系统。
9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的固件升级方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的固件升级方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311782238.XA CN117785238A (zh) | 2023-12-21 | 2023-12-21 | 固件升级方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311782238.XA CN117785238A (zh) | 2023-12-21 | 2023-12-21 | 固件升级方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117785238A true CN117785238A (zh) | 2024-03-29 |
Family
ID=90388402
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311782238.XA Pending CN117785238A (zh) | 2023-12-21 | 2023-12-21 | 固件升级方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117785238A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119806595A (zh) * | 2025-01-15 | 2025-04-11 | 重庆长安科技有限责任公司 | 智能驾驶系统的升级方法、装置及车辆 |
-
2023
- 2023-12-21 CN CN202311782238.XA patent/CN117785238A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119806595A (zh) * | 2025-01-15 | 2025-04-11 | 重庆长安科技有限责任公司 | 智能驾驶系统的升级方法、装置及车辆 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102165422B (zh) | 固件更新装置以及方法 | |
| KR100750132B1 (ko) | 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 | |
| CN105094927B (zh) | 一种设备固件升级方法和装置 | |
| CN109032632B (zh) | 一种fota升级方法、无线通信终端及存储介质 | |
| CN112860291B (zh) | 固件升级方法及装置 | |
| CN103902399A (zh) | 软件系统修复处理方法及装置 | |
| CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
| CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
| CN106775674B (zh) | 一种基于通用引导加载程序的设备及其启动方法 | |
| CN115827046A (zh) | 实现spl分区ota升级的方法及装置、终端设备、芯片 | |
| CN117785238A (zh) | 固件升级方法、装置、电子设备及计算机可读存储介质 | |
| CN116185510A (zh) | 分区切换启动方法、阵列服务器和计算机可读存储介质 | |
| CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
| CN114356658A (zh) | 固件升级异常的处理方法、计算机设备以及可读存储介质 | |
| CN110908722B (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
| CN119806655A (zh) | 系统的分段启动方法、装置、存储介质以及电子设备 | |
| CN120653317A (zh) | 系统备份启动方法、装置、电子设备及存储介质 | |
| CN116627515A (zh) | 嵌入式系统的分区切换启动方法及装置 | |
| CN102662695B (zh) | 一种系统启动的方法及装置 | |
| CN114153481A (zh) | 一种驾驶系统更新方法、装置及计算机设备 | |
| CN113190244A (zh) | 无线模组升级的方法、装置、计算机设备和存储介质 | |
| CN114489717B (zh) | 一种系统升级方法、装置和系统 | |
| CN100469001C (zh) | 可使用通用随插即用通信协议更新软件程序的系统及方法 | |
| CN111190627A (zh) | 系统升级方法及装置 | |
| CN119322628B (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 |