嵌入式系统启动方法及装置的制作方法

文档序号:6434253阅读:140来源:国知局
专利名称:嵌入式系统启动方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种嵌入式系统启动方法及装置。
背景技术
在嵌入式系统中,BOOT LOADER (启动加载器,也可称为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继续启动。通过本发明,采用为嵌入式系统设置主备Β00Τ,在使用主BOOT启动失败时切换到备BOOT再次启动的方案,解决了现有嵌入式系统中BOOT升级风险大、潜在维修成本高的问题,进而达到了提高系统启动安全性、降低设备维修成本的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的嵌入式系统启动方法的流程图;图2是根据本发明实例的嵌入式系统的结构框图;图3是根据本发明实例的主备BOOT启动流程图;图4是根据本发明实例的使用容量为2M的主备BOOT各占IM的主备BOOT启动流程图;图5是根据本发明实施例的嵌入式系统启动装置的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1是根据本发明实施例的嵌入式系统启动方法的流程图。如图1所示,根据本发明实施例的嵌入式系统启动方法包括步骤S102,为嵌入式系统设置主BOOT和备BOOT (备BOOT可以是一个或多个);步骤S104,在使用主BOOT启动嵌入式系统失败后,切换至备BOOT启动该嵌入式系统。本实施例提供的方法,对应于当前嵌入式系统BOOT的发展趋势,提供了一种主备 BOOT启动机制,使得系统在使用主BOOT启动失败后可以再次使用备BOOT进行启动,从而极大地提高了系统启动的安全性,降低了设备维修成本。同时,主备BOOT结构的设置客观上也可以延长设备使用时间,并为增强设备的自修复能力提供了可能。对于启动失败的判定,可以根据不同的需要设置不同的标准,本优选实施例给出一种优选的判定标准。优选地,使用主BOOT启动嵌入式系统失败可以包括使用主BOOT启动嵌入式系统的系统引导时间超过预置门限。系统启动时的系统引导时间的是判断系统启动是否成功的重要标准,且使用系统引导时间作为判断系统启动是否成功的标准兼容性也比较强,可以适用于各种嵌入式系统,只是对应于不同的嵌入式系统,预置门限的大小可能并不一致。优选地,主BOOT和备BOOT可以保存在同一存储设备中。由于BOOT文件尺寸较小,而存储设备又在不断向大容量的方向发展,因此,在同一个存储设备上进行规划设计以存放主备BOOT,可以在不增加设备成本的情况下为系统的功能升级提供保障,具有很强的现实意义。在进行主备切换时,具体的实现方式是多种多样的,本优选实施例在主BOOT和备 BOOT保存在同一存储设备的前提下,给出一种优选地实现方式。优选地,,在使用主BOOT启动嵌入式系统失败后,切换至备BOOT启动该嵌入式系统可以包括以下处理(1)在使用主BOOT启动嵌入式系统的系统引导时间超过预置门限后,通过存储设备的高位地址线将嵌入式系统的启动位置修改为从备BOOT启动。(2)重启该嵌入式系统,使用备BOOT启动该嵌入式系统。当主备BOOT存放于同一存储设备时,通过对该存储设备的高位地址线进行控制即可实现主备BOOT的切换,即通过修改该存储设备的高位地址线的状态,改变系统启动时读取BOOT的地址实现启动位置的切换,从而可以在不增加硬件成本的基础上实现主备 BOOT的切换。优选地,在使用主BOOT启动嵌入式系统失败后,切换至备BOOT启动该嵌入式系统之后,还可以包括在切换至备BOOT启动该嵌入式系统又失败后,切换至主BOOT继续启动该嵌入式系统。在本优选实施例中,主备BOOT切换启动的流程会被循环地执行,这样即可排除某次启动时相应的BOOT并未损坏而是其他偶然的原因导致启动失败对系统启动造成的影响。下面结合实例对上述优选实施例进行详细说明。图2是根据本发明实例的嵌入式系统的结构框图。如图2所示,根据本发明实例的嵌入式系统在现有嵌入式系统需要增加一个(BOOT)存储设备(也可以使用原有的存储设备实现)和一个逻辑控制单元(可使用复杂可编程逻辑器件实现),嵌入式系统的处理器(CPU)可通过LOCAL BUS等直接映射方式的总线访问存储设备和逻辑控制单元,存储设备存放主备Β00Τ,接收处理器的访问,逻辑控制单元控制主备BOOT的切换,接受处理器的访问。嵌入式系统中实际上存在更多的功能模块,但为了突出本发明图中并未示出。存储设备通过地址、数据总线和控制信号线与处理器连接,逻辑控制单元通过地址、数据总线和控制信号线与处理器连接,存储设备的高位地址线与逻辑控制单元相连。在具体实施过程中,逻辑控制单元控制高位地址线的数量和具体标号受存储设备的容量大小和BOOT最大文件尺寸的限制。逻辑控制单元还提供了一个系统引导超时检测机制,超时后重启系统并切换高位地址线控制逻辑。本实例中,高位地址线受逻辑控制单元控制,存在三种状态强制为0、强制为1、 与CPU对应地址线连通。具体的切换控制通过逻辑控制位实现,逻辑控制单元提供给处理器的逻辑控制位如下DO 系统引导成功标志位,可读写;Dl 高位地址线状态标志位,可读写;D2 主备BOOT在用标志位,只读。DO默认值为0,在系统引导成功后修改为1。该控制位若在逻辑控制单元设置的超时时间内未被修改,逻辑控制单元将重启系统,并进行主备BOOT切换。Dl默认值为0,代表高位地址线由逻辑控制单元控制。引导成功后置1,使高位地址线与CPU对应地址线连通,以便对存储区域进行正常的读写访问。该位置0时,逻辑控制单元应根据D2状态将高位地址线强制为0或强制为1。D2默认值为0,逻辑控制单元根据BOOT是否切换对其进行设置。该位为0表示系统从主用BOOT引导,为1表示系统从备用BOOT引导,该标识位在成功引导后整个系统存活期间应保持不变。在上述嵌入式系统的基础上,根据本实例的主备BOOT启动流程,如图3所示,包括以下步骤步骤S302,系统上电,逻辑控制单元处于复位状态。步骤S304,根据此时的逻辑控制单元的逻辑状态,系统从主用BOOT引导,逻辑控制单元启动检测系统引导超时定时器。步骤S306,判断引导是否成功,如果成功,转至步骤S322,如果失败,转至步骤 S308。步骤S308,主用BOOT引导失败,系统引导时间超时。步骤S310,逻辑控制单元将高位地址线强制为1,并设置主备BOOT在用标志位D2 为1。步骤S312,系统进行复位,切换到备用BOOT启动,逻辑控制单元维持当前逻辑状态。步骤S314,系统从备用BOOT引导,逻辑控制单元启动检测系统弓丨导超时定时器。步骤S316,判断引导是否成功,如果成功,转至步骤S322,如果失败,转至步骤 S318。步骤S318,备用BOOT引导失败,逻辑控制单元超时机制启动,高位地址线强制为 0,并设置主备BOOT在用标志位D2为0。步骤S320,系统进行复位,逻辑控制单元维持当前逻辑状态,转至步骤S304。步骤S322,引导成功,将系统引导成功标志位DO置为1。步骤S3M,逻辑控制单元关闭定时器。步骤,系统成功启动后,将高位地址线状态标志位Dl置为1,使高位地址线与 CPU对应地址线连通以便正常访问,启动完成。下面以使用容量为2M的TSOP FLASH S29AL016D90TFI02存储各占IM空间的主备 BOOT为例作进一步详细的描述。因FLASH存储单元为16位,访问2M FLASH整个存储空间共需要20根地址线 A0-A19,最高地址线A19由逻辑控制单元控制,可以处于三种状态强制为0、强制为1、或者与CPU对应地址线连通。如图4所示,整个启动过程包括以下步骤步骤S402,系统上电,逻辑控制单元逻辑处于复位状态系统引导成功标志位为 0,高位地址线状态标志位为0,A19由逻辑控制单元控制强制拉低,主备BOOT在用标志位为 0,指示系统从主用BOOT启动。步骤S404,CPU访问BOOT存储设备低IM的地址空间,系统从主用BOOT启动,同时逻辑控制单元启动检测系统弓I导超时定时器。步骤S406,B00T存储设备上的主用BOOT引导存在失败和成功的可能,根据运行结果进入不同分支处理,失败时,转至步骤S408,成功时,转至步骤S似4。步骤S408,主用BOOT引导失败,逻辑控制单元定时器到达超时时间,启动超时处理机制。步骤S410,逻辑控制单元将BOOT存储设备的A19强制拉高,同时设置主备BOOT在用标志位为备用BOOT启动状态。步骤S412,逻辑控制单元给CPU提供复位信号,系统进行复位。步骤S414,根据逻辑控制单元此时逻辑状态,CPU访问BOOT存储设备高IM的地址空间,系统从备用BOOT启动,同时逻辑控制单元启动检测系统引导超时定时器。步骤S416,B00T存储设备上的备用BOOT引导同样存在失败和成功的可能,根据运行结果进入不同分支处理,成功时,转至步骤S4M,失败时,转至步骤S418。步骤S418,备用BOOT引导失败,逻辑控制单元定时器到达超时时间,启动超时处理机制。步骤S420,逻辑控制单元将BOOT存储设备的A19强制拉低,同时设置主备BOOT在用标志位为主用BOOT启动状态。步骤S422,逻辑控制单元给CPU提供复位信号,系统进行复位,转至步骤S404。步骤S4M,引导成功,将系统引导成功标志位DO置1。步骤S似6,逻辑控制单元关闭定时器。步骤,逻辑控制单元将高位地址线状态标志位Dl置1,BOOT存储设备的A19 与CPU对应地址线连通,整个启动过程完成。在本实例中,虽然整个启动过程分解的步骤繁多,但是实际应用中仅仅需要加入逻辑控制单元对存储设备高位地址线的逻辑控制和几个逻辑控制位供CPU交互控制,还有一个额外的花销是增加一个检测系统引导超时定时器和一根连接到CPU复位引脚的控制
信号线。图5是根据本发明实施例的嵌入式系统启动装置的结构框图。如图5所示,根据本发明实施例的嵌入式系统启动装置包括主备设置模块52,用于为嵌入式系统设置主启动加载器和备BOOT ;逻辑控制模块M,连接至主备设置模块52,用于在嵌入式系统使用主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的FLASH此类存储设备具有擦写次数限制, 而且也有可能局部出现坏块,使用主备BOOT在很大程度上延长了设备的使用寿命。并且由于可编程设计,对于非物理性损坏情况下的BOOT自修复提供了可能性。因此,本发明提供的技术方案在增强系统安全性、降低硬件成本、减少维修费用等方面具有很强的现实意义。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种嵌入式系统启动方法,其特征在于,包括为所述嵌入式系统设置主启动加载器BOOT和备BOOT ;在使用所述主BOOT启动所述嵌入式系统失败后,切换至所述备BOOT启动所述嵌入式系统。
2.根据权利要求1所述的方法,其特征在于,使用所述主BOOT启动所述嵌入式系统失败包括使用所述主BOOT启动所述嵌入式系统的系统引导时间超过预置门限。
3.根据权利要求2所述的方法,其特征在于,所述主BOOT和所述备BOOT保存在同一存储设备中。
4.根据权利要求3所述的方法,其特征在于,在使用所述主BOOT启动所述嵌入式系统失败后,切换至所述备BOOT启动所述嵌入式系统包括在使用所述主BOOT启动所述嵌入式系统的系统引导时间超过预置门限后,通过所述存储设备的高位地址线将所述嵌入式系统的启动位置修改为从所述备BOOT启动;重启所述嵌入式系统,使用所述备BOOT启动所述嵌入式系统。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在使用所述主BOOT启动所述嵌入式系统失败后,切换至所述备BOOT启动所述嵌入式系统之后,还包括在切换至所述备BOOT启动所述嵌入式系统又失败后,切换至所述主BOOT继续启动所述嵌入式系统。
6.一种嵌入式系统启动装置,其特征在于,包括主备设置模块,用于为所述嵌入式系统设置主启动加载器BOOT和备BOOT ;逻辑控制模块,用于在所述嵌入式系统使用所述主BOOT启动失败后,控制所述嵌入式系统切换至所述备BOOT启动。
7.根据权利要求6所述的装置,其特征在于,所述逻辑控制模块包括超时检测单元,用于检测所述嵌入式系统使用所述主BOOT启动的系统引导时间是否超过预置门限,如果是,则判定所述嵌入式系统使用所述主BOOT启动失败。
8.根据权利要求7所述的装置,其特征在于,主备设置模块,还用于将所述主BOOT和所述备BOOT保存在同一存储设备中。
9.根据权利要求8所述的装置,其特征在于,所述逻辑控制模块还包括主备切换单元,用于在所述嵌入式系统使用所述主BOOT启动的系统引导时间超过预置门限后,通过所述存储设备的高位地址线将所述嵌入式系统的启动位置修改为从所述备 BOOT启动;重启单元,用于重启所述嵌入式系统,使所述嵌入式系统使用所述备BOOT启动。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述逻辑控制模块还包括循环切换单元,用于在所述嵌入式系统切换至所述备BOOT启动又失败后,控制所述嵌入式系统切换至所述主BOOT继续启动。
全文摘要
本发明公开了一种嵌入式系统启动方法及装置,上述方法包括为嵌入式系统设置主BOOT和备BOOT;在使用主BOOT启动嵌入式系统失败后,切换至备BOOT启动该嵌入式系统。通过本发明提供的技术方案,解决了现有嵌入式系统中BOOT升级风险大、潜在维修成本高的问题,进而达到了提高系统启动安全性、降低设备维修成本的效果。
文档编号G06F9/445GK102508676SQ20111028986
公开日2012年6月20日 申请日期2011年9月28日 优先权日2011年9月28日
发明者刘志强, 尹文英, 高亚南 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1