亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于單個(gè)flash存儲芯片的雙啟動(dòng)方法

文檔序號:6398793閱讀:285來源:國知局
專利名稱:基于單個(gè)flash存儲芯片的雙啟動(dòng)方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式系統(tǒng),具體涉及基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法。
背景技術(shù)
在嵌入式系統(tǒng)中,設(shè)備的BOOT程序通常存放在FLASH存儲芯片的最尾端,用于上電時(shí)啟動(dòng)和引導(dǎo)系統(tǒng)。一旦BOOT程序數(shù)據(jù)被損壞,系統(tǒng)將無法啟動(dòng),這種結(jié)果對高可靠性系統(tǒng)來說是不可接受的。為了實(shí)現(xiàn)高可靠性系統(tǒng)對BOOT啟動(dòng)程序的要求,目前業(yè)界的做法是使用兩個(gè)片選連接兩個(gè)FLASH存儲芯片,當(dāng)一個(gè)FLASH存儲芯片上的BOOT出現(xiàn)故障時(shí),自動(dòng)通過片選切換到另外一個(gè)FLASH存儲芯片的BOOT啟動(dòng)系統(tǒng),以此來增強(qiáng)系統(tǒng)的可靠性。但是,上述方案需要使用兩個(gè)片選和兩個(gè)FLASH存儲芯片,每個(gè)FLASH存儲芯片分別存放一個(gè)BOOT啟動(dòng)程序。存在以下缺陷:(I)不僅增加了成本,而且增加了嵌入式設(shè)備的PCB板的體積,尤其是針對一些對嵌入式設(shè)備體積和成本有嚴(yán)格要求的產(chǎn)品。(2)對片選資源少的處理器而言,使用兩個(gè)片選會造成處理器片選資源緊張,對系統(tǒng)選型有限制,這也會制約兩個(gè)片選方案的應(yīng)用領(lǐng)域和范圍。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是解決采用雙FLASH存儲芯片BOOT啟動(dòng)的嵌入式系統(tǒng)成本高、體積大和系統(tǒng)資源消耗多的問題。為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是提供一種基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,包括以下步驟:在FLASH存儲芯片的不同位置上分別存儲有主用BOOT和備用BOOT,CPU的地址線通過CPLD邏輯模塊與FLASH存儲芯片的地址線連接;CPLD邏輯模塊上設(shè)有啟動(dòng)成功標(biāo)志寄存器,所述啟動(dòng)成功標(biāo)志寄存器根據(jù)主用BOOT或備用BOOT啟動(dòng)是否成功進(jìn)行相應(yīng)的置位;CPLD邏輯模塊根據(jù)所述啟動(dòng)成功標(biāo)志寄存器的狀態(tài)進(jìn)行主用BOOT和備用BOOT輪轉(zhuǎn),如果是從主用BOOT啟動(dòng),則將CPU地址信息透傳給FLASH存儲芯片,并從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng);如果是從備用BOOT啟動(dòng),則根據(jù)備用BOOT程序在FLASH存儲器中的位置鎖住相應(yīng)的地址線,并從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng)。在上述方法中,CPLD邏輯模塊上還設(shè)有啟動(dòng)BOOT位置標(biāo)志寄存器,系統(tǒng)根據(jù)所述啟動(dòng)BOOT的位置標(biāo)志寄存器的狀態(tài),進(jìn)行BOOT軟件升級備份。在上述方法中,系統(tǒng)啟動(dòng)成功后,將CPU地址信息透傳給FLASH存儲芯片,系統(tǒng)上電或者復(fù)位后默認(rèn)為從主用BOOT啟動(dòng)。在上述方法中,利用邏輯狗定期檢查啟動(dòng)成功標(biāo)志。在上述方法中,CPLD邏輯模塊根據(jù)啟動(dòng)成功標(biāo)志寄存器的狀態(tài)進(jìn)行主用BOOT和備用BOOT輪轉(zhuǎn)包括以下步驟:步驟101、系統(tǒng)上電或者復(fù)位;步驟102、啟動(dòng)邏輯狗,用于監(jiān)測CPU是否啟動(dòng)成功;步驟103、讀取CPLD上的啟動(dòng)BOOT位置標(biāo)志;步驟104、判斷是否為從主用BOOT啟動(dòng),如果是則轉(zhuǎn)步驟105 ;否則轉(zhuǎn)步驟111 ;步驟105、CPLD邏輯模塊將處理器地址透傳給FLASH存儲芯片;步驟106、從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng);步驟107、監(jiān)測CPU是否啟動(dòng)成功,如果系統(tǒng)啟動(dòng)成功,則轉(zhuǎn)步驟113 ;否則轉(zhuǎn)步驟108 ;步驟108、判斷邏輯狗是否超時(shí),如果超時(shí)則轉(zhuǎn)步驟110 ;否則,轉(zhuǎn)步驟109 ;步驟109、判斷是否有硬復(fù)位請求,如果有則轉(zhuǎn)步驟102 ;否則轉(zhuǎn)步驟110 ;步驟110、復(fù)位系統(tǒng),主用BOOT和備用BOOT輪轉(zhuǎn),如果輪轉(zhuǎn)為從備用BOOT啟動(dòng),則將啟動(dòng)BOOT位置標(biāo)志設(shè)置為從備用BOOT啟動(dòng),如果輪轉(zhuǎn)為從備用BOOT啟動(dòng),則將啟動(dòng)BOOT位置標(biāo)志設(shè)置為主備用BOOT啟動(dòng),轉(zhuǎn)步驟103 ;步驟111、判斷是否為從備用BOOT啟動(dòng),如果是則轉(zhuǎn)步驟112 ;否則輸出報(bào)警,啟動(dòng)結(jié)束;步驟112、CPLD邏輯模塊根據(jù)備用BOOT程序在FLASH存儲器中的位置鎖住相應(yīng)的地址線,并從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng);轉(zhuǎn)步驟107 ;步驟113、判斷是否為王用BOOT啟動(dòng)成功;如果是,則設(shè)直啟動(dòng)成功標(biāo)志為王用BOOT啟動(dòng)成功,轉(zhuǎn)步驟113,否則設(shè)置啟動(dòng)成功標(biāo)志為備用BOOT啟動(dòng)成功,轉(zhuǎn)步驟114 ;步驟114、CPLD將處理器的地址透傳給FLASH存儲芯片;步驟115、判斷是否有硬復(fù)位請求,根據(jù)是否有硬件復(fù)位請求而做出處理,如果有則轉(zhuǎn)步驟102,否則關(guān)閉邏輯狗,系統(tǒng)啟動(dòng)過程正常完成。在上述方法中,BOOT程序升級和備份包括以下步驟:步驟201、BOOT啟動(dòng)成功后設(shè)置相應(yīng)的啟動(dòng)BOOT位置標(biāo)志;步驟202、根據(jù)啟動(dòng)BOOT位置標(biāo)志判斷是否為主用BOOT啟動(dòng),如果是主用BOOT啟動(dòng)成功則轉(zhuǎn)步驟203,如果是備用BOOT啟動(dòng)成功則轉(zhuǎn)步驟205,否則輸出報(bào)警并結(jié)束;步驟203、判斷主用BOOT是否滿足自動(dòng)本地升級條件,如果滿足則轉(zhuǎn)步驟204,否則轉(zhuǎn)步驟205 ;步驟204、判斷主用BOOT是否與待升級的程序一致,如果二者一致說明不需要升級,轉(zhuǎn)步驟210 ;否則升級主用BOOT并復(fù)位系統(tǒng);步驟205、修復(fù)主用BOOT ;步驟206、判斷主用BOOT是否修復(fù)成功,如果修復(fù)成功,則復(fù)位系統(tǒng);否則轉(zhuǎn)步驟207 ;步驟207、啟動(dòng)操作系統(tǒng);步驟208、判斷是否從主用BOOT引導(dǎo),如果是則停止邏輯狗,轉(zhuǎn)步驟210,否則轉(zhuǎn)步驟 209 ;步驟209、判斷是否從備用BOOT引導(dǎo),如果是則轉(zhuǎn)步驟210,否則報(bào)警,結(jié)束升級和備份流程;
步驟210、修復(fù)主用Β00Τ,轉(zhuǎn)步驟212 ;步驟211、判斷主用BOOT和備用BOOT是否一致,如果一致則結(jié)束升級和備份流程,否則更新備用Β00Τ,結(jié)束升級和備份流程,若更新備用后主備不一致,則輸出報(bào)警,結(jié)束升級和備份流程;若主備BOOT —致則結(jié)束升級和備份流程;步驟212、判斷主用BOOT是否修復(fù)成功,如果修復(fù)成功,則復(fù)位系統(tǒng);否則輸出報(bào)警,結(jié)束升級和備份流程。本發(fā)明,只采用一片F(xiàn)LASH存儲芯片來實(shí)現(xiàn)雙啟動(dòng)功能,解決了使用雙FLASH實(shí)現(xiàn)雙啟動(dòng)方案所具有的成本高、體積大和系統(tǒng)資源消耗多的問題;而且在不增加硬件成本的基礎(chǔ)上,解決了常用的單啟動(dòng)方案的可靠性差的問題。


圖1為本發(fā)明中單個(gè)FLASH存儲芯片的雙啟動(dòng)硬件結(jié)構(gòu)示意圖;圖2為本發(fā)明提供的方法流程圖;圖3為本發(fā)明提供的方法中BOOT程序升級和備份流程圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明作出詳細(xì)的說明。如圖1所示,本發(fā)明提供的基于單個(gè)FLASH存儲芯片的雙啟動(dòng)實(shí)現(xiàn)方法中,在FLASH存儲芯片的不同位置上分別存儲有主用BOOT和備用BOOT (—般的作法是存儲在FLASH存儲芯片的尾部),CPU的地址線通過CPLD邏輯模塊與FLASH存儲芯片的地址線連接。CPLD邏輯模塊實(shí)現(xiàn)兩種功能,一是將CPU地址信息透傳給FLASH存儲芯片,以實(shí)現(xiàn)從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng)(默認(rèn)情況下),二是根據(jù)備用BOOT程序在FLASH存儲器中的位置鎖住相應(yīng)的地址線,以實(shí)現(xiàn)從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng)(當(dāng)主用BOOT引導(dǎo)失敗,輪換為備用BOOT時(shí))。CPLD邏輯模塊上設(shè)有兩個(gè)標(biāo)志寄存器:啟動(dòng)成功標(biāo)志和啟動(dòng)BOOT位置標(biāo)志,其中,啟動(dòng)成功標(biāo)志可讀可寫,BOOT成功啟動(dòng)后設(shè)置為有效,CPLD根據(jù)此標(biāo)志判斷系統(tǒng)啟動(dòng)是否成功和是否需要進(jìn)行啟動(dòng)切換;啟動(dòng)BOOT位置標(biāo)志為只讀,用來指定鎖住地址,同時(shí),此標(biāo)志還用于BOOT軟件升級備份,系統(tǒng)根據(jù)啟動(dòng)BOOT的位置標(biāo)志寄存器的狀態(tài),進(jìn)行BOOT軟件升級備份。如圖2所示,上述基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,包括以下步驟:步驟101、系統(tǒng)上電或者復(fù)位;步驟102、啟動(dòng)邏輯狗,用于監(jiān)測CPU是否啟動(dòng)成功;步驟103、讀取CPLD上的啟動(dòng)BOOT位置標(biāo)志;步驟104、判斷是否為從主用BOOT啟動(dòng),如果是則轉(zhuǎn)步驟105 ;否則轉(zhuǎn)步驟111 ;步驟105、CPLD邏輯模塊將處理器地址透傳給FLASH存儲芯片;步驟106、從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng);步驟107、利用邏輯狗定期檢查啟動(dòng)成功標(biāo)志,監(jiān)測CPU是否啟動(dòng)成功,如果系統(tǒng)啟動(dòng)成功,則轉(zhuǎn)步驟113 ;否則轉(zhuǎn)步驟108 ;步驟108、判斷邏輯狗是否超時(shí)(本實(shí)施方式中設(shè)定的超時(shí)時(shí)限是10秒,時(shí)限值可根據(jù)系統(tǒng)需要靈活設(shè)置),如果超時(shí)則轉(zhuǎn)步驟Iio ;否則,轉(zhuǎn)步驟109 ;
步驟109、判斷是否有硬復(fù)位請求,如果有則轉(zhuǎn)步驟102 ;否則轉(zhuǎn)步驟110 ;步驟110、CPLD輸出復(fù)位電平復(fù)位整個(gè)系統(tǒng),并根據(jù)乒乓算法啟動(dòng)主用BOOT和備用BOOT輪轉(zhuǎn),選擇一個(gè)BOOT啟動(dòng),乒乓算法是CPLD邏輯編程中常用的算法,通過此算法可以循環(huán)生成O和1,根據(jù)O和I就可以對應(yīng)的選擇主用BOOT和備用Β00Τ,如果輪轉(zhuǎn)為從備用BOOT啟動(dòng),則將啟動(dòng)BOOT位置標(biāo)志設(shè)置為從備用BOOT啟動(dòng),如果輪轉(zhuǎn)為從備用BOOT啟動(dòng),則將啟動(dòng)BOOT位置標(biāo)志設(shè)置為主備用BOOT啟動(dòng);轉(zhuǎn)步驟103 ;步驟111、判斷是否為從備用BOOT啟動(dòng),如果是則轉(zhuǎn)步驟112 ;否則輸出報(bào)警,啟動(dòng)結(jié)束;步驟112、CPLD邏輯模塊根據(jù)備用BOOT程序在FLASH存儲器中的位置鎖住相應(yīng)的地址線(可以根據(jù)需要鎖定一根或者多根地址線),并從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng);轉(zhuǎn)步驟107 ;步驟113、判斷是否為王用BOOT啟動(dòng)成功;如果是,則設(shè)直啟動(dòng)成功標(biāo)志為王用BOOT啟動(dòng)成功,轉(zhuǎn)步驟113,否則設(shè)置啟動(dòng)成功標(biāo)志為備用BOOT啟動(dòng)成功,轉(zhuǎn)步驟114 ;步驟114、CPLD將處理器的地址透傳給FLASH存儲芯片;步驟115、判斷是否有硬復(fù)位請求,根據(jù)是否有硬件復(fù)位請求而做出處理,如果有則轉(zhuǎn)步驟102,否則關(guān)閉邏輯狗,系統(tǒng)啟動(dòng)過程正常完成。系統(tǒng)啟動(dòng)成功后,CPLD 一定要將處理器地址透傳給FLASH存儲芯片,否則會造成操作混亂。如圖3所示,上述基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法中,BOOT程序升級和備份包括以下步驟:步驟201、系統(tǒng)上電或復(fù)位,BOOT啟動(dòng)成功后設(shè)置相應(yīng)的啟動(dòng)BOOT位置標(biāo)志;步驟202、根據(jù)啟動(dòng)BOOT位置標(biāo)志判斷是主用BOOT啟動(dòng)成功還是備用BOOT啟動(dòng)成功,如果是主用BOOT啟動(dòng)成功則轉(zhuǎn)步驟203,如果是備用BOOT啟動(dòng)成功則轉(zhuǎn)步驟205,否則輸出報(bào)警并結(jié)束;步驟203、判斷主用BOOT是否滿足自動(dòng)本地升級條件,如果滿足則轉(zhuǎn)步驟204,否則轉(zhuǎn)步驟207 ;步驟204、判斷主用BOOT是否與待升級的程序一致,如果二者一致說明不需要升級,轉(zhuǎn)步驟207 ;否則升級主用BOOT并復(fù)位系統(tǒng);步驟205、修復(fù)主用BOOT ;步驟206、判斷主用BOOT是否修復(fù)成功,如果修復(fù)成功,則復(fù)位系統(tǒng);否則轉(zhuǎn)步驟207 ;步驟207、啟動(dòng)操作系統(tǒng);步驟208、判斷是否從主用BOOT引導(dǎo),如果是則停止邏輯狗,轉(zhuǎn)步驟212,否則轉(zhuǎn)步驟 209 ;步驟209、判斷是否從備用BOOT引導(dǎo),如果是則轉(zhuǎn)步驟210,否則報(bào)警,結(jié)束升級和備份流程;步驟210、修復(fù)主用Β00Τ,轉(zhuǎn)步驟211 ;步驟211、判斷主用BOOT是否修復(fù)成功,如果修復(fù)成功,則復(fù)位系統(tǒng);否則報(bào)警,結(jié)束升級和備份流程;
步驟212、判斷主用BOOT和備用BOOT是否一致,如果一致則升級和備份結(jié)束,否則更新備用Β00Τ,升級和備份結(jié)束,若更新備用后主備不一致,則輸出報(bào)警,結(jié)束升級和備份流程。本發(fā)明不局限于上述最佳實(shí)施方式,任何人應(yīng)該得知在本發(fā)明的啟示下作出的結(jié)構(gòu)變化,凡是與本發(fā)明具有相同或相近的技術(shù)方案,均落入本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,其特征在于,包括以下步驟: 在FLASH存儲芯片的不同位置上分別存儲有主用BOOT和備用BOOT,CPU的地址線通過CPLD邏輯模塊與FLASH存儲芯片的地址線連接; CPLD邏輯模塊上設(shè)有啟動(dòng)成功標(biāo)志寄存器,所述啟動(dòng)成功標(biāo)志寄存器根據(jù)主用BOOT或備用BOOT啟動(dòng)是否成功進(jìn)行相應(yīng)的置位; CPLD邏輯模塊根據(jù)所述啟動(dòng)成功標(biāo)志寄存器的狀態(tài)進(jìn)行主用BOOT和備用BOOT輪轉(zhuǎn),如果需要從主用BOOT啟動(dòng),則將CPU地址信息透傳給FLASH存儲芯片,并從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng);如果需要從備用BOOT啟動(dòng),則根據(jù)備用BOOT程序在FLASH存儲器中的位置鎖住相應(yīng)的地址線,并從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng)。
2.如權(quán)利要求1所述的基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,其特征在于,CPLD邏輯模塊上還設(shè)有啟動(dòng)BOOT位置標(biāo)志寄存器,系統(tǒng)根據(jù)所述啟動(dòng)BOOT的位置標(biāo)志寄存器的狀態(tài),進(jìn)行BOOT軟件升級備份。
3.如權(quán)利要求1所述的基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,其特征在于,系統(tǒng)啟動(dòng)成功后,將CPU地址信息透傳給FLASH存儲芯片,系統(tǒng)上電或者復(fù)位后默認(rèn)為從主用BOOT啟動(dòng)。
4.如權(quán)利要求1所述的基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,其特征在于,利用邏輯狗定期檢查啟動(dòng)成功標(biāo)志。
5.如權(quán)利要求1所述的基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,其特征在于,CPLD邏輯模塊根據(jù)啟動(dòng)成功標(biāo)志寄存器的狀態(tài)進(jìn)行主用BOOT和備用BOOT輪轉(zhuǎn)包括以下步驟: 步驟101、系統(tǒng)上電或者復(fù)位; 步驟102、啟動(dòng)邏輯狗,用于監(jiān)測CPU是否啟動(dòng)成功; 步驟103、讀取CPLD上的啟動(dòng)BOOT位置標(biāo)志; 步驟104、判斷是否為從主用BOOT啟動(dòng),如果是則轉(zhuǎn)步驟105 ;否則轉(zhuǎn)步驟111 ; 步驟105、CPLD邏輯模塊將處理器地址透傳給FLASH存儲芯片; 步驟106、從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng); 步驟107、監(jiān)測CPU是否啟動(dòng)成功,如果系統(tǒng)啟動(dòng)成功,則轉(zhuǎn)步驟113 ;否則轉(zhuǎn)步驟108 ; 步驟108、判斷邏輯狗是否超時(shí),如果超時(shí)則轉(zhuǎn)步驟110 ;否則,轉(zhuǎn)步驟109 ; 步驟109、判斷是否有硬復(fù)位請求,如果有則轉(zhuǎn)步驟102 ;否則轉(zhuǎn)步驟110 ; 步驟110、復(fù)位系統(tǒng),主用BOOT和備用BOOT輪轉(zhuǎn),如果輪轉(zhuǎn)為從備用BOOT啟動(dòng),則將啟動(dòng)BOOT位置標(biāo)志設(shè)置為從備用BOOT啟動(dòng),如果輪轉(zhuǎn)為從備用BOOT啟動(dòng),則將啟動(dòng)BOOT位置標(biāo)志設(shè)置為主備用BOOT啟動(dòng),轉(zhuǎn)步驟103 ; 步驟111、判斷是否為從備用BOOT啟動(dòng),如果是則轉(zhuǎn)步驟112 ;否則輸出報(bào)警,啟動(dòng)結(jié)束; 步驟112、CPLD邏輯模塊根據(jù)備用BOOT程序在FLASH存儲器中的位置鎖住相應(yīng)的地址線,并從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng);轉(zhuǎn)步驟107 ; 步驟113、判斷是否為主用BOOT啟動(dòng)成功;如果是,則設(shè)置啟動(dòng)成功標(biāo)志為主用BOOT啟動(dòng)成功,轉(zhuǎn)步驟113,否則設(shè)置啟動(dòng)成功標(biāo)志為備用BOOT啟動(dòng)成功,轉(zhuǎn)步驟114 ; 步驟114、CPLD將處理器的地址透傳給FLASH存儲芯片; 步驟115、判斷是否有硬復(fù)位請求,根據(jù)是否有硬件復(fù)位請求而做出處理,如果有則轉(zhuǎn)步驟102,否則關(guān)閉邏輯狗,系統(tǒng)啟動(dòng)過程正常完成。
6.如權(quán)利要求1所述的基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,其特征在于,BOOT程序升級和備份包括以下步驟: 步驟201、系統(tǒng)上電或復(fù)位,BOOT啟動(dòng)成功后設(shè)置相應(yīng)的啟動(dòng)BOOT位置標(biāo)志; 步驟202、根據(jù)啟動(dòng)BOOT位置標(biāo)志判斷是主用BOOT啟動(dòng)成功還是備用BOOT啟動(dòng)成功,如果是主用BOOT啟動(dòng)成功則轉(zhuǎn)步驟203,如果是備用BOOT啟動(dòng)成功則轉(zhuǎn)步驟205,否則輸出報(bào)警并結(jié)束; 步驟203、判斷主用BOOT是否滿足自動(dòng)本地升級條件,如果滿足則轉(zhuǎn)步驟204,否則轉(zhuǎn)步驟207 ; 步驟204、判斷主用BOOT是否與待升級的程序一致,如果二者一致說明不需要升級,轉(zhuǎn)步驟207 ;否則升級主用BOOT并復(fù)位系統(tǒng); 步驟205、修復(fù)主用BOOT ; 步驟206、判斷主用BOOT是否修復(fù)成功,如果修復(fù)成功,則復(fù)位系統(tǒng);否則轉(zhuǎn)步驟207 ; 步驟207、啟動(dòng)操作系統(tǒng); 步驟208、判斷是否從主用BOOT引導(dǎo),如果是則停止邏輯狗,轉(zhuǎn)步驟212,否則轉(zhuǎn)步驟.209 ; 步驟209、判斷是否從備用BOOT引導(dǎo),如果是則轉(zhuǎn)步驟210,否則報(bào)警,結(jié)束升級和備份流程; 步驟210、修復(fù)主用BOOT,轉(zhuǎn)步驟211 ; 步驟211、判斷主用BOOT是否修復(fù)成功,如果修復(fù)成功,則復(fù)位系統(tǒng);否則報(bào)警,結(jié)束升級和備份流程; 步驟212、判斷主用BOOT和備用BOOT是否一致,如果一致則升級和備份結(jié)束,否則更新備用BOOT,升級和備份結(jié)束,若更新備用后主備不一致,則輸出報(bào)警,結(jié)束升級和備份流程。
全文摘要
本發(fā)明公開了一種基于單個(gè)FLASH存儲芯片的雙啟動(dòng)方法,包括以下步驟在存儲芯片的不同位置上分別存儲有主用和備用BOOT,CPU的地址線通過CPLD邏輯模塊與存儲芯片的地址線連接;CPLD邏輯模塊上設(shè)有啟動(dòng)成功標(biāo)志寄存器,啟動(dòng)成功標(biāo)志寄存器根據(jù)主用或備用BOOT啟動(dòng)是否成功進(jìn)行相應(yīng)的置位;CPLD邏輯模塊根據(jù)啟動(dòng)成功標(biāo)志寄存器的狀態(tài)進(jìn)行主用和備用BOOT輪轉(zhuǎn),如果是從主用BOOT啟動(dòng),則將CPU地址信息透傳給存儲芯片,并從主用BOOT引導(dǎo)系統(tǒng)啟動(dòng);如果是從備用BOOT啟動(dòng),則根據(jù)備用BOOT程序在存儲器中的位置鎖住相應(yīng)的地址線,并從備用BOOT引導(dǎo)系統(tǒng)啟動(dòng)。本發(fā)明,只采用一片存儲芯片實(shí)現(xiàn)雙啟動(dòng)功能,解決了使用雙FLASH成本高、體積大和系統(tǒng)資源消耗多的問題。
文檔編號G06F9/445GK103116511SQ201310034458
公開日2013年5月22日 申請日期2013年1月29日 優(yōu)先權(quán)日2013年1月29日
發(fā)明者劉勇剛, 胡勝強(qiáng), 李傳寶, 陳俊強(qiáng) 申請人:烽火通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1