BOOT文件加载方法及装置制造方法及图纸

技术编号:7898055 阅读:196 留言:0更新日期:2012-10-23 04:18
本发明专利技术提供了一种BOOT文件加载方法及装置,该方法包括,BOOT文件加载引导区从至少两个BOOT区中选择一个BOOT区,其中,BOOT文件加载引导区以及至少两个BOOT区设置在单芯片上;BOOT文件加载引导区引导中央处理器对选择的BOOT区中的BOOT文件进行加载,通过本发明专利技术,解决了现有技术中使用的双BOOT切换存在成本资源消耗过大,过份依赖外部设备的问题,进而达到了实现可靠,方便且降低布局面积及成本的效果。

【技术实现步骤摘要】

本专利技术涉及 通信领域,具体而言,涉及ー种BOOT文件加载方法及装置
技术介绍
在电信、通讯领域的嵌入式系统中,采用BOOT来引导中央处理器加载应用程序版本的方法被广泛地应用。该方法虽然能方便地加载应用程序,但是在BOOT被损坏或者烧录错误的情况下将不能加载应用程序版本,由此导致系统无法启动和运行。在相关技术中采用双BOOT可以有效降低因BOOT损坏或者烧录错误导致加载应用程序版本失败的可能性,图I是相关技术中采用外部设备来完成双BOOT切換的示意图,如图I所示,要做到双BOOT的有效配合和起到备份作用,需要借助外部设备可擦除可编辑逻辑器件(Erasable Programmable Logic Device,简称为EPLD)来完成,即在CPU与存储芯片FLASH (闪存)间存在ー个EPLD。但是,采用EPLD负责切换双BOOT存在以下缺点(I)增加ー个器件EPLD,增加成本;(2)增大印制电路板(Printed Circuit Board,简称为PCB)的面积;(3)启动过程过度依赖EPLD,要EPLD启动后才能引导BOOT。因此,在现有技术中使用的双BOOT切換存在成本资源消耗过大,过份依赖外部设备的问题。
技术实现思路
本专利技术提供了ー种BOOT文件加载方法及装置,以至少解决现有技术中使用的双BOOT切換存在成本资源消耗过大,过份依赖外部设备的问题。根据本专利技术的ー个方面,提供了ー种BOOT文件加载方法,包括Β00Τ文件加载引导区从至少两个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文件加载弓I导区中,包括选择模块,用于从至少两个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切換存在成本资源消耗过大,过份依赖外部设备的问题,进而达到了实现可靠,方便且降低布局面积及成本的效果。附图说明此处所说明的附图用来提供对本专利技术的进ー步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图I是相关技术中采用外部设备来完成双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,B00T文件加载引导区引导中央处理器对选择的BOOT区中的BOOT文件进行加载。通过上述步骤,对单芯片上的区域进行了划分,划分为了引导中央处理器加载BOOT区的BOOT文件加载弓丨导区以及至少两个Β00Τ,在实现加载时,可以依据需要从至少两个BOOT区中进行选择,并加载选择的BOOT区中的BOOT文件,即在ー个芯片上就可以实现成功的加载,相对于现有技术中需要依据外界才能实现成功启动,有效地避免了依本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:马孟臣赖鹏程卓深
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1