一种识别系统冷启动热启动的方法 【技术领域】
本发明涉及通信领域,尤其涉及一种识别系统冷启动热启动的方法。
技术背景
单板或系统在上电过程需要区分冷启动和热启动进行不同的测试和加载等操作,同时系统起来后,需要查询冷启动热启动信息,以便识别复位和启动情况等。常见的区分冷启动热启动的实现方法有内存标识识别法。
目前最常用的冷启动热启动的识别方法是内存标识识别法。该方法实现简单,只需在内存某一固定的可用空间设计一个标识。该标识可以是8比特或16比特或更大比特位的一个存储空间。通常用8比特或16比特。下面为了描述简单用8比特为例进行描述。
如下表所示的冷启动热启动识别标识符:Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit01 0 1 0 0 1 0 1
单板或系统复位后,通过判断预定地址空间的冷启动热启动识别标识符的值来确定是否热启动。如果冷启动热启动识别标识符的值为预定的值如A5(即10100101),则判为热启动。否则判为冷启动,同时修改该表识符的值为预定地值如A5(即10100101),以便下次热启动时能够识别到标识符的值为预定值。
现有内存标示法的主要存在的缺点有:
1、存在可靠性隐患:单板或系统上电时,内存中冷启动热启动识别标识符的值是一个不定状态,该状态刚好是预定的标识符值时,就会出现误判,如标识符位宽为8位时,出现概率就有1/(28),虽然可以通过增加标识符位宽来提高可靠性。但始终存在这种隐患。
2、很多单板或系统在单板或系统复位启动初始化内存时,要求把内存清空,这种情况下会清除标识,内存标识识别法就不太合适。另外很多情况下需要对内存空间进行全面完整的自检测试,这种情况下也会清除标识,这时使用这种方法也不合适。
【发明内容】
本发明的目的是解决冷启动热启动的内存标识存在初始化不确定状态的可靠性问题。利用逻辑寄存器标识来代替内存标识提高可靠性的一种实现方案。
为此,本发明采用如下方案:
一种可靠识别系统冷启动热启动的方法,其特征在于:
在CPU系统外部的逻辑器件中定义冷启动热启动标识的寄存器,并在该寄存器中定义冷启动热启动的启动标识,当系统复位后,以该寄存器的启动标识来识别系统的启动方式。
所述的寄存器为可读写寄存器。
所述的方法,该寄存器的位宽为8比特。
所述的寄存器初始化为“11111111”,当系统启动时,包括以下步骤:
a、CPU初始化;
b、判断逻辑器件冷热启动标识寄存器是否为“11111111”,若是,则进入步骤c;若否,则进入步骤d;
c、改写逻辑冷热启动标识为“11111111”,进入冷启动流程并执行冷启动操作;
d、进入热启动流程并执行热启动操作。
所述的寄存器初始化为“11111111”,判断冷热启动标识为非“11111111”的标识,当系统启动时,包括以下步骤:
a1、CPU初始化;
b1、判断逻辑器件冷热启动标识寄存器是否为该非“11111111”的标识,若是,则进入步骤c1;若否,则进入步骤d1;
c1、进入热启动流程并执行热启动操作;
d1、改写逻辑冷热启动标识为该非“11111111”,进入冷启动流程并执行冷启动操作。
本发明克服了冷启动热启动内存标识识别法中,初始状态不确定带来的隐患,极大地提高了识别的可靠性,同时解决了启动前内存清空和内存完整测试问题。
【附图说明】
图1是本发明的一个系统连接示意图;
图2是本发明的一个流程示意图;
图3是本发明的另一个流程示意图。
【具体实施方式】
下面结合说明书附图来说明本发明的具体实施方式。
本发明主要是利用逻辑寄存器标识来代替内存标识提高可靠性的一种实现方案,目前的CPU系统外部一般都带有逻辑器件,如图1所示的CPU系统:该逻辑器件与CPU之间具有读写总线,一般可以与配置字逻辑一起使用,无需单独另外增加逻辑器件。
本发明在逻辑器件中定义一个冷启动热启动标识的可读写寄存器,该寄存器位宽不定,建议采用8位(比特),或16位。如16位的定义:signalBoot_vector:std_logic_vector(15 downto 0);该寄存器必须初始化成一个固定的值,如:Boot_vector<=″1111111111111111″;正是由于该寄存器初始化成某一固定值,从而克服了内存标识识别法中内存初始不确定的隐患,而逻辑寄存器的初始化依赖逻辑本身,而不是CPU程序。基于此,本发明单板或系统在启动过程中可以利用逻辑的冷热启动标识寄存器有两种判断方法和启动流程。
方法流程一:假设冷热启动标识寄存器初始化成全1,启动时判断该标识寄存器是否为全1,如果是全1,则进入到冷启动流程,同时改写该寄存器值为非全1的值;如果不是全1,则进入到热启动流程。流程图如图2所示:
方法流程二:假设冷热启动标识寄存器初始化初始化成全1,假设要求判断冷热启动标识为A5A5(即1010010110100101),启动时判断该标识寄存器是否为A5A5,如果是A5A5,则进入到热启动流程;如果不是A5A5,则改写该寄存器值为A5A5值;进入到冷启动流程。流程图如图3所示。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。