CN102736933A - Boot文件加载方法及装置 - Google Patents
Boot文件加载方法及装置 Download PDFInfo
- Publication number
- CN102736933A CN102736933A CN2012101533856A CN201210153385A CN102736933A CN 102736933 A CN102736933 A CN 102736933A CN 2012101533856 A CN2012101533856 A CN 2012101533856A CN 201210153385 A CN201210153385 A CN 201210153385A CN 102736933 A CN102736933 A CN 102736933A
- Authority
- CN
- China
- Prior art keywords
- boot
- district
- file
- verification
- load
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种BOOT文件加载方法及装置,该方法包括,BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区,其中,BOOT文件加载引导区以及至少两个BOOT区设置在单芯片上;BOOT文件加载引导区引导中央处理器对选择的BOOT区中的BOOT文件进行加载,通过本发明,解决了现有技术中使用的双BOOT切换存在成本资源消耗过大,过份依赖外部设备的问题,进而达到了实现可靠,方便且降低布局面积及成本的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种BOOT文件加载方法及装置。
背景技术
在电信、通讯领域的嵌入式系统中,采用BOOT来引导中央处理器加载应用程序版本的方法被广泛地应用。该方法虽然能方便地加载应用程序,但是在BOOT被损坏或者烧录错误的情况下将不能加载应用程序版本,由此导致系统无法启动和运行。
在相关技术中采用双BOOT可以有效降低因BOOT损坏或者烧录错误导致加载应用程序版本失败的可能性,图1是相关技术中采用外部设备来完成双BOOT切换的示意图,如图1所示,要做到双BOOT的有效配合和起到备份作用,需要借助外部设备可擦除可编辑逻辑器件(Erasable Programmable Logic Device,简称为EPLD)来完成,即在CPU与存储芯片FLASH(闪存)间存在一个EPLD。但是,采用EPLD负责切换双BOOT存在以下缺点:(1)增加一个器件EPLD,增加成本;(2)增大印制电路板(Printed Circuit Board,简称为PCB)的面积;(3)启动过程过度依赖EPLD,要EPLD启动后才能引导BOOT。
因此,在现有技术中使用的双BOOT切换存在成本资源消耗过大,过份依赖外部设备的问题。
发明内容
本发明提供了一种BOOT文件加载方法及装置,以至少解决现有技术中使用的双BOOT切换存在成本资源消耗过大,过份依赖外部设备的问题。
根据本发明的一个方面,提供了一种BOOT文件加载方法,包括:BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区,其中,所述BOOT文件加载引导区以及所述至少两个BOOT区设置在单芯片上;所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载。
优选地,所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载之后,还包括:在所述选择的BOOT区中的BOOT文件不能成功加载的情况下,所述BOOT文件加载引导区引导所述中央处理器加载所述至少两个BOOT区中除所述选择的BOOT区之外的其它BOOT区中的BOOT文件。
优选地,BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区包括:所述BOOT文件加载引导区依次对所述至少两个BOOT区中BOOT区进行校验;直到校验成功的情况下,确定当前BOOT区为所述选择的BOOT区。
优选地,所述BOOT文件加载引导区依次对所述至少两个BOOT区中BOOT区进行校验包括:获取当前BOOT区所存储的加载文件的循环冗余校验码CRC值;判断获取的所述CRC值与当前BOOT区中BOOT文件对应的文件CRC值是否一致;在判断结果一致的情况下,确定对当前BOOT区校验成功。
优选地,所述BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区包括:所述BOOT文件加载引导区对所述至少两个BOOT区中预先设定的主BOOT区进行校验;在校验成功的情况下,确定所述主BOOT区为所述选择的BOOT区;在校验不成功的情况下,所述BOOT文件加载引导区依次对所述至少两个BOOT区中预先设定的备BOOT区进行校验;直到校验成功的情况下,确定当前备BOOT区为所述选择的BOOT区。
根据本发明的另一方面,提供了一种BOOT文件加载装置,位于BOOT文件加载引导区中,包括:选择模块,用于从至少两个BOOT区中选择一个BOOT区,其中,所述BOOT文件加载引导区以及所述至少两个BOOT区设置在单芯片上;引导模块,用于引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载。
优选地,所述引导模块,在所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载之后,在所述选择的BOOT区中的BOOT文件不能成功加载的情况下,还用于引导所述中央处理器加载所述至少两个BOOT区中除所述选择的BOOT区之外的其它BOOT区中的BOOT文件。
优选地,所述选择模块包括:校验模块,用于依次对所述至少两个BOOT区中BOOT区进行校验;确定模块,用于直到校验成功的情况下,确定当前BOOT区为所述选择的BOOT区。
优选地,所述校验模块包括:获取模块,用于获取当前BOOT区所存储的加载文件的循环冗余校验码CRC值;判断模块,用于判断获取的所述CRC值与当前BOOT区中BOOT文件对应的文件CRC值是否一致;第一确定模块,用于在判断结果一致的情况下,确定对当前BOOT区校验成功。
优选地,所述选择模块包括:第一校验模块,用于对所述至少两个BOOT区中预先设定的主BOOT区进行校验;第二确定模块,用于在校验成功的情况下,确定所述主BOOT区为所述选择的BOOT区;第二校验模块,用于在校验不成功的情况下,所述BOOT文件加载引导区依次对所述至少两个BOOT区中预先设定的备BOOT区进行校验;第三确定模块,用于直到校验成功的情况下,确定当前备BOOT区为所述选择的BOOT区。
通过本发明,采用BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区,其中,所述BOOT文件加载引导区以及所述至少两个BOOT区设置在单芯片上;所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载,解决了现有技术中使用的双BOOT切换存在成本资源消耗过大,过份依赖外部设备的问题,进而达到了实现可靠,方便且降低布局面积及成本的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中采用外部设备来完成双BOOT切换的示意图;
图2是根据本发明实施例的BOOT文件加载方法的流程图;
图3是根据本发明实施例的BOOT文件加载装置的结构框图;
图4是根据本发明实施例的BOOT文件加载装置中的选择模块32的结构框图;
图5是根据本发明实施例的BOOT文件加载装置中的选择模块32中的校验模块42的结构框图;
图6是根据本发明实施例的BOOT文件加载装置中的选择模块32的结构框图;
图7是根据本发明实施例的对单芯片上的存储空间进行划分的示意图;
图8是根据本发明实施例的在单芯片上实现两级BOOT的上电流程图;
图9是根据本发明实施例的在单芯片上实现双BOOT切换的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种BOOT文件加载方法,图2是根据本发明实施例的BOOT文件加载方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区,其中,BOOT文件加载引导区以及至少两个BOOT区设置在单芯片上;
步骤S204,BOOT文件加载引导区引导中央处理器对选择的BOOT区中的BOOT文件进行加载。
通过上述步骤,对单芯片上的区域进行了划分,划分为了引导中央处理器加载BOOT区的BOOT文件加载引导区以及至少两个BOOT,在实现加载时,可以依据需要从至少两个BOOT区中进行选择,并加载选择的BOOT区中的BOOT文件,即在一个芯片上就可以实现成功的加载,相对于现有技术中需要依据外界才能实现成功启动,有效地避免了依据外界所带来的器件成本以及电路布局的成本消耗,不仅实现可靠,方便,成本低廉,还有效地提高了加载效率,提高了实用性。
为了确保加载的成功性,在BOOT文件加载引导区引导中央处理器对选择的BOOT区中的BOOT文件进行加载之后,还可以在选择的BOOT区中的BOOT文件不能成功加载的情况下,BOOT文件加载引导区引导中央处理器加载至少两个BOOT区中除选择的BOOT区之外的其它BOOT区中的BOOT文件,即在加载的过程中出现异常的情况下,选择其它的BOOT区进行加载。当然选择其它的BOOT区进行加载时可以采用重复上述步骤的方式进行。
BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区可以采用多种处理方式,当然不管采用哪种处理方式,其主要目标是为了选择出一个能够确定进行成功加载BOOT区,并引导中央处理器对将该BOOT区中的BOOT文件进行加载,从而实现成功启动。在此以两个较优的实施方式为例进行说明:
方式一:BOOT文件加载引导区依次对至少两个BOOT区中BOOT区进行校验;直到校验成功的情况下,确定当前BOOT区为选择的BOOT区。即从至少两个BOOT区中选择出能够成功加载以实现成功记载的BOOT,采用该BOOT中的BOOT文件进行加载。在实施时,依据对至少两个BOOT区中的BOOT区进行校验时,不管采用什么方式依次进行校验,只要是校验成功,就可以将该当前BOOT区作为选择的BOOT,采用该BOOT中的BOOT文件进行加载,从另一方面来说,在真正加载之前就确定的加载的成功性,有效地提高了加载效率。
BOOT文件加载引导区依次对至少两个BOOT区中BOOT区进行校验时,也可以依据BOOT区中的BOOT区文件的各项参数进行校验,例如,采用对BOOT区中的BOOT文件的循环冗余校验CRC来进行相关的判断,在实施时可以采用以下的处理方式:先获取当前BOOT区所存储的加载文件的循环冗余校验码CRC值,即通过当前BOOT区中实际所存在的BOOT文件计算这些文件的CRC值;判断获取的CRC值与当前BOOT区中BOOT文件对应的文件CRC值(即生成文件时文件所对应的各项参数中的一种参数)是否一致;在判断结果一致的情况下,即认为当前BOOT区中的BOOT文件并没有经过相应的改写或是删除,确定可以使用该当前的BOOT区中的BOOT文件来进行加载,即对当前BOOT区校验成功。
在此处还提供了另一种较优的方式,例如,方式二:BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区包括:在对BOOT进行选择之前,预先对至少两个BOOT区中的一个BOOT区设置为主BOOT区,而其余的都为备BOO区,在选择时优先选择主BOOT区,即优先采用主BOOT区中的BOOT文件进行加载。实施时,可以采用以下处理方式:BOOT文件加载引导区对至少两个BOOT区中预先设定的主BOOT区进行校验,需要说明的是,校验的过程可以采用上述的校验步骤进行;在校验成功的情况下,确定主BOOT区为选择的BOOT区;在校验不成功的情况下,BOOT文件加载引导区依次对至少两个BOOT区中预先设定的备BOOT区进行校验;直到校验成功的情况下,确定当前备BOOT区为选择的BOOT区。
在本实施例中还提供了一种BOOT文件加载装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的BOOT文件加载装置的结构框图,如图3所示,该装置位于BOOT文件加载引导区,包括选择模块32和引导模块34,下面对该装置进行说明。
选择模块32,用于从至少两个BOOT区中选择一个BOOT区,其中,BOOT文件加载引导区以及至少两个BOOT区设置在单芯片上;引导模块34,连接至上述选择模块32,用于引导中央处理器对选择的BOOT区中的BOOT文件进行加载。
优选地,该引导模块34,在BOOT文件加载引导区引导中央处理器对选择的BOOT区中的BOOT文件进行加载之后,在选择的BOOT区中的BOOT文件不能成功加载的情况下,还用于引导中央处理器加载至少两个BOOT区中除选择的BOOT区之外的其它BOOT区中的BOOT文件。
图4是根据本发明实施例的BOOT文件加载装置中的选择模块32的结构框图,如图4所示,该选择模块32包括校验模块42和确定模块44,下面对该选择模块32进行说明。
校验模块42,用于依次对至少两个BOOT区中BOOT区进行校验;确定模块44,连接至上述校验模块42,用于直到校验成功的情况下,确定当前BOOT区为选择的BOOT区。
图5是根据本发明实施例的BOOT文件加载装置中的选择模块32中的校验模块42的结构框图,如图5所示,该校验模块42包括获取模块52、判断模块54和第一确定模块56,下面对该校验模块42进行说明。
获取模块52,用于获取当前BOOT区所存储的加载文件的循环冗余校验码CRC值;判断模块54,连接至上述获取模块52,用于判断获取的CRC值与当前BOOT区中BOOT文件对应的文件CRC值是否一致;第一确定模块56,连接至上述判断模块54,用于在判断结果一致的情况下,确定对当前BOOT区校验成功。
图6是根据本发明实施例的BOOT文件加载装置中的选择模块32的结构框图,如图6所示,该选择模块32包括第一校验模块62、第二确定模块64、第二校验模块66和第三确定模块68,下面对该选择模块32进行说明。
第一校验模块62,用于对至少两个BOOT区中预先设定的主BOOT区进行校验;第二确定模块64,连接至上述第一校验模块62,用于在校验成功的情况下,确定主BOOT区为选择的BOOT区;第二校验模块66,连接至上述第二确定模块64,用于在校验不成功的情况下,BOOT文件加载引导区依次对至少两个BOOT区中预先设定的备BOOT区进行校验;第三确定模块68,连接至上述第二校验模块66,用于直到校验成功的情况下,确定当前备BOOT区为所述选择的BOOT区。
针对相关技术中嵌入式系统的可靠启动技术的上述问题,本发明实施例提供了一种简单方便、实现可靠且成本低廉的双BOOT切换方法,即一种在单芯片上实现两级BOOT启动的方法和装置。
在本实施例中在单芯片上实现两级BOOT启动的装置包括:A、BOOT引导中央处理器加载应用程序版本;B、BOOT有主备区;C、应用程序版本可在线更新、备份BOOT文件;D、在单一芯片上将存储空间划分为至少3部分,分别用来存储BASE BOOT、主/备BOOT;E、BASE BOOT启动引导中央处理器进入主或备BOOT区运行;F、应用程序版本在线更新BASEBOOT文件。
下面对在单片机上实现两级BOOT启动的装置中的模块及其模块的功能进行说明:
将该单片机上的存储空间划分为3部分,BASE BOOT区(与上述BOOT文件加载引导区的功能相当)、主BOOT区和备BOOT区(与上述至少两个BOOT区的功能相当);三个功能区有各自的版本文件,主备BOOT区版本文件可以是同一个也可以不同。
上电后从0x0开始运行进入BASE BOOT,在BASE BOOT中对主BOOT和备BOOT进行校验,并且默认是先从主BOOT启动,如果校验主BOOT不通过,则引导中央处理器加载备BOOT,采用备BOOT区的版本文件运行。在主BOOT通过校验并进入主BOOT运行正常后,主BOOT引导中央处理器加载应用程序版本运行。在应用程序版本运行中可以更新BASEBOOT文件,也可以更新和备份BOOT文件。
本发明实施例基于上述模块提供了一种在单芯片上实现两级BOOT的方法,该方法包括以下步骤:
S1,将单芯片上的存储空间划分为3部分,图7是根据本发明实施例的对单芯片上的存储空间进行划分的示意图,如图7所示,3部分分别为:BASE BOOT区、主BOOT区、备BOOT区,;
S2,单芯片上电自动进入BASE BOOT区,采用BASE BOOT文件进行运行;
S3,在BASE BOOT区中对主备BOOT文件进行校验;
S4,默认引导中央处理器加载主BOOT区文件,在主BOOT校验失败时则引导中央处理器加载备BOOT;
S5,主BOOT或备BOOT引导中央处理器加载应用程序运行。
采用本发明实施例的在单芯片上实现两级BOOT的方法和装置,与现有技术相比,取得了不需要外部设备(例如,EPLD)完成双BOOT切换的进步,节省了成本,提高了实用性。
下面结合附图对本发明实施例的在单芯片上实现两级BOOT的方法进行说明。图8是根据本发明实施例的在单芯片上实现两级BOOT的上电流程图,如图8所示,该方法包括如下步骤:
步骤S802,上电后先进入BASE BOOT区;
步骤S804,BASE BOOT引导中央处理器MCU加载可靠的BOOT;
步骤S806,可靠的BOOT引导中央处理器MCU加载可靠的应用程度版本。
图9是根据本发明实施例的在单芯片上实现双BOOT切换的流程图,如9所示,在进行切换之前,需要对该单芯片的存储空间进行划分:将单芯片上的存储空间划分为三个部分:BASE BOOT、主BOOT和备BOOT,根据BASEBOOT、主/备BOOT,设定各个区域的起始地址,主备BOOT区的大小一样。在单芯片上实现双BOOT切换的流程包括如下步骤:
步骤S902,读取寄存器,获取上次BOOT运行状态标志;
步骤S904,判断是否对进行加载的BOOT进行了设置,即,设置加载主BOOT还是加载备BOOT了吗?
步骤S906,在对加载的BOOT进行了设置的情况下,引导加载设定的BOOT区版本,进入步骤S910;
步骤S908,在对加载的BOOT没有进行设置的情况下,从0x0地址开始执行,也就是BASEBOOT区,在BASEBOOT中默认是引导中央处理器加载主BOOT,即,采用默认的主BOOT进行加载,即,BASE BOOT引导加载主BOOT区版本,上电后,然后由主BOOT引导中央处理器加载应用程序版本;
步骤S910,BASE BOOT校验加载的BOOT文件;
步骤S912,判断校验的结果是否正常:校验的内容是判断文件的循环冗余检查(CyclicRedundancy Check,简称为CRC)值与实际文件计算的CRC是否一致,不一致则认为当前BOOT区文件异常,在判断校验的结果不正常的情况下,进入步骤S914,否则进入步骤S924;
步骤S914,切换引导加载另一个BOOT区;
步骤S916,校验加载的另一个BOOT区中的BOOT版本文件;
步骤S918,判断校验的结果是否正常,判断的内容与步骤S912相同,在此不同详述;在判断为是的情况下,进入步骤S920,否则进入步骤S922;
步骤S920,判断上次备BOOT区版本运行是否存在异常?在判断上次备BOOT存在异常的情况下,进入步骤S922,否则进入步骤S926;
步骤S922,进行告警提示;
步骤S924,判断上次BOOT区中的BOOT版本文件运行是否存在异常,判断的过程与上述步骤S920相似;在判断存在异常的情况下,进入步骤S914;否则进入步骤S926;
步骤S926,进入BOOT区,采用BOOT区中的BOOT文件进行相应的加载,完成启动过程。
需要说明的是,上述BASE BOOT中加载主BOOT前对主BOOT文件进行校验,校验的内容是判断文件的循环冗余校验(Cyclic Redundancy Check,简称为CRC)值与实际文件计算的CRC是否一致,不一致则认为当前主BOOT区文件异常,设置加载备BOOT;重复上面的校验判断过程,如果备BOOT也校验不一致则表明中央处理器不能加载到正常的BOOT,报警提示。
另外,BOOT运行中发生异常导致看门狗溢出会置一个标志到某一寄存器,复位后从0x0地址开始运行,在BASE BOOT中判断该寄存器的值,如果值为设定的异常值则需要做BOOT切换。若前次为主BOOT异常,引导中央处理器加载备BOOT;若备BOOT异常,则引导中央处理器加载主BOOT。
通过采用本发明的上述实施例及优选实施方式,不仅不需要外部设备完成BOOT的切换,实现简单、方便、可靠,还较大地节省了成本,提高了实用性等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种BOOT文件加载方法,其特征在于,包括:
BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区,其中,所述BOOT文件加载引导区以及所述至少两个BOOT区设置在单芯片上;
所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载。
2.根据权利要求2所述的方法,其特征在于,所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载之后,还包括:
在所述选择的BOOT区中的BOOT文件不能成功加载的情况下,所述BOOT文件加载引导区引导所述中央处理器加载所述至少两个BOOT区中除所述选择的BOOT区之外的其它BOOT区中的BOOT文件。
3.根据权利要求1所述的方法,其特征在于,BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区包括:
所述BOOT文件加载引导区依次对所述至少两个BOOT区中BOOT区进行校验;
直到校验成功的情况下,确定当前BOOT区为所述选择的BOOT区。
4.根据权利要求3所述的方法,其特征在于,所述BOOT文件加载引导区依次对所述至少两个BOOT区中BOOT区进行校验包括:
获取当前BOOT区所存储的加载文件的循环冗余校验码CRC值;
判断获取的所述CRC值与当前BOOT区中BOOT文件对应的文件CRC值是否一致;
在判断结果一致的情况下,确定对当前BOOT区校验成功。
5.根据权利要求1所述的方法,其特征在于,所述BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区包括:
所述BOOT文件加载引导区对所述至少两个BOOT区中预先设定的主BOOT区进行校验;
在校验成功的情况下,确定所述主BOOT区为所述选择的BOOT区;
在校验不成功的情况下,所述BOOT文件加载引导区依次对所述至少两个BOOT区中预先设定的备BOOT区进行校验;
直到校验成功的情况下,确定当前备BOOT区为所述选择的BOOT区。
6.一种BOOT文件加载装置,其特征在于,位于BOOT文件加载引导区中,包括:
选择模块,用于从至少两个BOOT区中选择一个BOOT区,其中,所述BOOT文件加载引导区以及所述至少两个BOOT区设置在单芯片上;
引导模块,用于引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载。
7.根据权利要求6所述的装置,其特征在于,所述引导模块,在所述BOOT文件加载引导区引导中央处理器对所述选择的BOOT区中的BOOT文件进行加载之后,在所述选择的BOOT区中的BOOT文件不能成功加载的情况下,还用于引导所述中央处理器加载所述至少两个BOOT区中除所述选择的BOOT区之外的其它BOOT区中的BOOT文件。
8.根据权利要求6所述的装置,其特征在于,所述选择模块包括:
校验模块,用于依次对所述至少两个BOOT区中BOOT区进行校验;
确定模块,用于直到校验成功的情况下,确定当前BOOT区为所述选择的BOOT区。
9.根据权利要求8所述的装置,其特征在于,所述校验模块包括:
获取模块,用于获取当前BOOT区所存储的加载文件的循环冗余校验码CRC值;
判断模块,用于判断获取的所述CRC值与当前BOOT区中BOOT文件对应的文件CRC值是否一致;
第一确定模块,用于在判断结果一致的情况下,确定对当前BOOT区校验成功。
10.根据权利要求6所述的装置,其特征在于,所述选择模块包括:
第一校验模块,用于对所述至少两个BOOT区中预先设定的主BOOT区进行校验;
第二确定模块,用于在校验成功的情况下,确定所述主BOOT区为所述选择的BOOT区;
第二校验模块,用于在校验不成功的情况下,所述BOOT文件加载引导区依次对所述至少两个BOOT区中预先设定的备BOOT区进行校验;
第三确定模块,用于直到校验成功的情况下,确定当前备BOOT区为所述选择的BOOT区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101533856A CN102736933A (zh) | 2012-05-16 | 2012-05-16 | Boot文件加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101533856A CN102736933A (zh) | 2012-05-16 | 2012-05-16 | Boot文件加载方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102736933A true CN102736933A (zh) | 2012-10-17 |
Family
ID=46992486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101533856A Pending CN102736933A (zh) | 2012-05-16 | 2012-05-16 | Boot文件加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736933A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650455A (zh) * | 2015-10-30 | 2017-05-10 | 中兴通讯股份有限公司 | 一种系统安全启动方法及装置 |
CN106775610A (zh) * | 2016-03-22 | 2017-05-31 | 新华三技术有限公司 | 一种电子设备启动方法及一种电子设备 |
WO2017143513A1 (zh) * | 2016-02-23 | 2017-08-31 | 华为技术有限公司 | 一种启动Boot的方法、CPU及单板 |
CN109933374A (zh) * | 2019-01-23 | 2019-06-25 | 西安微电子技术研究所 | 一种计算机启动方法 |
CN111124517A (zh) * | 2019-12-23 | 2020-05-08 | 湖南国科微电子股份有限公司 | 嵌入式芯片引导启动方法、装置、计算机设备和存储介质 |
CN115454517A (zh) * | 2022-11-11 | 2022-12-09 | 山东云海国创云计算装备产业创新中心有限公司 | 多介质安全启动的方法、系统、存储介质、设备及芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1821962A (zh) * | 2005-02-16 | 2006-08-23 | 精工爱普生株式会社 | 信息处理机器以及信息处理机器的控制方法 |
CN101329632A (zh) * | 2008-04-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN102360316A (zh) * | 2011-10-20 | 2012-02-22 | 深圳芯邦科技股份有限公司 | 一次性可编程存储器中启动程序的运行方法及装置 |
CN102402447A (zh) * | 2011-12-20 | 2012-04-04 | 杭州华三通信技术有限公司 | 设备启动方法和设备 |
-
2012
- 2012-05-16 CN CN2012101533856A patent/CN102736933A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1821962A (zh) * | 2005-02-16 | 2006-08-23 | 精工爱普生株式会社 | 信息处理机器以及信息处理机器的控制方法 |
CN101329632A (zh) * | 2008-04-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN102360316A (zh) * | 2011-10-20 | 2012-02-22 | 深圳芯邦科技股份有限公司 | 一次性可编程存储器中启动程序的运行方法及装置 |
CN102402447A (zh) * | 2011-12-20 | 2012-04-04 | 杭州华三通信技术有限公司 | 设备启动方法和设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650455A (zh) * | 2015-10-30 | 2017-05-10 | 中兴通讯股份有限公司 | 一种系统安全启动方法及装置 |
CN106650455B (zh) * | 2015-10-30 | 2021-09-24 | 中兴通讯股份有限公司 | 一种系统安全启动方法及装置 |
WO2017143513A1 (zh) * | 2016-02-23 | 2017-08-31 | 华为技术有限公司 | 一种启动Boot的方法、CPU及单板 |
CN108701036A (zh) * | 2016-02-23 | 2018-10-23 | 华为技术有限公司 | 一种启动Boot的方法、CPU及单板 |
CN106775610A (zh) * | 2016-03-22 | 2017-05-31 | 新华三技术有限公司 | 一种电子设备启动方法及一种电子设备 |
CN106775610B (zh) * | 2016-03-22 | 2021-11-12 | 新华三技术有限公司 | 一种电子设备启动方法及一种电子设备 |
CN109933374A (zh) * | 2019-01-23 | 2019-06-25 | 西安微电子技术研究所 | 一种计算机启动方法 |
CN111124517A (zh) * | 2019-12-23 | 2020-05-08 | 湖南国科微电子股份有限公司 | 嵌入式芯片引导启动方法、装置、计算机设备和存储介质 |
CN115454517A (zh) * | 2022-11-11 | 2022-12-09 | 山东云海国创云计算装备产业创新中心有限公司 | 多介质安全启动的方法、系统、存储介质、设备及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102736933A (zh) | Boot文件加载方法及装置 | |
CN102799484B (zh) | 移动终端运行多操作系统的方法及装置 | |
CN103631674B (zh) | 嵌入cpu的fpga及其启动方法 | |
US20130173952A1 (en) | Electronic device and method for loading firmware | |
CN102073517A (zh) | 一种嵌入式系统的升级、备份方法和装置 | |
CN106462422B (zh) | 用于多系统终端的系统升级方法、升级装置和终端 | |
CN108647140B (zh) | 一种移动终端的测试方法及测试系统 | |
US8924769B2 (en) | Software burning system and burning control method | |
CN101882085A (zh) | 系统启动方法以及嵌入式设备 | |
CN102203742B (zh) | 组件安装引导 | |
KR20130142073A (ko) | 모바일 메모리 카드를 사용하여 모바일폰 운영체제를 부팅시키는 방법 및 단말 | |
CN108874414A (zh) | 软件升级方法、装置、可读存储介质及电视设备 | |
CN112260348A (zh) | 充电控制电路及充电设备 | |
CN103514014A (zh) | 一种嵌入式终端设备引导系统的设计方法 | |
US8661233B2 (en) | System configuration | |
CN105677409A (zh) | 一种系统升级方法及装置 | |
CN105045671A (zh) | 一种智能终端的系统升级方法及装置 | |
CN110908943A (zh) | 一种板卡自动适配方法、装置、网络设备及存储介质 | |
CN110780935A (zh) | 多系统融合产品的同步启动方法和装置 | |
CN111742297A (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN110825640A (zh) | Dubal BIOS的测试方法、测试装置及测试系统 | |
CN107391324B (zh) | 一种存储系统的测试控制装置及方法 | |
CN103257867A (zh) | 控制方法、电子设备和电子装置 | |
CN103699412A (zh) | 终端的快速启动方法和系统 | |
CN104461659A (zh) | 一种高可靠性的计算机启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121017 |