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