一种系统启动的方法及装置制造方法及图纸

技术编号:7758870 阅读:202 留言:0更新日期:2012-09-14 00:23
本发明专利技术适用于通信技术领域,提供了一种系统启动的方法及装置,所述方法包括:在系统上电进入一级高通辅助启动模块QCSBL前,判断二级高通辅助启动模块QCSBL是否正常;若正常,则从所述二级QCSBL进入系统启动;若不正常,则通过运行所述一级QCSBL来更新所述二级QCSBL,从更新后的二级QCSBL进入系统启动;所述一级QCSBL为主QCSBL,所述二级QCSBL为主QCSBL的备份。通过本发明专利技术,可有效的减少一级QCSBL(即主QCSBL)的消耗,延长一级QCSBL的使用寿命,提高系统启动的可靠性和安全性。

【技术实现步骤摘要】

本专利技术属于通信
,尤其涉及通信设备系统启动的方法及装置
技术介绍
通信设备中,系统启动从执行板级支持包(board support package, BSP)程序(包括操作系统、CPU等初始化程序)开始,BSP程序和设备驱动程序一起合称为Boot程序。随着通信网络的复杂,运营商要求通信设备提供高可靠性的服务,Boot程序的正常启动和执行,成为通信设备可靠工作的关键之一。现有Boot程序在启动过程中,为了提高启动的可靠性,对单一保存的高通辅助启动模块(Qualcomm Secondary Boot Loader, QCSBL)进行备份,并将备份后的QCSBL存储在Flash (闪存)的存储块内。在系统上电进入QCSBL前(如图I所示),判断主QCSBL是否正常,如果正常,则直接从该主QCSBL进入系统启动;否则,从备份的QCSBL进入系统启动。现有技术通过备份QCSBL虽然可以使系统启动的可靠性提高一倍,但主QCSBL的消耗还是同样严重,使用寿命并未延长,仍无法满足用户对通信设备系统启动高可靠性的要求。
技术实现思路
本专利技术实施例的目的在于提供一种系统启动的方法,以减少主QCSBL的消耗,提高通信设备系统启动的可靠性。本专利技术实施例一方面提供了一种系统启动的方法,所述方法包括在系统上电进入一级高通辅助启动模块QCSBL前,判断二级高通辅助启动模块QCSBL是否正常;若正常,则运行所述二级QCSBL,从所述二级QCSBL进入系统启动;若不正常,则通过运行所述一级QCSBL来更新所述二级QCSBL,从更新后的二级QCSBL进入系统启动;所述一级QCSBL为主QCSBL,所述二级QCSBL为主QCSBL的备份。本专利技术实施例另一方面提供了一种系统启动的装置,所述装置包括判断单元,用于在系统上电进入一级高通辅助启动模块QCSBL前,判断二级高通辅助启动模块QCSBL是否正常;第一处理单元,用于在所述判断单元判断结果为是时,从所述二级QCSBL进入系统启动;第二处理单元,用于在所述判断单元判断结果为否时,通过运行所述一级QCSBL来更新所述二级QCSBL,从更新后的二级QCSBL进入系统启动; 所述一级QCSBL为主QCSBL,所述二级QCSBL为主QCSBL的备份。本专利技术实施例在系统上电进入一级QCSBL前,先判断二级QCSBL是否正常,若正常,则从所述二级QCSBL进入系统启动,若不正常,则通过运行所述一级QCSBL来更新所述二级QCSBL,从更新后的二级QCSBL进入系统启动,通过本专利技术实施例,可以有效的减少一级QCSBL(即主QCSBL)的消耗,延长一级QCSBL的使用寿命,提高系统启动的可靠性和安全性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。图I是现有技术提供的系统启动的流程图;图2是本专利技术实施例提供的系统启动方法的实现流程图;图3是本专利技术实施例提供的系统启动方法的具体流程图;图4是本专利技术实施例提供的系统启动装置的组成结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下对照附图并结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。图2示出了本专利技术实施例提供的系统启动方法的实现流程,具体详述如下在步骤S201中,在系统上电进入一级高通辅助启动模块QCSBL前,判断二级高通辅助启动模块QCSBL是否正常,如果判断结果为“是”,则执行步骤S202,否则执行步骤S203。在本实施例中,所述一级高通辅助启动模块(Qualco_ secondary boot loader,QCSBL)为主QCSBL、二级QCSBL为主QCSBL的备份。所述一级QCSBL和二级QCSBL分别存储在闪存(Flash)的不同存储块内。系统从片上永久存储器(on-chip ROM)的起始地址OxffffOOOO开始读取主启动加载模块(Primary Boot Loader, PBL),通过 PBL 获取配置数据(Configuration Data),并根据所述配置数据中QCSBL的位置信息查找并加载所述QCSBL。为了减少一级QCSBL的消耗,增强对一级QCSBL的保护。本实施例在加载所述QCSBL,在进入一级QCSBL前,先判断二级QCSBL是否正常,若正常,则先运行所述二级QCSBL0其中,所述正常包括QCSBL本身无故障以及存储QCSBL的存储块无故障。在步骤S202中,从所述二级QCSBL进入系统启动。具体的是,将所述二级QCSBL从Flash拷贝到内存(RAM),根据内存中存储该二级QCSBL的起始地址,从该起始地址中的二级QCSBL开始进入系统启动。在步骤S203中,通过运行所述一级QCSBL来更新所述二级QCSBL,从更新后的二级QCSBL进入系统启动。进一步的,为了有效更新所述二级QCSBL,本专利技术实施例在判断二级高通辅助启动模块QCSBL是否正常步骤前,还包括检测所述二级QCSBL是否备份;若是,则不需要再进行备份,否则对所述二级QCSBL进行备份,并将所述二级QCSBL的备份存储至Flash。其中二级QCSBL的备份为一份或者两份。需要说明的是,每个存储块的读写次数是有限的,当读写次数过多时,存储块容易损坏,因此为了保证二级QCSBL的正常运行,对二级QCSBL的备份至少为一份。但是,为了防止备份的份数过多浪费系统的存储空间,二级QCSBL的备份至多为两份。在本实施例中,所述通过运行所述一级QCSBL来更新所述二级QCSBL具体包括在本实施例中,在判断所述二级QCSBL是否正常前,a、运行所述一级QCSBL,判断存储所述二级QCSBL的存储块是否为坏块;若是执行步骤b,否则执行步骤c ; 在本实施例中,运行所述一级QCSBL的目的是启动二级QCSBL的更新程序,以获取二级QCSBL的存储位置,并根据所述存储位置判断存储所述二级QCSBL的存储块是否为坏块。b、若是,重新分配一存储块,将所述备份的二级QCSBL拷贝到重新分配的存储块,完成二级QCSBL更新,该存储块的大小大于或者等于所述坏的存储块的大小;C、若否,直接将所述备份的二级QCSBL拷贝到所述二级QCSBL的存储块,以替换不正常的二级QCSBL,完成二级QCSBL的更新。 在本实施例中,所述不正常的二级QCSBL指的是二级QCSBL本身的故障,如病毒感染等。另外,所述从更新后的二级QCSBL进入系统启动具体为将所述更新后的二级QCSBL从Flash拷贝到内存,根据内存中存储该二级QCSBL的起始地址,从该起始地址中的二级QCSBL开始进入系统启动。通过本专利技术实施例,可以有效的减少一级QCSBL (即主QCSBL)的消耗,延长一级QCSBL的使用寿命(假如现有主QCSBL的使用寿命为a,则本专利技术实施例中的主QCSBL的使用寿命至少为a X a),提高系统启动的可靠性和安全性。更进一步的,为进本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陆群李宏禹
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:

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

1