專利名稱:一種引導存儲器的構建方法、引導存儲器及使用方法
技術領域:
本發(fā)明涉及計算機、通訊領域中單板設備上的引導存儲器(BootRom)的構建方法及引導存儲器以及該引導存儲器的使用方法。
為達到上述目的,本發(fā)明提供的引導存儲器的構建方法,包括(1)將引導存儲器(BootRom)按照其地址范圍分為兩段,分別作為基本BootRom和擴展BootRom,所述基本BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器;所述擴展BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器;(2)設置擴展BootRom的有效性標志,用以標識擴展BootRom是否可以在線升級或可用;所述基本BootRom采用快速閃存存儲器(FLASH)。
所述擴展BootRom采用電可擦抹只讀存儲器(EEROM)。
所述擴展BootRom也可以采用快速閃存存儲器(FLASH)。
所述方法還包括設置擴展BootRom的執(zhí)行標志,用以標識擴展BootRom是處于開始執(zhí)行還是處于執(zhí)行完畢的狀態(tài)。
本發(fā)明還提供了一種根據(jù)上述方法構建的引導存儲器,包括基本BootRom,采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器,用于存儲內(nèi)容固定的引導程序代碼以及系統(tǒng)基本數(shù)據(jù);擴展BootRom,采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器,用于存儲需要升級的程序代碼和數(shù)據(jù),以方便程序代碼和數(shù)據(jù)的升級。
本發(fā)明提供的上述引導存儲器的使用方法,包括(A1)執(zhí)行基本BootRom初始化操作;
(A2)對擴展BootRom的有效性進行判斷,如果擴展BootRom無效,執(zhí)行后續(xù)的基本BootRom代碼,然后結束;否則執(zhí)行擴展BootRom的代碼后結束。
所述步驟(A2)還可以由下述步驟代替(B1)對擴展BootRom的有效性標志進行判斷,如果擴展BootRom無效,執(zhí)行后續(xù)的基本BootRom代碼,然后結束;否則,(B2)對擴展BootRom的執(zhí)行標志進行判斷,如果該標志標識擴展BootRom為開始執(zhí)行的狀態(tài),執(zhí)行后續(xù)的基本BootRom代碼,然后結束;否則,(B3)設置擴展BootRom的執(zhí)行標志為開始執(zhí)行的狀態(tài),并執(zhí)行擴展BootRom的代碼;(B4)判斷擴展BootRom是否執(zhí)行成功,如果成功,設置擴展BootRom的執(zhí)行標志為執(zhí)行完畢的狀態(tài),然后結束,否則進行告警等操作后結束。
由于本發(fā)明將BootRom按照其地址范圍分為兩段,分別作為基本BootRom和擴展BootRom,并且所述擴展BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器,例如采用EEROM或FLASH,這樣,使得擴展BootRom的內(nèi)容可以在線升級、更新和維護,可以減少BootRom的升級和維護的成本。
下面結合附圖和實施例對本發(fā)明作進一步詳細的描述。
圖1是本發(fā)明的引導存儲器的構建方法實施例流程圖。按照圖1構建引導存儲器共有三個步驟第1步,將BootRom按照其地址范圍分為兩段,第一段作為基本BootRom,該段BootRom所存儲的程序或數(shù)據(jù)支持的功能較少但穩(wěn)定可靠,其中的程序和數(shù)據(jù)通常在出廠時寫入,以后不需要再改寫和升級,因此基本BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器,該段存儲器通常采用快速閃存存儲器FLASH或只讀存儲器ROM,當然也可以采用紫外線擦抹只讀存儲器(EPROM)或電可擦抹只讀存儲器(EEPROM);第二段作為擴展BootRom,該段BootRom所存儲的程序或數(shù)據(jù)支持的功能較多,實際中可能要求修改、維護或升級,因此所述擴展BootRom應采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器,該段存儲器采用快速閃存存儲器FLASH,也可以采用電可擦抹只讀存儲器EEROM,在特殊情況下,也可以采用隨機存儲器RAM實現(xiàn),當然要為RAM提供穩(wěn)定的不間斷供電電源。
在插有BootRom的單板啟動后,由于硬件設置會先執(zhí)行基本BootRom,以便先執(zhí)行必要的初始化操作,然后判斷擴展BootRom是否可用,如果擴展BootRom可用,就跳到擴展BootRom執(zhí)行;否則執(zhí)行基本BootRom的后續(xù)代碼。通常擴展BootRom可用的條件有兩個,一是擴展BootRom里的代碼有效,二是上一次啟動成功,當上述兩個條件都滿足時才能說明擴展BootRom穩(wěn)定可用。同時,為了支持BootRom的升級,在基本BootRom中必須增加擴展BootRom有效性判斷、擴展BootRom啟動成功標志設置和擴展BOOTROM啟動成功標志清除的代碼。
因此,在步驟2,設置擴展BootRom的有效性標志,用以標識擴展BootRom是否可以在線升級或可用;在步驟3設置擴展BootRom的執(zhí)行標志,用以標識擴展BootRom是處于開始執(zhí)行還是處于執(zhí)行完畢的狀態(tài)。
經(jīng)過上述步驟,即可構建一個方便升級、維護操作的BootRom,同時將擴展BootRom的執(zhí)行標志設置為執(zhí)行完畢的狀態(tài)。
還需要說明,所述擴展BootRom的有效性標志以及執(zhí)行標志可以在BootRom中設置,并且對設置在基本BootRom還是設置在擴展BootRom中沒有要求,實際中還可以將該標志設置在系統(tǒng)存儲器中。以擴展BootRom有效性標志為例,所述設置擴展BootRom的有效性標志還可以通過設置擴展BootRom的校驗和特征值的方式實現(xiàn)。例如,當擴展BootRom有效時,其存儲單元的二進制檢驗和的值是固定的,將該值作為特征值,在每次BootRom啟動時,用計算得到的當前擴展BootRom校驗和與該特征值進行比較,即可獲知當前擴展BootRom是否處于有效狀態(tài)。與上述同理,所述設置擴展BootRom的有效性標志也可以通過設置擴展BootRom的按某一加密算法特征值的方式機實現(xiàn),例如信息分類加密算法第5版(MD5)算法。
圖2是按照圖1所述方法構建的引導存儲器框圖。圖2中的引導存儲器1包括基本BootRom2和擴展BootRom3,其中基本BootRom2,采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器,用于存儲內(nèi)容固定的引導程序代碼以及系統(tǒng)基本數(shù)據(jù);
擴展BootRom3,采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器,用于存儲需要升級的程序代碼和數(shù)據(jù),以方便程序代碼和數(shù)據(jù)的升級。
圖3是本發(fā)明的引導存儲器的使用方法實施例流程圖。按照圖2使用依據(jù)圖1所述方法構建的BootRom,首先在步驟11進行正常的基本BootRom初始化操作,然后在步驟12對擴展BootRom的有效性標志進行判斷,如果所述有效性標志標識擴展BootRom無效,說明擴展BootRom可能處于故障狀態(tài),無法繼續(xù)執(zhí)行,此時進行步驟14,執(zhí)行后續(xù)的基本BootRom代碼,然后結束BootRom的啟動操作;如果所述有效性標志標識擴展BootRom有效,進行步驟13對擴展BootRom的執(zhí)行標志進行判斷,如果該標志標識擴展BootRom上次未執(zhí)行成功,即該標志為仍為開始執(zhí)行的狀態(tài),也說明擴展BootRom可能處于故障狀態(tài)而無法繼續(xù)執(zhí)行,此時也進行步驟14執(zhí)行后續(xù)的基本BootRom代碼,然后結束BootRom的啟動操作;否則,說明擴展BootRom處于正常的工作狀態(tài),因此在步驟15設置擴展BootRom的執(zhí)行標志為開始執(zhí)行,并在步驟16執(zhí)行擴展BootRom的代碼。在擴展BootRom的代碼執(zhí)行完畢或中止后,在步驟17判斷擴展BootRom是否執(zhí)行成功,如果成功,在步驟18設置擴展BootRom的執(zhí)行標志為執(zhí)行成功的狀態(tài),即執(zhí)行完畢的狀態(tài),以便下次BootRom重新啟動,然后結束BootRom的啟動操作,否則在步驟19進行告警操作后結束BootRom的啟動操作。在啟動操作結束前還可以進行其它操作,例如進行BootRom的升級。如果進行BootRom的升級,首先要判斷升級數(shù)據(jù)使用的加載通道是否正常,如果正常,發(fā)出BootRom的升級的升級申請,在得到響應后進行BootRom的升級。
權利要求
1.一種引導存儲器的構建方法,包括(1)將引導存儲器(BootRom)按照其地址范圍分為兩段,分別作為基本BootRom和擴展BootRom,所述基本BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器;所述擴展BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器;(2)設置擴展BootRom的有效性標志,用以標識擴展BootRom是否可以在線升級或可用;
2.根據(jù)權利要求1所述的引導存儲器的構建方法,其特征在于所述基本BootRom采用快速閃存存儲器(FLASH)。
3.根據(jù)權利要求1所述的引導存儲器的構建方法,其特征在于所述擴展BootRom采用電可擦抹只讀存儲器(EEROM)。
4.根據(jù)權利要求1所述的引導存儲器的構建方法,其特征在于所述擴展BootRom采用快速閃存存儲器(FLASH)。
5.根據(jù)權利要求1所述的引導存儲器的構建方法,其特征在于所述擴展BootRom的有效性標志在BootRom中設置。
6.根據(jù)權利要求5所述的引導存儲器的構建方法,其特征在于所述設置擴展BootRom的有效性標志為設置擴展BootRom的校驗和特征值。
7.根據(jù)權利要求5所述的引導存儲器的構建方法,其特征在于所述設置擴展BootRom的有效性標志為設置擴展BootRom的信息分類加密算法第5板(MD5)的特征值。
8.根據(jù)權利要求1所述的引導存儲器的構建方法,其特征在于所述方法還包括設置擴展BootRom的執(zhí)行標志,用以標識擴展BootRom是處于已經(jīng)開始執(zhí)行還是處于執(zhí)行完畢的狀態(tài)。
9.一種根據(jù)權利要求1到8任一權利要求所述方法構建的引導存儲器,包括基本BootRom,采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器,用于存儲內(nèi)容固定的引導程序代碼以及系統(tǒng)基本數(shù)據(jù);擴展BootRom,采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器,用于存儲需要升級的程序代碼和數(shù)據(jù),以方便程序代碼和數(shù)據(jù)的升級。
10.一種權利要求9所述的引導存儲器的使用方法,包括(A1)執(zhí)行基本BootRom初始化操作;(A2)對擴展BootRom的有效性進行判斷,如果擴展BootRom無效,執(zhí)行后續(xù)的基本BootRom代碼,然后結束;否則執(zhí)行擴展BootRom的代碼后結束。
11.根據(jù)權利要求10所述的引導存儲器的使用方法,其特征在于所述步驟(A2)由下述步驟代替(B1)對擴展BootRom的有效性標志進行判斷,如果擴展BootRom無效,執(zhí)行后續(xù)的基本BootRom代碼,然后結束;否則,(B2)對擴展BootRom的執(zhí)行標志進行判斷,如果該標志標識擴展BootRom為開始執(zhí)行的狀態(tài),執(zhí)行后續(xù)的基本BootRom代碼,然后結束;否則,(B3)設置擴展BootRom的執(zhí)行標志為開始執(zhí)行,并執(zhí)行擴展BootRom的代碼;(B4)判斷擴展BootRom是否執(zhí)行成功,如果成功,設置擴展BootRom的執(zhí)行標志為執(zhí)行完畢的狀態(tài),然后結束,否則進行告警等操作后結束。
全文摘要
本發(fā)明公開了一種引導存儲器的構建方法,該方法將引導存儲器(BootRom)按照其地址范圍分為兩段,分別作為基本BootRom和擴展BootRom,所述基本BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀出其內(nèi)容的存儲器,例如ROM;所述擴展BootRom采用能夠長期保持所存儲的內(nèi)容,并且在其處于工作狀態(tài)的任意時刻均能讀、寫其內(nèi)容的存儲器,例如FLASH;該方法還設置擴展BootRom的有效性標志,用以標識擴展BootRom是否可以在線升級或可用;采用上述方案,使得擴展BootRom的內(nèi)容可以在線升級、更新和維護,因此可以減少BootRom的升級和維護的成本。
文檔編號G06F12/08GK1437113SQ0210368
公開日2003年8月20日 申請日期2002年2月8日 優(yōu)先權日2002年2月8日
發(fā)明者付漢杰, 徐勇 申請人:華為技術有限公司