專利名稱:一種Boot程序的備份方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種Boot程序的備份方法和設(shè)備。
技術(shù)背景
現(xiàn)有技術(shù)中,設(shè)備上的Boot (引導(dǎo))程序只存儲(chǔ)一份在Flash (閃存)芯片中,如圖 1所示,為Boot程序的存儲(chǔ)示意圖,CPU (Central Processing Unit,中央處理器)通過片選信號(hào)CSO接入Flash芯片,且Flash芯片上存儲(chǔ)有Boot程序和APP (Application,即應(yīng)用數(shù)據(jù))。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題由于Boot程序只存儲(chǔ)一份在Flash芯片中,如果Boot程序發(fā)生異常則不能自動(dòng)恢復(fù), 從而會(huì)導(dǎo)致設(shè)備不能正常運(yùn)行,需要通過仿真器或者燒寫器來(lái)完成Boot程序?qū)懭?,?duì)設(shè)備的維護(hù)帶來(lái)了極大的不便。
具體的,Boot程序雖然可靠性較高,通常不用升級(jí),但如果Boot程序本身存在問題或需要添加新需求,則Boot程序需要升級(jí),且升級(jí)過程中經(jīng)常會(huì)出現(xiàn)異常(如升級(jí)過程設(shè)備掉電或者操作者失誤等異常)導(dǎo)致升級(jí)失敗,使設(shè)備不能正常運(yùn)行,給設(shè)備的維護(hù)帶來(lái)了極大的不便,降低了設(shè)備的可維護(hù)性。發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種Boot程序的備份方法和設(shè)備,以保證Boot程序啟動(dòng)的可靠性。
為了達(dá)到上述目的,本發(fā)明實(shí)施例提供一種Boot程序的備份方法,包括 啟動(dòng)主用Boot程序,并判斷所述主用Boot程序是否啟動(dòng)成功;如果所述主用Boot程序啟動(dòng)成功,則確定Boot程序啟動(dòng)完成; 如果所述主用Boot程序未啟動(dòng)成功,則啟動(dòng)備用Boot程序,并判斷所述備用Boot程序是否啟動(dòng)成功;如果所述備用Boot程序啟動(dòng)成功,則確定Boot程序啟動(dòng)完成。
本發(fā)明實(shí)施例提供一種Boot程序的備份設(shè)備,包括 第一啟動(dòng)模塊,用于啟動(dòng)主用Boot程序;第一判斷模塊,用于判斷所述主用Boot程序是否啟動(dòng)成功;第一確定模塊,用于當(dāng)所述主用Boot程序啟動(dòng)成功時(shí),確定Boot程序啟動(dòng)完成;第二啟動(dòng)模塊,用于當(dāng)所述主用Boot程序未啟動(dòng)成功時(shí),啟動(dòng)備用Boot程序;第二判斷模塊,用于判斷所述備用Boot程序是否啟動(dòng)成功;第二確定模塊,用于當(dāng)所述備用Boot程序啟動(dòng)成功時(shí),確定Boot程序啟動(dòng)完成。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn)通過主用Boot程序和備用Boot程序的備份機(jī)制,實(shí)現(xiàn)雙Boot程序的備份,能夠有效的防止Boot程序損壞導(dǎo)致設(shè)備不能啟動(dòng)的問題,保證Boot程序啟動(dòng)的可靠性。
為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是現(xiàn)有技術(shù)中Boot程序的存儲(chǔ)示意圖;圖2是本發(fā)明實(shí)施例一提供的一種Boot程序的備份方法流程示意圖;圖3是本發(fā)明實(shí)施例二中硬件電路設(shè)計(jì)示意圖;圖4是本發(fā)明實(shí)施例二中主/備用Boot程序存儲(chǔ)設(shè)計(jì)示意圖;圖5是本發(fā)明實(shí)施例二中Boot程序版本設(shè)計(jì)示意圖;圖6是本發(fā)明實(shí)施例二中片選切換時(shí)的邏輯芯片設(shè)計(jì)示意圖;圖7是本發(fā)明實(shí)施例三提供的一種Boot程序的備份設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明中的附圖,對(duì)本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一本發(fā)明實(shí)施例一提供一種Boot程序的備份方法,用在需要利用Boot程序啟動(dòng)的設(shè)備上,且需要在設(shè)備上進(jìn)行如下設(shè)計(jì)將主用Boot程序存儲(chǔ)在第一 Flash芯片(即存儲(chǔ)介質(zhì),后續(xù)均以Flash芯片為例)的主用Boot區(qū)中,將備用Boot程序存儲(chǔ)在第二 Flash芯片的備用Boot區(qū)中;且,CPU 片選信號(hào) CSO 通過邏輯芯片(如 CPLD (Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)、FPGA (Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)等)接入第一 Flash芯片,CPU片選信號(hào)CSl通過邏輯芯片接入第二 Flash芯片;且,在啟動(dòng)主用Boot程序時(shí),通過邏輯芯片控制CPU片選信號(hào)CSO接入第一 Flash芯片, 并在啟動(dòng)備用Boot程序時(shí),通過邏輯芯片實(shí)現(xiàn)片選切換功能,控制CPU片選信號(hào)CSO接入第二 Flash芯片;且,邏輯芯片提供用于檢測(cè)Boot程序是否啟動(dòng)成功的邏輯定時(shí)器,用于表明Boot程序啟動(dòng)成功的禁止邏輯定時(shí)器寄存器,用于實(shí)現(xiàn)片選切換功能的Boot程序片選切換寄存器。
基于上述設(shè)計(jì),則在設(shè)備上電啟動(dòng)后,如圖2所示,該Boot程序的備份方法包括以下步驟步驟201,設(shè)備啟動(dòng)主用Boot程序。
具體的,設(shè)備通過CPU片選信號(hào)CSO接入第一 Flash芯片,獲得第一 Flash芯片的主用Boot區(qū)中所存儲(chǔ)的主用Boot程序,以啟動(dòng)主用Boot程序。
步驟202,設(shè)備判斷主用Boot程序是否啟動(dòng)成功。
如果主用Boot程序啟動(dòng)成功,則執(zhí)行步驟203 ;如果主用Boot程序未啟動(dòng)成功, 則執(zhí)行步驟204。6
具體的,在啟動(dòng)主用Boot程序時(shí),設(shè)備利用邏輯定時(shí)器開始計(jì)時(shí);在獲知主用Boot程序啟動(dòng)成功時(shí),設(shè)備利用禁止邏輯定時(shí)器寄存器關(guān)閉邏輯定時(shí)器, 并確定主用Boot程序啟動(dòng)成功;在指定時(shí)間(如3分鐘)內(nèi)如果邏輯定時(shí)器未被禁止邏輯定時(shí)器寄存器關(guān)閉,則設(shè)備確定主用Boot程序未啟動(dòng)成功。
步驟203,設(shè)備確定Boot程序啟動(dòng)完成。
步驟204,設(shè)備啟動(dòng)備用Boot程序。
具體的,設(shè)備通過Boot程序片選切換寄存器控制CPU片選信號(hào)CSO接入第二 Flash芯片,獲得第二 Flash芯片的備用Boot區(qū)中所存儲(chǔ)的備用Boot程序,以啟動(dòng)備用 Boot程序。
步驟205,設(shè)備判斷備用Boot程序是否啟動(dòng)成功。
如果備用Boot程序啟動(dòng)成功,則執(zhí)行步驟203 ;如果備用Boot程序未啟動(dòng)成功, 則執(zhí)行步驟206。
具體的,在啟動(dòng)備用Boot程序時(shí),設(shè)備利用邏輯定時(shí)器開始計(jì)時(shí);在獲知備用Boot程序啟動(dòng)成功時(shí),設(shè)備利用禁止邏輯定時(shí)器寄存器關(guān)閉邏輯定時(shí)器, 并確定備用Boot程序啟動(dòng)成功;在指定時(shí)間(如3分鐘)內(nèi)如果邏輯定時(shí)器未被禁止邏輯定時(shí)器寄存器關(guān)閉,則設(shè)備確定備用Boot程序未啟動(dòng)成功。
步驟206,設(shè)備確定Boot程序啟動(dòng)失敗,后續(xù)維護(hù)等處理在此不再贅述。
本發(fā)明實(shí)施例中,第一 Flash芯片和/或第二 Flash芯片中存儲(chǔ)有主用Boot程序版本和備用Boot程序版本;在主用Boot程序啟動(dòng)成功時(shí),設(shè)備還需要檢測(cè)備用Boot區(qū)中是否存在備用Boot程序;如果不存在備用Boot程序,則設(shè)備利用主用Boot程序在備用Boot區(qū)中寫入備用Boot 程序;如果存在備用Boot程序,且主用Boot程序版本高于備用Boot程序版本,則設(shè)備利用主用Boot程序在備用Boot區(qū)中寫入備用Boot程序(即更新備用Boot區(qū)中的備用Boot程序)。
在備用Boot程序啟動(dòng)成功時(shí),設(shè)備還需要檢測(cè)主用Boot區(qū)中是否存在主用Boot 程序;如果不存在主用Boot程序,則設(shè)備利用備用Boot程序在主用Boot區(qū)中寫入主用 Boot程序;如果存在主用Boot程序,且備用Boot程序版本高于主用Boot程序版本,則設(shè)備利用備用Boot程序在主用Boot區(qū)中寫入主用Boot程序(即更新主用Boot區(qū)中的主用 Boot程序)。
綜上所述,本發(fā)明實(shí)施例中,通過主用Boot程序和備用Boot程序的備份機(jī)制,實(shí)現(xiàn)雙Boot程序的備份,能夠有效的防止Boot程序損壞導(dǎo)致設(shè)備不能啟動(dòng)的問題,保證Boot 程序啟動(dòng)的可靠性。
實(shí)施例二本發(fā)明實(shí)施例二提供一種Boot程序的備份方法,用在需要利用Boot程序啟動(dòng)的設(shè)備上,為了更加清楚的闡述本發(fā)明實(shí)施例提供的技術(shù)方案,以下結(jié)合具體的設(shè)計(jì)方式(即雙 Boot程序備份的設(shè)計(jì)方式)以及詳細(xì)的實(shí)現(xiàn)流程進(jìn)行進(jìn)一步的說(shuō)明。
(1)硬件電路設(shè)計(jì)。
如圖3所示的硬件電路設(shè)計(jì)示意圖,兩片F(xiàn)lash芯片(以FlashO和Flashl為例), 每片F(xiàn)lash芯片接入一個(gè)CPU片選信號(hào)(以CSO和CSl為例),兩個(gè)CPU片選信號(hào)經(jīng)過邏輯芯片與Flash芯片相連。在圖3中,CPU片選信號(hào)CSO經(jīng)過邏輯芯片與FlashO相連,CPU片選信號(hào)CSl經(jīng)過邏輯芯片與Flashl相連。
(2) Boot程序存儲(chǔ)設(shè)計(jì)。
如圖4所示的主/備用Boot程序存儲(chǔ)設(shè)計(jì)示意圖,每片F(xiàn)lash芯片中需要存儲(chǔ)一個(gè)Boot程序,以FlashO中存儲(chǔ)主用Boot程序,F(xiàn)lashl中存儲(chǔ)備用Boot程序?yàn)槔粚?duì)于 Flash芯片中的APP區(qū),本發(fā)明實(shí)施例中不再詳加說(shuō)明。
( 3 ) Boot程序版本設(shè)計(jì)。
如圖5所示的Boot程序版本設(shè)計(jì)示意圖,Boot程序版本區(qū)可以存儲(chǔ)在FlashO和 /或Flashl中,且Boot程序版本區(qū)分為主用Boot程序版本區(qū)和備用Boot程序版本區(qū),主用Boot程序版本區(qū)用于存儲(chǔ)主用Boot程序版本,備用Boot程序版本區(qū)用于存儲(chǔ)備用Boot 程序版本。
(4)邏輯芯片設(shè)計(jì)。
1、Flash芯片的片選信號(hào)設(shè)計(jì)。
在設(shè)備上電啟動(dòng)時(shí),默認(rèn)CPU片選信號(hào)CSO接入FlashO,CPU片選信號(hào)CSl接入 Flashl,如圖3所示。
當(dāng)主用Boot程序故障時(shí),由邏輯芯片實(shí)現(xiàn)片選切換功能,使得CPU片選信號(hào)CSO 接入Flashl,CPU片選信號(hào)CSl接入FlashO,如圖6所示,為片選切換時(shí)的邏輯芯片設(shè)計(jì)示意圖。
2、邏輯芯片中邏輯設(shè)計(jì)。
提供獲取主/備用Boot程序啟動(dòng)寄存器Regl,用于獲取當(dāng)前Boot程序是由主用 Boot程序啟動(dòng)還是由備用Boot程序啟動(dòng)。
提供3分鐘(該時(shí)間可根據(jù)實(shí)際情況進(jìn)行選擇)邏輯定時(shí)器Timer,用于檢測(cè)Boot 程序是否正常啟動(dòng)。
提供禁止邏輯定時(shí)器寄存器Reg2,在主/備用Boot程序啟動(dòng)后,關(guān)閉邏輯定時(shí)器 Timer,以表明Boot程序成功啟動(dòng)。
提供Boot程序片選切換寄存器Reg3,如果備用Boot程序需要啟動(dòng),則需要切換片選,該切換片選為Flashl和Flash2芯片上的片選信號(hào)互換。具體的,當(dāng)主用Boot程序沒有正常啟動(dòng)時(shí),則邏輯定時(shí)器Timer不會(huì)被禁止,在計(jì)時(shí)到達(dá)3分鐘后,則邏輯芯片實(shí)現(xiàn)片選切換功能,對(duì)設(shè)備進(jìn)行復(fù)位,且設(shè)備將從備用Boot程序啟動(dòng)。
基于上述分析,邏輯芯片中邏輯設(shè)計(jì)的情況可以如表1所示。
表1邏輯實(shí)現(xiàn)功能列表
權(quán)利要求
1.一種Boot程序的備份方法,其特征在于,包括啟動(dòng)主用Boot程序,并判斷所述主用Boot程序是否啟動(dòng)成功; 如果所述主用Boot程序啟動(dòng)成功,則確定Boot程序啟動(dòng)完成; 如果所述主用Boot程序未啟動(dòng)成功,則啟動(dòng)備用Boot程序,并判斷所述備用Boot程序是否啟動(dòng)成功;如果所述備用Boot程序啟動(dòng)成功,則確定Boot程序啟動(dòng)完成。
2.如權(quán)利要求1所述的方法,其特征在于,所述主用Boot程序存儲(chǔ)在第一 Flash芯片的主用Boot區(qū)中,所述備用Boot程序存儲(chǔ)在第二 Flash芯片的備用Boot區(qū)中;且,CPU片選信號(hào)CSO通過邏輯芯片接入所述第一 Flash芯片,CPU片選信號(hào)CSl通過所述邏輯芯片接入所述第二 Flash芯片;且,在啟動(dòng)所述主用Boot程序時(shí),通過所述邏輯芯片控制所述CPU片選信號(hào)CSO接入所述第一 Flash芯片,并在啟動(dòng)所述備用Boot程序時(shí),通過所述邏輯芯片實(shí)現(xiàn)片選切換功能,控制所述CPU片選信號(hào)CSO接入所述第二 Flash芯片;且,所述邏輯芯片提供用于檢測(cè)Boot程序是否啟動(dòng)成功的邏輯定時(shí)器,用于表明Boot程序啟動(dòng)成功的禁止邏輯定時(shí)器寄存器,用于實(shí)現(xiàn)片選切換功能的Boot程序片選切換寄存ο
3.如權(quán)利要求2所述的方法,其特征在于,啟動(dòng)主用Boot程序包括通過所述CPU片選信號(hào)CSO接入所述第一 Flash芯片,獲得所述第一 Flash芯片的主用Boot區(qū)中所存儲(chǔ)的主用Boot程序,以啟動(dòng)所述主用Boot程序。
4.如權(quán)利要求2所述的方法,其特征在于,判斷所述主用Boot程序是否啟動(dòng)成功包括在啟動(dòng)所述主用Boot程序時(shí),利用所述邏輯定時(shí)器開始計(jì)時(shí); 在獲知所述主用Boot程序啟動(dòng)成功時(shí),利用所述禁止邏輯定時(shí)器寄存器關(guān)閉所述邏輯定時(shí)器,并確定所述主用Boot程序啟動(dòng)成功;在指定時(shí)間內(nèi)如果所述邏輯定時(shí)器未被所述禁止邏輯定時(shí)器寄存器關(guān)閉,則確定所述主用Boot程序未啟動(dòng)成功。
5.如權(quán)利要求2所述的方法,其特征在于,啟動(dòng)備用Boot程序包括通過所述Boot程序片選切換寄存器控制所述CPU片選信號(hào)CSO接入所述第二 Flash 芯片,獲得所述第二 Flash芯片的備用Boot區(qū)中所存儲(chǔ)的備用Boot程序,以啟動(dòng)所述備用 Boot程序。
6.如權(quán)利要求2所述的方法,其特征在于,判斷所述備用Boot程序是否啟動(dòng)成功包括在啟動(dòng)所述備用Boot程序時(shí),利用所述邏輯定時(shí)器開始計(jì)時(shí); 在獲知所述備用Boot程序啟動(dòng)成功時(shí),利用所述禁止邏輯定時(shí)器寄存器關(guān)閉所述邏輯定時(shí)器,并確定所述備用Boot程序啟動(dòng)成功;在指定時(shí)間內(nèi)如果所述邏輯定時(shí)器未被所述禁止邏輯定時(shí)器寄存器關(guān)閉,則確定所述備用Boot程序未啟動(dòng)成功。
7.如權(quán)利要求2所述的方法,其特征在于,第一Flash芯片和/或第二 Flash芯片中存儲(chǔ)有主用Boot程序版本和備用Boot程序版本;在所述主用Boot程序啟動(dòng)成功時(shí),所述方法還包括檢測(cè)所述備用Boot區(qū)中是否存在備用Boot程序;如果不存在備用Boot程序,則利用所述主用Boot程序在所述備用Boot區(qū)中寫入備用 Boot程序;如果存在備用Boot程序,且主用Boot程序版本高于備用Boot程序版本,則利用所述主用Boot程序在所述備用Boot區(qū)中寫入備用Boot程序。
8.如權(quán)利要求2所述的方法,其特征在于,第一Flash芯片和/或第二 Flash芯片中存儲(chǔ)有主用Boot程序版本和備用Boot程序版本;在所述備用Boot程序啟動(dòng)成功時(shí),所述方法還包括檢測(cè)所述主用Boot區(qū)中是否存在主用Boot程序;如果不存在主用Boot程序,則利用所述備用Boot程序在所述主用Boot區(qū)中寫入主用 Boot程序;如果存在主用Boot程序,且備用Boot程序版本高于主用Boot程序版本,則利用所述備用Boot程序在所述主用Boot區(qū)中寫入主用Boot程序。
9.一種Boot程序的備份設(shè)備,其特征在于,包括 第一啟動(dòng)模塊,用于啟動(dòng)主用Boot程序;第一判斷模塊,用于判斷所述主用Boot程序是否啟動(dòng)成功;第一確定模塊,用于當(dāng)所述主用Boot程序啟動(dòng)成功時(shí),確定Boot程序啟動(dòng)完成;第二啟動(dòng)模塊,用于當(dāng)所述主用Boot程序未啟動(dòng)成功時(shí),啟動(dòng)備用Boot程序;第二判斷模塊,用于判斷所述備用Boot程序是否啟動(dòng)成功;第二確定模塊,用于當(dāng)所述備用Boot程序啟動(dòng)成功時(shí),確定Boot程序啟動(dòng)完成。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述主用Boot程序存儲(chǔ)在第一 Flash芯片的主用Boot區(qū)中,所述備用Boot程序存儲(chǔ)在第二 Flash芯片的備用Boot區(qū)中;且,CPU片選信號(hào)CSO通過邏輯芯片接入所述第一 Flash芯片,CPU片選信號(hào)CSl通過所述邏輯芯片接入所述第二 Flash芯片;且,在啟動(dòng)所述主用Boot程序時(shí),通過所述邏輯芯片控制所述CPU片選信號(hào)CSO接入所述第一 Flash芯片,并在啟動(dòng)所述備用Boot程序時(shí),通過所述邏輯芯片實(shí)現(xiàn)片選切換功能,控制所述CPU片選信號(hào)CSO接入所述第二 Flash芯片;且,所述邏輯芯片提供用于檢測(cè)Boot程序是否啟動(dòng)成功的邏輯定時(shí)器,用于表明Boot程序啟動(dòng)成功的禁止邏輯定時(shí)器寄存器,用于實(shí)現(xiàn)片選切換功能的Boot程序片選切換寄存ο
11.如權(quán)利要求10所述的設(shè)備,其特征在于,所述第一啟動(dòng)模塊,具體用于通過所述CPU片選信號(hào)CSO接入所述第一 Flash芯片,獲得所述第一 Flash芯片的主用Boot區(qū)中所存儲(chǔ)的主用Boot程序,以啟動(dòng)所述主用Boot程序。
12.如權(quán)利要求10所述的設(shè)備,其特征在于,所述第一判斷模塊,具體用于在啟動(dòng)所述主用Boot程序時(shí),利用所述邏輯定時(shí)器開始計(jì)時(shí);在獲知所述主用Boot程序啟動(dòng)成功時(shí),利用所述禁止邏輯定時(shí)器寄存器關(guān)閉所述邏輯定時(shí)器,并確定所述主用Boot程序啟動(dòng)成功;在指定時(shí)間內(nèi)如果所述邏輯定時(shí)器未被所述禁止邏輯定時(shí)器寄存器關(guān)閉,則確定所述主用Boot程序未啟動(dòng)成功。
13.如權(quán)利要求10所述的設(shè)備,其特征在于,所述第二啟動(dòng)模塊,具體用于通過所述Boot程序片選切換寄存器控制所述CPU片選信號(hào)CSO接入所述第二 Flash芯片,獲得所述第二 Flash芯片的備用Boot區(qū)中所存儲(chǔ)的備用 Boot程序,以啟動(dòng)所述備用Boot程序。
14.如權(quán)利要求10所述的設(shè)備,其特征在于,所述第二判斷模塊,具體用于在啟動(dòng)所述備用Boot程序時(shí),利用所述邏輯定時(shí)器開始計(jì)時(shí);在獲知所述備用Boot程序啟動(dòng)成功時(shí),利用所述禁止邏輯定時(shí)器寄存器關(guān)閉所述邏輯定時(shí)器,并確定所述備用Boot程序啟動(dòng)成功;在指定時(shí)間內(nèi)如果所述邏輯定時(shí)器未被所述禁止邏輯定時(shí)器寄存器關(guān)閉,則確定所述備用Boot程序未啟動(dòng)成功。
15.如權(quán)利要求10所述的設(shè)備,其特征在于,第一Flash芯片和/或第二 Flash芯片中存儲(chǔ)有主用Boot程序版本和備用Boot程序版本;所述第一確定模塊,還用于在所述主用Boot程序啟動(dòng)成功時(shí),檢測(cè)所述備用Boot區(qū)中是否存在備用Boot程序;如果不存在備用Boot程序,則利用所述主用Boot程序在所述備用Boot區(qū)中寫入備用 Boot程序;如果存在備用Boot程序,且主用Boot程序版本高于備用Boot程序版本,則利用所述主用Boot程序在所述備用Boot區(qū)中寫入備用Boot程序。
16.如權(quán)利要求10所述的設(shè)備,其特征在于,第一Flash芯片和/或第二 Flash芯片中存儲(chǔ)有主用Boot程序版本和備用Boot程序版本;所述第二確定模塊,還用于在所述備用Boot程序啟動(dòng)成功時(shí),檢測(cè)所述主用Boot區(qū)中是否存在主用Boot程序;如果不存在主用Boot程序,則利用所述備用Boot程序在所述主用Boot區(qū)中寫入主用 Boot程序;如果存在主用Boot程序,且備用Boot程序版本高于主用Boot程序版本,則利用所述備用Boot程序在所述主用Boot區(qū)中寫入主用Boot程序。
全文摘要
本發(fā)明公開了一種Boot程序的備份方法和設(shè)備,該方法包括啟動(dòng)主用Boot程序,并判斷所述主用Boot程序是否啟動(dòng)成功;如果所述主用Boot程序啟動(dòng)成功,則確定Boot程序啟動(dòng)完成;如果所述主用Boot程序未啟動(dòng)成功,則啟動(dòng)備用Boot程序,并判斷所述備用Boot程序是否啟動(dòng)成功;如果所述備用Boot程序啟動(dòng)成功,則確定Boot程序啟動(dòng)完成。本發(fā)明實(shí)施例中,通過主用Boot程序和備用Boot程序的備份機(jī)制,實(shí)現(xiàn)雙Boot程序的備份,能夠有效防止Boot程序損壞導(dǎo)致設(shè)備不能啟動(dòng)的問題,保證Boot程序啟動(dòng)的可靠性。
文檔編號(hào)G06F11/14GK102520979SQ20111037361
公開日2012年6月27日 申請(qǐng)日期2011年11月22日 優(yōu)先權(quán)日2011年11月22日
發(fā)明者李普軍 申請(qǐng)人:大唐移動(dòng)通信設(shè)備有限公司