專利名稱:一種識別系統(tǒng)冷啟動熱啟動的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種識別系統(tǒng)冷啟動熱啟動的方法。
背景技術(shù):
單板或系統(tǒng)在上電過程需要區(qū)分冷啟動和熱啟動進行不同的測試和加載等操作,同時系統(tǒng)起來后,需要查詢冷啟動熱啟動信息,以便識別復(fù)位和啟動情況等。常見的區(qū)分冷啟動熱啟動的實現(xiàn)方法有內(nèi)存標(biāo)識識別法。
目前最常用的冷啟動熱啟動的識別方法是內(nèi)存標(biāo)識識別法。該方法實現(xiàn)簡單,只需在內(nèi)存某一固定的可用空間設(shè)計一個標(biāo)識。該標(biāo)識可以是8比特或16比特或更大比特位的一個存儲空間。通常用8比特或16比特。下面為了描述簡單用8比特為例進行描述。
如下表所示的冷啟動熱啟動識別標(biāo)識符
單板或系統(tǒng)復(fù)位后,通過判斷預(yù)定地址空間的冷啟動熱啟動識別標(biāo)識符的值來確定是否熱啟動。如果冷啟動熱啟動識別標(biāo)識符的值為預(yù)定的值如A5(即10100101),則判為熱啟動。否則判為冷啟動,同時修改該表識符的值為預(yù)定的值如A5(即10100101),以便下次熱啟動時能夠識別到標(biāo)識符的值為預(yù)定值。
現(xiàn)有內(nèi)存標(biāo)示法的主要存在的缺點有1、存在可靠性隱患單板或系統(tǒng)上電時,內(nèi)存中冷啟動熱啟動識別標(biāo)識符的值是一個不定狀態(tài),該狀態(tài)剛好是預(yù)定的標(biāo)識符值時,就會出現(xiàn)誤判,如標(biāo)識符位寬為8位時,出現(xiàn)概率就有1/(28),雖然可以通過增加標(biāo)識符位寬來提高可靠性。但始終存在這種隱患。
2、很多單板或系統(tǒng)在單板或系統(tǒng)復(fù)位啟動初始化內(nèi)存時,要求把內(nèi)存清空,這種情況下會清除標(biāo)識,內(nèi)存標(biāo)識識別法就不太合適。另外很多情況下需要對內(nèi)存空間進行全面完整的自檢測試,這種情況下也會清除標(biāo)識,這時使用這種方法也不合適。
發(fā)明內(nèi)容
本發(fā)明的目的是解決冷啟動熱啟動的內(nèi)存標(biāo)識存在初始化不確定狀態(tài)的可靠性問題。利用邏輯寄存器標(biāo)識來代替內(nèi)存標(biāo)識提高可靠性的一種實現(xiàn)方案。
為此,本發(fā)明采用如下方案一種可靠識別系統(tǒng)冷啟動熱啟動的方法,其特征在于在CPU系統(tǒng)外部的邏輯器件中定義冷啟動熱啟動標(biāo)識的寄存器,并在該寄存器中定義冷啟動熱啟動的啟動標(biāo)識,當(dāng)系統(tǒng)復(fù)位后,以該寄存器的啟動標(biāo)識來識別系統(tǒng)的啟動方式。
所述的寄存器為可讀寫寄存器。
所述的方法,該寄存器的位寬為8比特。
所述的寄存器初始化為“11111111”,當(dāng)系統(tǒng)啟動時,包括以下步驟a、CPU初始化;b、判斷邏輯器件冷熱啟動標(biāo)識寄存器是否為“11111111”,若是,則進入步驟c;若否,則進入步驟d;c、改寫邏輯冷熱啟動標(biāo)識為“11111111”,進入冷啟動流程并執(zhí)行冷啟動操作;d、進入熱啟動流程并執(zhí)行熱啟動操作。
所述的寄存器初始化為“11111111”,判斷冷熱啟動標(biāo)識為非“11111111”的標(biāo)識,當(dāng)系統(tǒng)啟動時,包括以下步驟a1、CPU初始化;b1、判斷邏輯器件冷熱啟動標(biāo)識寄存器是否為該非“11111111”的標(biāo)識,若是,則進入步驟c1;若否,則進入步驟d1;c1、進入熱啟動流程并執(zhí)行熱啟動操作;d1、改寫邏輯冷熱啟動標(biāo)識為該非“11111111”,進入冷啟動流程并執(zhí)行冷啟動操作。
本發(fā)明克服了冷啟動熱啟動內(nèi)存標(biāo)識識別法中,初始狀態(tài)不確定帶來的隱患,極大地提高了識別的可靠性,同時解決了啟動前內(nèi)存清空和內(nèi)存完整測試問題。
圖1是本發(fā)明的一個系統(tǒng)連接示意圖;圖2是本發(fā)明的一個流程示意圖;圖3是本發(fā)明的另一個流程示意圖。
具體實施例方式
下面結(jié)合說明書附圖來說明本發(fā)明的具體實施方式
。
本發(fā)明主要是利用邏輯寄存器標(biāo)識來代替內(nèi)存標(biāo)識提高可靠性的一種實現(xiàn)方案,目前的CPU系統(tǒng)外部一般都帶有邏輯器件,如圖1所示的CPU系統(tǒng)該邏輯器件與CPU之間具有讀寫總線,一般可以與配置字邏輯一起使用,無需單獨另外增加邏輯器件。
本發(fā)明在邏輯器件中定義一個冷啟動熱啟動標(biāo)識的可讀寫寄存器,該寄存器位寬不定,建議采用8位(比特),或16位。如16位的定義signalBoot_vector:std_logic_vector(15 downto 0);該寄存器必須初始化成一個固定的值,如Boot_vector<=″1111111111111111″;正是由于該寄存器初始化成某一固定值,從而克服了內(nèi)存標(biāo)識識別法中內(nèi)存初始不確定的隱患,而邏輯寄存器的初始化依賴邏輯本身,而不是CPU程序?;诖?,本發(fā)明單板或系統(tǒng)在啟動過程中可以利用邏輯的冷熱啟動標(biāo)識寄存器有兩種判斷方法和啟動流程。
方法流程一假設(shè)冷熱啟動標(biāo)識寄存器初始化成全1,啟動時判斷該標(biāo)識寄存器是否為全1,如果是全1,則進入到冷啟動流程,同時改寫該寄存器值為非全1的值;如果不是全1,則進入到熱啟動流程。流程圖如圖2所示方法流程二假設(shè)冷熱啟動標(biāo)識寄存器初始化初始化成全1,假設(shè)要求判斷冷熱啟動標(biāo)識為A5A5(即1010010110100101),啟動時判斷該標(biāo)識寄存器是否為A5A5,如果是A5A5,則進入到熱啟動流程;如果不是A5A5,則改寫該寄存器值為A5A5值;進入到冷啟動流程。流程圖如圖3所示。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準(zhǔn)。
權(quán)利要求
1.一種識別系統(tǒng)冷啟動熱啟動的方法,其特征在于在CPU系統(tǒng)外部的邏輯器件中定義冷啟動熱啟動標(biāo)識的寄存器,并在該寄存器中定義冷啟動熱啟動的啟動標(biāo)識,當(dāng)系統(tǒng)復(fù)位后,以該寄存器的啟動標(biāo)識來識別系統(tǒng)的啟動方式。
2.如權(quán)利要求1所述的方法,其特征在于所述的寄存器為可讀寫寄存器。
3.如權(quán)利要求1所述的方法,其特征在于該寄存器的位寬為8比特。
4.如權(quán)利要求3所述的方法,其特征在于所述的寄存器初始化為“11111111”,當(dāng)系統(tǒng)啟動時,包括以下步驟a、CPU初始化;b、判斷邏輯器件冷熱啟動標(biāo)識寄存器是否為“11111111”,若是,則進入步驟c;若否,則進入步驟d;c、改寫邏輯冷熱啟動標(biāo)識為“11111111”,進入冷啟動流程并執(zhí)行冷啟動操作;d、進入熱啟動流程并執(zhí)行熱啟動操作。
5.如權(quán)利要求3所述的方法,其特征在于所述的寄存器初始化為“11111111”,判斷冷熱啟動標(biāo)識為非“11111111”的標(biāo)識,當(dāng)系統(tǒng)啟動時,包括以下步驟a1、CPU初始化;b1、判斷邏輯器件冷熱啟動標(biāo)識寄存器是否為該非“11111111”的標(biāo)識,若是,則進入步驟c1;若否,則進入步驟d1;c1、進入熱啟動流程并執(zhí)行熱啟動操作;d1、改寫邏輯冷熱啟動標(biāo)識為該非“11111111”,進入冷啟動流程并執(zhí)行冷啟動操作。
全文摘要
本發(fā)明涉及一種識別系統(tǒng)冷啟動熱啟動的實現(xiàn)方法。包括在CPU系統(tǒng)外部的邏輯器件中定義冷啟動熱啟動標(biāo)識的寄存器,并在該寄存器中定義冷啟動熱啟動的啟動標(biāo)識,當(dāng)系統(tǒng)復(fù)位后,以該寄存器的啟動標(biāo)識來識別系統(tǒng)的啟動方式。本發(fā)明克服了冷啟動熱啟動內(nèi)存標(biāo)識識別法中,初始狀態(tài)不確定帶來的隱患,極大地提高了可靠性,同時解決了啟動前內(nèi)存清空和內(nèi)存完整測試問題。
文檔編號G06F11/30GK1627269SQ200310118540
公開日2005年6月15日 申請日期2003年12月12日 優(yōu)先權(quán)日2003年12月12日
發(fā)明者王洪英 申請人:華為技術(shù)有限公司