CN111742297A - 固件启动方法、设备及计算机可读存储介质 - Google Patents
固件启动方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111742297A CN111742297A CN201980012440.XA CN201980012440A CN111742297A CN 111742297 A CN111742297 A CN 111742297A CN 201980012440 A CN201980012440 A CN 201980012440A CN 111742297 A CN111742297 A CN 111742297A
- Authority
- CN
- China
- Prior art keywords
- boot
- program
- preset
- programs
- currently started
- 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 81
- 230000009191 jumping Effects 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 7
- 239000003550 marker Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007488 abnormal function 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
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种固件启动方法、设备及计算机可读存储介质,该方法包括:对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N‑1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。从而能够保证当前启动的引导程序与固件的版本相匹配,进而能够使设备应用功能正常运行。
Description
技术领域
本发明实施例涉及无人机领域,尤其涉及一种固件启动方法、设备及计算机可读存储介质。
背景技术
一般嵌入式设备为了启动及升级安全,软件上都采用了主备版本互为备份的启动方案。例如,某设备的软件版本包含引导程序(bootloader)和固件(firmware)。启动过程中,设备soc芯片的无盘启动ROM接口(bootrom)引导引导程序,然后引导程序引导固件。
为了降低引导程序或者固件损坏导致设备无法正常启动的概率,存储flash中一般存储至少两套软件版本互为备份。以软件版本为两份举例来说,两套软件版本分别为引导程序1、引导程序2和固件1、固件2。一般启动过程中通过查询记录在flash中的一个标记位来决定启动哪套软件版本。标记位分别可以为slot1、slot2。当标记位为slot1时,bootrom引导引导程序1和固件1。当标记位为slot2时,bootrom引导引导程序2和固件2。一般嵌入式设备升级软件版本时,如果当前启动的是slot1版本,那么只升级引导程序2和固件2,然后标记位改为slot2,设备重新启动之后可以切换到slot2运行,slot1的版本不变。当前启动的是slot2版本,那么只升级引导程序1和固件1,然后标记位改为slot1,设备重新启动之后可以切换到slot1运行,slot2的版本不变。
但是,由于引导程序在启动过程中不会判断标记位,因此,可能会导致引导程序与固件版本不匹配,而会造成功能异常的风险。以实际应用举例来说,当软件记录在flash中的标记位为slot2时,芯片soc的bootrom不判断标记位,直接校验引导程序1,如果引导程序1校验成功并启动之后,引导程序1根据flash中的标记位slot2启动固件2。此种场景下会bootloader1和firmware2配合启动,导致启动版本不匹配,有设备应用功能异常的风险。
发明内容
本发明实施例提供一种固件启动方法、设备及计算机可读存储介质,以解决现有技术中启动加载程序与固件版本不匹配,而会造成功能异常的风险的技术问题。
本发明实施例的第一方面是提供一种固件启动方法,包括:
对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配;其中,所述标记位与预设的固件相对应,其用于使得所述当前启动的引导程序能够引导所述固件。
本发明实施例的第二方面是提供一种固件启动设备,包括:存储器和处理器;
所述存储器用于存储程序代码;
所述处理器,调用所述程序代码,当程序代码被执行时,用于执行以下操作:
对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配;其中,所述标记位与预设的固件相对应,其用于使得所述当前启动的引导程序能够引导所述固件。
本发明实施例的第三方面是提供一种可移动平台,包括:
机体;
动力系统,设于所述机体,所述动力系统用于为所述可移动平台提供动力;以及一个或多个处理器,所述一个或多个处理器,用于执行第一方面所述的方法。
本发明实施例的第四方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本实施例提供的固件启动方法、设备及计算机可读存储介质,通过对N个预设的引导程序进行校验,确定当前启动的引导程序,并在该当前启动的引导程序与当前的标记位不匹配时,对当前的标记位进行切换或对当前启动的引导程序进行跳转,从而能够保证当前启动的引导程序与固件的版本相匹配,进而能够使设备应用功能正常运行。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的固件启动方法的流程示意图;
图2为本发明实施例二提供的固件启动方法的流程示意图;
图3为本发明实施例三提供的固件启动方法的流程示意图;
图4为本发明实施例三提供的固件启动方法的另一流程示意图;
图5为本发明实施例四提供的固件启动方法的流程示意图;
图6为本发明实施例五提供的固件启动设备的结构示意图;
图7为本发明实施例六提供的可移动平台的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
针对上述提及的现有技术中启动加载程序与固件版本不匹配,而会造成功能异常的风险的技术问题,本发明提供了一种固件启动方法、设备及计算机可读存储介质。
需要说明的是,本发明提供的固件启动方法、设备及计算机可读存储介质能够应用在任意一种启动加载程序与固件版本不匹配的系统中。
图1为本发明实施例一提供的固件启动方法的流程示意图,如图1所示,所述方法包括:
步骤101、对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
步骤102、若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
本实施例的执行主体为固件启动设备。实际应用中,嵌入式设备中设置有引导程序以及固件,在启动过程中,嵌入式设备soc芯片的无盘启动ROM接口(bootrom)引导引导程序,然后引导程序引导固件。为了启动及升级安全,嵌入式设备中设置有N个预设的引导程序,以及N个固件,其中,N≥2。故而在嵌入式设备升级软件版本时,可以启动一个引导程序以及与该引导程序标识对应的固件,对当前未当前启动的引导程序以及固件进行升级。但是,由于引导程序在引导固件的过程中,引导程序需要向固件发送应用数据,若引导程序与固件版本不匹配,而会造成功能异常的风险。因此,为了解决上述问题,在引导程序启动时,可以对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序。
进一步地,在上述任一实施例的基础上,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序,包括:
当对任意一个引导程序校验成功时,以当前校验成功的引动程序作为所述当前启动的引导程序,并停止对剩余引导程序进行校验。
在本实施例中,N个引导程序分别具有对应的标识,可以按照标识的顺序对N个引导程序进行验证,将验证成功的引导程序作为当前启动的引导程序。
需要说明的是,N个预设的引导程序依次设在flash上不同的偏移地址处,bootrom按照N个引导程序在flash上的排列顺序进行启动。例如,当flash上第一个引导程序正常(即可以校验成功)时,则启动第一个引导程序;当flash上第一个引导程序不正常(即校验不成功)时,则启动下一个正常的引导程序。
进一步地,在上述任一实施例的基础上,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序,包括:
当第N-1个引导程序校验不成功时,以第N个引导程序作为所述当前启动的引导程序。
在本实施例中,也可以对N-1个引导程序进行验证,在验证过程中,若N-1个引导程序中有存在验证成功的引导程序,则将验证成功的引导程序作为当前启动的引导程序,若N-1个引导程序均验证不成功,则可以判定当前启动的引导程序为第N个引导程序。从而能够精准地确定当前启动的引导程序的标识。
进一步地,一般启动过程中通过查询记录在预设存储路径中的一个标记位来决定启动哪套软件版本。因此,在获取到当前启动的引导程序之后,可以确定当前启动的引导程序的标识与标记位是否匹配,若匹配,则可以直接对标记位对应的固件进行启动,此时,引导程序与固件的版本匹配。相应地,若当前启动的引导程序的标识与标记位不匹配时,则可以对当前的标记位进行切换,将标记位切换为与当前启动的引导程序标识一致,从而当前启动的引导程序与固件的版本相匹配。可选地,若当前启动的引导程序的标识与标记位不匹配时,还可以对当前启动的引导程序进行跳转,从而当前启动的引导程序的标识能够与标记位相匹配,从而当前启动的引导程序与固件的版本相匹配。
本实施例提供的固件启动方法,通过对N个预设的引导程序进行校验,确定当前启动的引导程序,并在该当前启动的引导程序与当前的标记位不匹配时,对当前的标记位进行切换或对当前启动的引导程序进行跳转,从而能够保证当前启动的引导程序与固件的版本相匹配,进而能够使设备应用功能正常运行。
进一步地,在上述任一实施例的基础上,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还包括:
从预设的第一存储路径获取所述N个预设的引导程序。
在本实施例中,为了实现对N个预设的引导程序或N个预设的引导程序中的N-1个进行校验,首先需要获取该N个预设的引导程序。具体地,可以从预设的第一存储路径中获取该N个预设的引导程序。其中,该第一存储路径具体可以为Flash。
进一步地,在获取到N个预设的引导程序之后,可以根据N个预设的引导程序确定当前启动的引导程序,具体地,在上述任一实施例的基础上,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,包括:
对所述N个预设的引导程序进行解密操作或对N个预设的引导程序中的N-1个进行解密操作,获得解密后的引导程序;
对所述解密后的引导程序的数字签名进行验证。
在本实施例中,引导程序中一般都是经过加密的。因此,为了实现对引导程序的验证,首先需要对N个预设的引导程序或对N个预设的引导程序中的N-1个进行加密操作,获得解密后的引导程序。引导程序中一般包括代码部分以及数据部分,因此,获取解密后的引导程序之后,可以对解密后的引导程序中的数据部分的数字签名进行验证。若某一引导程序存在破损或故障,则无法验证成功,因此,可以将验证成功的引导程序作为当前启动的引导程序。
本实施例提供的固件启动方法,通过对引导程序进行加密,并对解密后的引导程序的数字签名进行验证,从而能够精准地确定当前启动的引导程序。
图2为本发明实施例二提供的固件启动方法的流程示意图,在上述任一实施例的基础上,所述方法包括:
步骤201、对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
步骤102具体包括:
步骤202、若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换。
在本实施例中,若当前的标记位和当前启动的引导程序不匹配时,可以对当前的标记位进行切换,也可以对当前启动的引导程序进行跳转。具体地,可以判断当前启动的引导程序的标识与当前的标记位之间的大小关系,若当前启动的引导程序的标识大于当前的标记位,则可以对当前的标记位进行切换。
以实际应用举例来说,由于引导程序在启动过程中,都是按照引导程序的标识依次尝试启动的,若当前启动的引导程序的标识为2,则可以判定引导程序1出现故障,无法启动。但是若当前的启动标识位为1,则根据该启动标识位启动的固件也应该为固件1,但是,引导程序1出现故障,无法启动,引导程序与固件之间不匹配,此时需要对当前的标记位进行切换。可选地,可以将标记位切换为2,此时当前启动的引导程序为引导程序2,启动的固件为固件2,引导程序与固件的版本相匹配。
进一步地,在上述任一实施例的基础上,所述对所述当前的标记位进行切换,包括:
控制所述引导程序将所述当前的标记位切换为与所述引导程序的标识匹配的标记位。
在本实施例中,可以通过引导程序实现对标记位的切换处。具体地,可以控制引导程序将当前的标记位切换至与引导程序标识相匹配的标记位。举例来说,若当前启动的引导程序为引导程序3,则此时引导程序可以将标记位切换为3。进而在实际应用中,引导程序3可以根据该标记位对固件3进行启动,引导程序与固件的版本相匹配。
本实施提供的固件启动方法,通过在当前启动的引导程序的标识大于当前的标记位时,对当前的标记位进行切换,从而能够保证引导程序与固件的版本相匹配,进而能够保证嵌入式系统正常运行。
图3为本发明实施例三提供的固件启动方法的流程示意图;图4为本发明实施例提供的固件启动方法的流程示意图,在上述任一实施例的基础上,如图3-图4所示,所述方法包括:
步骤301、对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
步骤102具体包括:
步骤302、若所述当前启动的引导程序的标识小于所述当前的标记位,则对所述当前启动的引导程序进行跳转。
在本实施例中,若当前的标记位和当前启动的引导程序不匹配时,可以对当前的标记位进行切换,也可以对当前启动的引导程序进行跳转。具体地,可以判断当前启动的引导程序的标识与当前的标记位之间的大小关系,若当前启动的引导程序的标识小于当前的标记位,则可以对当前的当前启动的引导程序进行跳转。
以实际应用举例来说,若当前启动的引导程序为引导程序1,但是当前的标记位为固件2,此时,可以对当前启动的引导程序进行跳转,跳转为与固件2匹配的引导程序2,从而引导程序与固件的版本相匹配。
进一步地,在上述任一实施例的基础上,所述对所述当前启动的引导程序进行跳转,包括:
在预设的第二存储路径中写入跳转标记位。
在本实施例中,可以在预设的第二存储路径中写入跳转标记位,实现对当前启动的引导程序的跳转。其中,该第二存储路径可以为Ram。进而可以通过检测Ram中是否存在跳转标记位来确定是否对引导程序的跳转,为引导程序与固件的版本相匹配提供了基础。
本实施例提供的固件启动方法,通过在当前启动的引导程序的标识小于当前的标记位时,则对当前启动的引导程序进行跳转,从而能够保证引导程序与固件的版本相匹配,进而能够保证嵌入式系统正常运行。
进一步地,在上述任一实施例的基础上,所述对所述当前启动的引导程序进行跳转,包括:
对所述当前的标记位相匹配的引导程序进行校验,当校验成功时,对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
可选地,为了节约资源,完成当前校验成功的引导程序的跳转之后,可以停止对剩余引导程序的校验操作。
本实施例提供的固件启动方法,通过在当前启动的引导程序的标识小于当前的标记位时,对所述当前的标记位相匹配的引导程序进行校验,,从而能够实现对当前启动的引导程序的跳转,进而能够使当前启动的引导程序与固件之间的版本相匹配,避免嵌入式系统运行出现故障。
进一步地,在上述任一实施例的基础上,所述方法还包括:
对所述当前的标记位相匹配的引导程序进行校验,当校验不成功时,对所述当前的标记位进行切换,以使得所述当前的标记位和当前启动的引导程序匹配。
在本实施例中,对所述当前的标记位相匹配的引导程序进行校验,当校验不成功时,对所述当前的标记位进行切换,以使得所述当前的标记位和当前启动的引导程序匹配。以实际应用举例来说,若当前启动的引导程序为引导程序2,当前的标记位为4,对引导程序4进行校验不成功时,表征其他的引导程序可能发生故障,无法正常启动。此时,为了实现固件的正常启动,可以对当前的标记位进行切换,将当前的标记位切换为2,并根据该当前的标记位启动固件2,此时引导程序2以及固件2版本相匹配。
本实施例提供的固件启动方法,对所述当前的标记位相匹配的引导程序进行校验,当校验不成功时,对当前的标记位进行切换,使得切换后的标记位与当前的引导程序匹配。从而能够保证启动的引导程序与固件版本一致。
以实际应用举例来说,嵌入式系统中可以设置有引导程序1、引导程序2、固件1以及固件2。Bootrom启动引导程序,引导程序引导固件。Bootrom一般都是按照引导程序编号的顺序依次尝试启动引导程序,当引导程序1出现故障时,可以继续启动引导程序2。但是,当引导程序启动时,其并不知道自身的编号。因此,为了确定当前启动的引导程序的编号,可以从预设的第一存储路径中对引导程序进行读取,对读取后的引导程序进行验证。具体地,如图4所示,所述方法包括:
步骤401、启动bootrom;
步骤402、bootrom启动引导程序;
步骤403、确定预设的第二存储路径中是否存在跳转标记位,若不存在,则跳转执行步骤404,若存在,则跳转执行步骤411;
步骤404、对引导程序1进行验证,确定是否能够验证成功,若验证成功,则跳转执行步骤405;若验证失败,则跳转执行步骤411;
步骤405、确定当前启动的引导程序为引导程序1;
步骤406、确定当前的标记位是否为1,若是,则跳转执行步骤407,若否,则跳转执行步骤408;
步骤407、根据当前的标记位启动固件1;
步骤408、在预设的第二存储路径中设置跳转标记位;
步骤409、对引导程序2进行验证,若验证成功,则跳转执行步骤402,若未验证成功,则跳转执行步骤410;
步骤410、启动失败,切换当前的标记位为1,并根据当前的标记位1启动固件1;
步骤411、确定当前启动的引导程序为引导程序2;
步骤412、确定当前的标记位是否为1;若是,则跳转执行步骤413,若否,则跳转执行步骤415;
步骤413、将当前的标记位修改为2;
步骤414、根据当前的标记位启动固件2;
步骤415、根据当前的标记位启动固件2。
在本实施例中,首先可以从预设的第一存储路径中读取引导程序1,并对引导程序1进行验证,若验证通过,则表征当前启动的是引导程序1。确定当前的标记位,若检测到当前的标记位为1,则可以通过引导程序1引导固件1,此时,引导程序1与固件1版本匹配。相应地,若当前的标记位为2,则此时需要预设的第二存储路径中写入跳转标记位,从引导程序2的存储路径中对引导程序2进行读取以及校验,若校验通过,则下一次上电时,在对引导程序进行校验之前,可以确定第二存储路径中是否存在跳转标记位,若检测到第二存储路径中存在跳转标记位时,可以启动引导程序2,从而引导程序2可以根据当前的标记位对固件2进行启动,此时,引导程序2与固件2版本匹配。若对引导程序2校验不通过,则可以将当前的标记位修改为1,从而引导程序1可以根据标记位1对固件1进行启动,此时,引导程序1与固件1版本匹配。此外,从预设的第一存储路径中读取引导程序1,并对引导程序1进行验证之后,若验证未通过,则表征当前启动的引导程序2。确定当前的标记位,若检测到当前的标记位为1,需要对当前的标记位进行修改,具体可以由引导程序1将当前的标记位修改为2,从而引导程序2可以启动固件2,此时,引导程序2与固件2版本匹配。若检测到当前的标记位为2,从而引导程序2可以启动固件2,此时,引导程序2与固件2版本匹配。进一步地,为了避免占用过多的存储空间,在根据跳转标记位完成跳转之后,可以对预设的第二存储路径中写入的跳转标记位进行删除。
图5为本发明实施例四提供的固件启动方法的流程示意图,在上述任一实施例的基础上,步骤101之前,还包括:
步骤501、确定预设的第二存储路径中是否存在所述跳转标记位;
步骤502、若否,则对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验。
在本实施例中,通过检测Ram中是否存在跳转标记位来确定是否对引导程序的跳转,具体地,在对引导程序进行校验之前,可以确定第二存储路径中是否存在跳转标记位,若不存在,则表征当前引导程序无需进行跳转,此时,可以对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取当前启动的引导程序。
本实施例提供的固件启动方法,通过检测Ram中是否存在跳转标记位来确定是否对引导程序的跳转,从而能够快速地对当前启动的引导程序进行确定,使引导程序与固件的版本相匹配,进而能够保证嵌入式系统正常运行。
进一步地,在上述任一实施例的基础上,当N=2,所述N个预设的引导程序包括第一引导程序和第二引导程序;
所述方法还包括:
当所述第二存储路径中存在所述跳转标记位时,确定所述当前启动的引导程序为第二引导程序。
在本实施例中,引导程序的数量可以为两个,具体包括第一引导程序以及第二引导程序。具体地,由于引导程序一般都是从第一引导程序开始启动,若检测到第二存储路径中存在跳转标记位时,则可以直接根据该跳转标记位确定当前启动的引导程序为第二引导程序。
本实施例提供的固件启动方法,通过当所述第二存储路径中存在所述跳转标记位时,确定所述当前启动的引导程序为第二引导程序,从而能够快速地对当前启动的引导程序进行确定,使引导程序与固件的版本相匹配,进而能够保证嵌入式系统正常运行。
进一步地,在上述任一实施例的基础上,在写入跳转标记位的过程中,还可以在跳转标记位中标记需要跳转后的引导程序的标识;具体地,所述切换标记为中还包括跳转后的引导程序的标识;
所述方法还包括:
当所述第二存储路径中存在所述跳转标记位时,根据所述跳转后的引导程序的标识,确定所述当前启动的引导程序。
在本实施例中,当检测到第二存储路径中存在跳转标记位时,还可以确定跳转标记位中跳转后的引导程序的标识,并启动与跳转后的引导程序的标识对应的引导程序。进而后续启动的固件版本能够与该引导程序相匹配。
以实际应用举例来说,当检测到第二存储路径中存在跳转标记位时,确定该跳转标记位中跳转后的引导程序的标识为引导程序3,此时可以启动引导程序3,进而根据标记位启动的固件也为与引导程序3匹配的固件3。
本实施例提供的固件启动方法,通过当所述第二存储路径中存在所述跳转标记位时,根据所述跳转后的引导程序的标识,确定所述当前启动的引导程序,从而能够快速地对当前启动的引导程序进行确定,使引导程序与固件的版本相匹配,进而能够保证嵌入式系统正常运行。
进一步地,在上述任一实施例的基础上,所述对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,包括:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换,并清除所述跳转标记位。
在本实施例中,若检测到当前启动的引导程序的标识大于当前的标记位,则可能为其他的引导程序发生故障,无法启动,此时,为了保证引导程序与固件的版本相匹配,需要对当前的标记位进行切换。对标记位进行切换之后,还可以对当前的跳转标记位进行清除。从而能够在保证引导程序与固件的版本相匹配的基础上,避免存储空间的占用。
进一步地,在上述任一实施例的基础上,所述标记位与预设的固件相对应,所述方法还包括:
若当前的标记位和所述当前启动的引导程序匹配时,则根据所述标记位,引导与所述标记位对应的固件。
在本实施例中,若检测到当前标记位与当前启动的引导程序匹配时,其中,标记位与预设的固件相对应,从而当前启动的引导程序能够根据该标记位对对应的固件进行启动,进而引导程序与固件的版本相匹配。举例来说,若当前启动的引导程序为引导程序2,当前的标记位为固件2,此时可以直接引导固件2启动。
本实施例提供的固件启动方法,通过在当前的标记位和所述当前启动的引导程序匹配时,则根据所述标记位,引导与所述标记位对应的固件,从而能够保证引导程序与固件的版本相匹配,进而嵌入式系统能够正常运行。
图6为本发明实施例五提供的固件启动设备的结构示意图,如图5所示,所述固件启动设备包括:存储器61和处理器62;
所述存储器61用于存储程序代码;
所述处理器62,调用所述程序代码,当程序代码被执行时,用于执行以下操作:
对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
进一步地,在上述任一实施例的基础上,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序时,用于:
当对任意一个引导程序校验成功时,以当前校验成功的引动程序作为所述当前启动的引导程序,并停止对剩余引导程序进行校验。
需要说明的是,所述固件启动设备可以为嵌入式设备。
进一步地,在上述任一实施例的基础上,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序时,用于:
当第N-1个引导程序校验不成功时,以第N个引导程序作为所述当前启动的引导程序。
进一步地,在上述任一实施例的基础上,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还用于:
从预设的第一存储路径获取所述N个预设的引导程序。
所述固件启动设备还包括FLASH,用于存储所述引导程序。
进一步地,在上述任一实施例的基础上,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验时,用于:
对所述N个预设的引导程序进行解密操作或对N个预设的引导程序中的N-1个进行解密操作,获得解密后的引导程序;
对所述解密后的引导程序的数字签名进行验证。
进一步地,在上述任一实施例的基础上,所述处理器在对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转时,用于:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换。
进一步地,在上述任一实施例的基础上,所述处理器在对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转时,用于:
若所述当前启动的引导程序的标识小于所述当前的标记位,则对所述当前启动的引导程序进行跳转。
进一步地,在上述任一实施例的基础上,所述处理器在对所述当前启动的引导程序进行跳转时,用于:
对所述当前的标记位相匹配的引导程序进行校验,当校验成功时,对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
进一步地,在上述任一实施例的基础上,所述处理器在对所述当前的标记位进行切换时,用于:
控制所述引导程序将所述当前的标记位切换为与所述引导程序的标识匹配的标记位。
进一步地,在上述任一实施例的基础上,所述处理器在对所述当前启动的引导程序进行跳转时,用于:
在预设的第二存储路径中写入跳转标记位。
所述固件启动设备还包括RAM,用于存储所述跳转标记位。
进一步地,在上述任一实施例的基础上,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还用于:
确定预设的第二存储路径中是否存在所述跳转标记位;
若否,则对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验。
进一步地,在上述任一实施例的基础上,当N=2,所述N个预设的引导程序包括第一引导程序和第二引导程序;
所述处理器还用于:
当所述第二存储路径中存在所述跳转标记位时,确定所述当前启动的引导程序为第二引导程序。
进一步地,在上述任一实施例的基础上,所述切换标记为中还包括跳转后的引导程序的标识;
所述处理器还用于:
当所述第二存储路径中存在所述跳转标记位时,根据所述跳转后的引导程序的标识,确定所述当前启动的引导程序。
进一步地,在上述任一实施例的基础上,所述处理器在对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转时,用于:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换,并清除所述跳转标记位。
进一步地,在上述任一实施例的基础上,所述标记位与预设的固件相对应,,所述处理器还用于:
若当前的标记位和所述当前启动的引导程序匹配时,则根据所述标记位,引导与所述标记位对应的固件。
图7为本发明实施例六提供的可移动平台的结构示意图,如图7所示,所述可移动平台71包括:
机体72;
动力系统73,设于所述机体72,所述动力系统73用于为所述可移动平台71提供动力;以及一个或多个处理器74,所述一个或多个处理器74,用于执行上述任一实施例所述的方法。
所述可移动平台还包括FLASH,用于存储引导程序。
所述可移动平台还包括RAM,用于存储跳转标记位。
本发明又一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述任一实施例所述的方法。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的…方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (34)
1.一种固件启动方法,其特征在于,包括:
对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
2.根据权利要求1所述的方法,其特征在于,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序包括:
当对任意一个引导程序校验成功时,以当前校验成功的引动程序作为所述当前启动的引导程序,并停止对剩余引导程序进行校验。
3.根据权利要求1所述的方法,其特征在于,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序,包括:
当第N-1个引导程序校验不成功时,以第N个引导程序作为所述当前启动的引导程序。
4.根据权利要求1所述的方法,其特征在于,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还包括:
从预设的第一存储路径获取所述N个预设的引导程序。
5.根据权利要求1所述的方法,其特征在于,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,包括:
对所述N个预设的引导程序进行解密操作或对N个预设的引导程序中的N-1个进行解密操作,获得解密后的引导程序;
对所述解密后的引导程序的数字签名进行验证。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,包括:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,包括:
若所述当前启动的引导程序的标识小于所述当前的标记位,则对所述当前启动的引导程序进行跳转。
8.根据权利要求7所述的方法,其特征在于,所述对所述当前启动的引导程序进行跳转,包括:
对所述当前的标记位相匹配的引导程序进行校验,当校验成功时,对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
9.根据权利要求8所述的方法,其特征在于,所述对所述当前的标记位进行切换还包括:
对所述当前的标记位相匹配的引导程序进行校验,当校验不成功时,对所述当前的标记位进行切换,以使得所述当前的标记位和当前启动的引导程序匹配。
10.根据权利要求6所述的方法,其特征在于,所述对所述当前的标记位进行切换,包括:
控制所述引导程序将所述当前的标记位切换为与所述引导程序的标识匹配的标记位。
11.根据权利要求7所述的方法,其特征在于,所述对所述当前启动的引导程序进行跳转,包括:
在预设的第二存储路径中写入跳转标记位。
12.根据权利要求11所述的方法,其特征在于,所述对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还包括:
确定预设的第二存储路径中是否存在所述跳转标记位;
若否,则对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验。
13.根据权利要求12所述的方法,其特征在于,当N=2,所述N个预设的引导程序包括第一引导程序和第二引导程序;
所述方法还包括:
当所述第二存储路径中存在所述跳转标记位时,确定所述当前启动的引导程序为第二引导程序。
14.根据权利要求12所述的方法,其特征在于,所述切换标记为中还包括跳转后的引导程序的标识;
所述方法还包括:
当所述第二存储路径中存在所述跳转标记位时,根据所述跳转后的引导程序的标识,确定所述当前启动的引导程序。
15.根据权利要求14所述的方法,其特征在于,所述对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,包括:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换,并清除所述跳转标记位。
16.根据权利要求1-5、8-15任一项所述的方法,其特征在于,所述标记位与预设的固件相对应,所述方法还包括:
若当前的标记位和所述当前启动的引导程序匹配时,则根据所述标记位,引导与所述标记位对应的固件。
17.一种固件启动设备,其特征在于,包括:存储器和处理器;
所述存储器用于存储程序代码;
所述处理器,调用所述程序代码,当程序代码被执行时,用于执行以下操作:
对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序;其中,N≥2;
若当前的标记位和所述当前启动的引导程序不匹配时,对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
18.根据权利要求17所述的设备,其特征在于,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序时,用于:
当对任意一个引导程序校验成功时,以当前校验成功的引动程序作为所述当前启动的引导程序,并停止对剩余引导程序进行校验。
19.根据权利要求17所述的设备,其特征在于,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验,获取N个所述引导程序中当前启动的引导程序时,用于:
当第N-1个引导程序校验不成功时,以第N个引导程序作为所述当前启动的引导程序。
20.根据权利要求17所述的设备,其特征在于,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还用于:
从预设的第一存储路径获取所述N个预设的引导程序。
21.根据权利要求17所述的设备,其特征在于,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验时,用于:
对所述N个预设的引导程序进行解密操作或对N个预设的引导程序中的N-1个进行解密操作,获得解密后的引导程序;
对所述解密后的引导程序的数字签名进行验证。
22.根据权利要求17-21任一项所述的设备,其特征在于,所述处理器在对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转时,用于:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换。
23.根据权利要求17-21任一项所述的设备,其特征在于,所述处理器在对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转时,用于:
若所述当前启动的引导程序的标识小于所述当前的标记位,则对所述当前启动的引导程序进行跳转。
24.根据权利要求23所述的设备,其特征在于,所述处理器在对所述当前启动的引导程序进行跳转时,用于:
对所述当前的标记位相匹配的引导程序进行校验,当校验成功时,对所述当前启动的引导程序进行跳转,以使得所述当前的标记位和当前启动的引导程序匹配。
25.根据权利要求24所述的设备,其特征在于,所述处理器在对所述当前的标记位进行切换时,用于:
对所述当前的标记位相匹配的引导程序进行校验,当校验不成功时,对所述当前的标记位进行切换,以使得所述当前的标记位和当前启动的引导程序匹配。
26.根据权利要求23所述的设备,其特征在于,所述处理器在对所述当前的标记位进行切换时,用于:
控制所述引导程序将所述当前的标记位切换为与所述引导程序的标识匹配的标记位。
27.根据权利要求23所述的设备,其特征在于,所述处理器在对所述当前启动的引导程序进行跳转时,用于:
在预设的第二存储路径中写入跳转标记位。
28.根据权利要求27所述的设备,其特征在于,所述处理器在对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验之前,还用于:
确定预设的第二存储路径中是否存在所述跳转标记位;
若否,则对N个预设的引导程序依次进行校验或对N个预设的引导程序中的N-1个依次进行校验。
29.根据权利要求28所述的设备,其特征在于,当N=2,所述N个预设的引导程序包括第一引导程序和第二引导程序;
所述处理器还用于:
当所述第二存储路径中存在所述跳转标记位时,确定所述当前启动的引导程序为第二引导程序。
30.根据权利要求28所述的设备,其特征在于,所述切换标记为中还包括跳转后的引导程序的标识;
所述处理器还用于:
当所述第二存储路径中存在所述跳转标记位时,根据所述跳转后的引导程序的标识,确定所述当前启动的引导程序。
31.根据权利要求30所述的设备,其特征在于,所述处理器在对所述当前的标记位进行切换或对所述当前启动的引导程序进行跳转时,用于:
若所述当前启动的引导程序的标识大于所述当前的标记位,则对所述当前的标记位进行切换,并清除所述跳转标记位。
32.根据权利要求17-21、24-31任一项所述的设备,其特征在于,所述标记位与预设的固件相对应,所述处理器还用于:
若当前的标记位和所述当前启动的引导程序匹配时,则根据所述标记位,引导与所述标记位对应的固件。
33.一种可移动平台,其特征在于,包括:
机体;
动力系统,设于所述机体,所述动力系统用于为所述可移动平台提供动力;以及一个或多个处理器,所述一个或多个处理器,用于执行上述权利要求1-16任一项所述的方法。
34.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-16任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/097176 WO2021012170A1 (zh) | 2019-07-23 | 2019-07-23 | 固件启动方法、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111742297A true CN111742297A (zh) | 2020-10-02 |
Family
ID=72646090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980012440.XA Pending CN111742297A (zh) | 2019-07-23 | 2019-07-23 | 固件启动方法、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111742297A (zh) |
WO (1) | WO2021012170A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632562A (zh) * | 2020-12-28 | 2021-04-09 | 四川虹微技术有限公司 | 设备启动方法、设备管理方法和嵌入式设备 |
CN114064143A (zh) * | 2021-11-08 | 2022-02-18 | 宁波波导软件有限公司 | 一种多芯片软件的兼容处理方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030140A (zh) * | 2006-03-02 | 2007-09-05 | 中兴通讯股份有限公司 | 一种对固件程序进行在线升级的装置及其方法 |
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN103514399A (zh) * | 2012-06-19 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件验证方法及系统 |
CN104166561A (zh) * | 2014-07-25 | 2014-11-26 | 深圳市江波龙电子有限公司 | 电子设备系统启动方法和电子设备 |
CN104699500A (zh) * | 2015-01-06 | 2015-06-10 | 上海华测导航技术股份有限公司 | 智能设备中实现引导程序自动升级的方法 |
CN104834542A (zh) * | 2015-04-20 | 2015-08-12 | 成都亿盟恒信科技有限公司 | 一种基于嵌入式Linux设备双系统的启动方法 |
EP2993578A1 (en) * | 2014-09-02 | 2016-03-09 | Gemalto M2M GmbH | Method for adapting firmware of a wireless communication device |
CN109086086A (zh) * | 2018-08-06 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种非空间共享的多核cpu的启动方法及装置 |
CN109358910A (zh) * | 2018-09-05 | 2019-02-19 | 广州小鹏汽车科技有限公司 | 固件写入、启动方法及用于实现固件写入、启动的系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135927B (zh) * | 2011-04-29 | 2013-02-13 | 杭州华三通信技术有限公司 | 一种基于nand flash的系统引导方法和装置 |
CN102945176B (zh) * | 2012-11-09 | 2016-09-28 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和设备 |
US20150169310A1 (en) * | 2013-12-12 | 2015-06-18 | Lenovo (Singapore) Pte, Ltd. | Maintaining firmware |
CN106383692A (zh) * | 2016-08-25 | 2017-02-08 | 中山市天启智能科技有限公司 | 一种单片机嵌入式设备ota升级方法 |
CN106372538A (zh) * | 2016-08-30 | 2017-02-01 | 苏州国芯科技有限公司 | 一种基于SoC芯片的固件保护方法 |
-
2019
- 2019-07-23 WO PCT/CN2019/097176 patent/WO2021012170A1/zh active Application Filing
- 2019-07-23 CN CN201980012440.XA patent/CN111742297A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030140A (zh) * | 2006-03-02 | 2007-09-05 | 中兴通讯股份有限公司 | 一种对固件程序进行在线升级的装置及其方法 |
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN103514399A (zh) * | 2012-06-19 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件验证方法及系统 |
CN104166561A (zh) * | 2014-07-25 | 2014-11-26 | 深圳市江波龙电子有限公司 | 电子设备系统启动方法和电子设备 |
EP2993578A1 (en) * | 2014-09-02 | 2016-03-09 | Gemalto M2M GmbH | Method for adapting firmware of a wireless communication device |
CN104699500A (zh) * | 2015-01-06 | 2015-06-10 | 上海华测导航技术股份有限公司 | 智能设备中实现引导程序自动升级的方法 |
CN104834542A (zh) * | 2015-04-20 | 2015-08-12 | 成都亿盟恒信科技有限公司 | 一种基于嵌入式Linux设备双系统的启动方法 |
CN109086086A (zh) * | 2018-08-06 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种非空间共享的多核cpu的启动方法及装置 |
CN109358910A (zh) * | 2018-09-05 | 2019-02-19 | 广州小鹏汽车科技有限公司 | 固件写入、启动方法及用于实现固件写入、启动的系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632562A (zh) * | 2020-12-28 | 2021-04-09 | 四川虹微技术有限公司 | 设备启动方法、设备管理方法和嵌入式设备 |
CN112632562B (zh) * | 2020-12-28 | 2024-01-26 | 四川虹微技术有限公司 | 设备启动方法、设备管理方法和嵌入式设备 |
CN114064143A (zh) * | 2021-11-08 | 2022-02-18 | 宁波波导软件有限公司 | 一种多芯片软件的兼容处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021012170A1 (zh) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032846A (zh) | 设备远程备份升级方法、装置、计算机存储介质及设备 | |
US10606579B2 (en) | Multi-system terminal system updating method, updating device and terminal | |
CN102722394B (zh) | 一种嵌入式设备的启动升级方法 | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN111742297A (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN110908722A (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
CN115827046A (zh) | 实现spl分区ota升级的方法及装置、终端设备、芯片 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
US9529581B2 (en) | Circuit and method for writing program codes of basic input/output system | |
CN109992312B (zh) | 电子设备的启动方法、装置以及系统 | |
CN105278993A (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
CN112905218B (zh) | 一种固件升级方法、装置及设备 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN111190627A (zh) | 系统升级方法及装置 | |
US11775284B2 (en) | Electronic device and code patching method | |
WO2011001305A1 (en) | A method, apparatus and computer program for loading files during a boot- up process | |
CN114816492A (zh) | 一种固件升级方法、摄像设备和计算机可读存储介质 | |
CN117331593A (zh) | 双备份升级方法、计算机设备及存储介质 | |
CN115469935A (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: 20201002 |