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

一種雙BIOS固件的版本同步方法及電子設(shè)備與流程

文檔序號(hào):12119561閱讀:463來(lái)源:國(guó)知局
一種雙BIOS固件的版本同步方法及電子設(shè)備與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種雙BIOS固件的版本同步方法及電子設(shè)備。



背景技術(shù):

BIOS(Basic Input/Output System,基本輸入輸出系統(tǒng))全稱(chēng)是ROM-BIOS,是只讀存儲(chǔ)器基本輸入/輸出系統(tǒng)的簡(jiǎn)寫(xiě),它實(shí)際是一組被固化到計(jì)算機(jī)等電子設(shè)備中,為計(jì)算機(jī)設(shè)備提供最低級(jí)最直接的硬件控制的程序,它是連通軟件程序和硬件設(shè)備之間的樞紐,通俗地說(shuō),BIOS是硬件與軟件程序之間的一個(gè)“轉(zhuǎn)換器”或者說(shuō)是接口(雖然它本身也只是一個(gè)程序),負(fù)責(zé)解決硬件的即時(shí)要求,并按軟件對(duì)硬件的操作要求具體執(zhí)行。

通常,計(jì)算機(jī)系統(tǒng)啟動(dòng)后,需要通過(guò)BIOS來(lái)引導(dǎo)系統(tǒng),其中,BIOS包含用于系統(tǒng)自檢和控制鍵盤(pán)、顯示、磁盤(pán)驅(qū)動(dòng)器、串行通信以及其他功能的代碼。當(dāng)BIOS執(zhí)行完成后,BIOS再?gòu)拇疟P(pán)中加載操作系統(tǒng),由于目前的BIOS通常存儲(chǔ)在可重復(fù)擦寫(xiě)的ROM,如閃存(flash memory)中,因此當(dāng)BIOS出現(xiàn)故障或異常時(shí),系統(tǒng)就無(wú)法正常啟動(dòng),因而會(huì)嚴(yán)重影響整個(gè)系統(tǒng)的可靠運(yùn)行。為了避免這種情況的發(fā)生,通常做法是在單板上設(shè)計(jì)系統(tǒng)BIOS的備份,當(dāng)主BIOS出現(xiàn)故障無(wú)法啟動(dòng)時(shí),利用外部控制邏輯模塊來(lái)激活備份BIOS,從而實(shí)現(xiàn)主備BIOS的切換,保證系統(tǒng)能正常啟動(dòng)。

因?yàn)橥獠靠刂七壿嬆K切換主備BIOS方式是通過(guò)尋址的方式或者片選的方式實(shí)現(xiàn)的,所以主備BIOS無(wú)法在系統(tǒng)中共存,由于主BIOS具有在線(xiàn)升級(jí)的功能,而備用BIOS只能被手動(dòng)升級(jí),當(dāng)電子設(shè)備某一次啟動(dòng)時(shí),主BIOS掛死,就會(huì)切換到備用BIOS啟動(dòng)設(shè)備,因?yàn)閭溆肂IOS的版本可能是比主用BIOS的版本低,就會(huì)造成設(shè)備帶著缺陷在運(yùn)行。

綜上,現(xiàn)有的電子設(shè)備BIOS固件切換方法存在主備BIOS版本不一致的問(wèn)題,主備BIOS發(fā)生切換之后,設(shè)備可能運(yùn)行在較低的版本上,影響整個(gè)系統(tǒng)的可靠性。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供一種雙BIOS固件的版本同步方法及電子設(shè)備,該方法可以保證電子設(shè)備的兩個(gè)BIOS固件的版本保持同步,當(dāng)BIOS固件發(fā)生切換后,電子設(shè)備啟動(dòng)程序不會(huì)發(fā)生倒退。

本發(fā)明方法包括一種雙BIOS固件的版本同步方法,該方法包括:

當(dāng)電子設(shè)備上電后,所述電子設(shè)備的中央處理器CPU根據(jù)控制電路發(fā)送的第一控制信號(hào),通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片中獲取第一BIOS程序,以啟動(dòng)所電子設(shè)備,所述第一BIOS程序?yàn)樗龅谝淮鎯?chǔ)芯片在所述電子設(shè)備正常運(yùn)行時(shí)升級(jí)BIOS之后的程序;

當(dāng)所述電子設(shè)備啟動(dòng)成功后,所述CPU通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的所述第一BIOS程序燒錄至第二存儲(chǔ)芯片,以使所述第二存儲(chǔ)芯片中的第二BIOS程序與所述第一BIOS程序一致。

基于同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例進(jìn)一步地提供一種電子設(shè)備,所述設(shè)備包括:中央處理器CPU、第一存儲(chǔ)芯片、第二存儲(chǔ)芯片、控制電路;

所述第一存儲(chǔ)芯片通過(guò)第一數(shù)據(jù)總線(xiàn)與所述CPU通信,所述第二存儲(chǔ)芯片通過(guò)第二數(shù)據(jù)總線(xiàn)與所述CPU通信、所述CPU通過(guò)通用輸入輸出GPIO接口與所述控制電路通信;

所述CPU,用于當(dāng)電子設(shè)備上電后,根據(jù)控制電路發(fā)送的第一控制信號(hào),通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片中獲取第一BIOS程序,以啟動(dòng)所電子設(shè)備,所述第一BIOS程序?yàn)樗龅谝淮鎯?chǔ)芯片在所述電子設(shè)備正常運(yùn)行時(shí)升級(jí)完成之后的程序;當(dāng)所述電子設(shè)備啟動(dòng)成功后,通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的第一BIOS程序燒錄至第二存儲(chǔ)芯片,以使所述第二存儲(chǔ)芯片中的第二BIOS程序與所述第一BIOS程序一致。

本發(fā)明實(shí)施例通過(guò)使用兩個(gè)存儲(chǔ)芯片,并預(yù)先在每個(gè)存儲(chǔ)芯片上加載同樣的BIOS程序,第一存儲(chǔ)芯片通過(guò)第一數(shù)據(jù)總線(xiàn)與CPU通信,第二存儲(chǔ)芯片通過(guò)第二數(shù)據(jù)總線(xiàn)與CPU通信,這樣,第一存儲(chǔ)芯片和第二存儲(chǔ)芯片就可以共存在系統(tǒng)中,當(dāng)?shù)谝淮鎯?chǔ)芯片完成BIOS程序升級(jí)后,電子設(shè)備重啟,當(dāng)電子設(shè)備重新上電后,CPU通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片獲取升級(jí)后的BIOS程序,然后通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的BIOS程序燒錄至第二存儲(chǔ)芯片中,以使所述第二存儲(chǔ)芯片中的BIOS程序與所述第一存儲(chǔ)芯片中的BIOS程序一致。可見(jiàn),即便第一存儲(chǔ)芯片內(nèi)的BIOS程序發(fā)生了升級(jí),第二存儲(chǔ)芯片也能夠采用該方法與第一存儲(chǔ)芯片的BIOS程序的版本保持一致,這樣,即便電子設(shè)備后續(xù)因?yàn)閱?dòng)失敗發(fā)生BIOS切換,也不會(huì)發(fā)生切換之后版本不一致的問(wèn)題,從而保證了電子設(shè)備系統(tǒng)運(yùn)行的可靠性。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的電子設(shè)備結(jié)構(gòu)組成部分示意圖;

圖2為本發(fā)明實(shí)施例提供的雙BIOS固件的版本同步方法流程示意圖;

圖3為本發(fā)明實(shí)施例提供的雙BIOS固件的版本同步步驟流程示意圖;

圖4為本發(fā)明實(shí)施例提供的電子設(shè)備異常開(kāi)機(jī)流程示意圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部份實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

由于現(xiàn)有的主備BIOS發(fā)生切換的機(jī)制是通過(guò)片選或者尋址的方式切換的,主BIOS和備BIOS分別被存儲(chǔ)在各個(gè)FLASH芯片中,這一機(jī)制就造成電子設(shè)備每次上電之后,在運(yùn)行過(guò)程中,CPU通過(guò)一根數(shù)據(jù)總線(xiàn)與FLASH芯片通信,因此只有一個(gè)FLASH芯片存活在系統(tǒng)中,即電子設(shè)備的CPU從第一FLASH芯片中加載BIOS程序,或者從第二FLASH芯片中加載BIOS程序,CPU不能在電子設(shè)備當(dāng)前運(yùn)行過(guò)程中既操作第一FLASH芯片又操作第二FLASH芯片。為了解決這一問(wèn)題,本發(fā)明實(shí)施例改進(jìn)了FLASH芯片與CPU的通信方法,即本發(fā)明實(shí)施例在電子設(shè)備中仍然有兩個(gè)存儲(chǔ)芯片,第一存儲(chǔ)芯片通過(guò)第一數(shù)據(jù)總線(xiàn)與CPU通信,第二存儲(chǔ)芯片通過(guò)第二數(shù)據(jù)總線(xiàn)與CPU通信,這樣就可以保證第一存儲(chǔ)芯片和第二存儲(chǔ)芯片共存在系統(tǒng)中。改進(jìn)之后的電路結(jié)構(gòu)如圖1所示,包括CPU101、MCU102、電源模塊103、控制命令生成單元104、第一存儲(chǔ)芯片105、第二存儲(chǔ)芯片106,控制電路107(圖中虛線(xiàn)框內(nèi)的電路),其中:

MCU102,用于控制電子設(shè)備的上電和下電,與CPU通過(guò)數(shù)據(jù)總線(xiàn)或者其它總線(xiàn)互相傳遞信息。

控制命令生成單元104,用于根據(jù)MCU102發(fā)送的指令生成第一控制信號(hào)或者第二控制信號(hào)。

電源模塊103,用于提供系統(tǒng)各路電源輸出以及邏輯時(shí)序;

第一存儲(chǔ)芯片105,用于存放BIOS程序的SPI FLASH芯片。

第二存儲(chǔ)芯片106,用于存放BIOS程序以及系統(tǒng)文件的EMMC FLASH芯片。

具體地,所述第一存儲(chǔ)芯片105通過(guò)第一數(shù)據(jù)總線(xiàn)與所述CPU通信,所述第二存儲(chǔ)芯片106通過(guò)第二數(shù)據(jù)總線(xiàn)與所述CPU101通信、所述CPU101通過(guò)通用輸入輸出GPIO接口與所述控制電路通信,

CPU101,用于當(dāng)電子設(shè)備上電后,根據(jù)控制電路發(fā)送的第一控制信號(hào),通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片中獲取第一BIOS程序,以啟動(dòng)所電子設(shè)備,所述第一BIOS程序?yàn)樗龅谝淮鎯?chǔ)芯片在所述電子設(shè)備正常運(yùn)行時(shí)升級(jí)完成之后的程序;當(dāng)所述電子設(shè)備啟動(dòng)成功后,通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的第一BIOS程序燒錄至第二存儲(chǔ)芯片,以使所述第二存儲(chǔ)芯片中的第二BIOS程序與所述第一BIOS程序一致。

其中,所述控制電路107包括單片機(jī)MCU102和控制命令生成單元104,所述MCU102與所述控制命令生成單元104連接;

所述MCU102,用于在所述電子設(shè)備上電后,控制所述控制命令生成單元104按照默認(rèn)設(shè)置輸出所述第一控制信號(hào)給所述CPU101;

所述MCU102,還用于在檢測(cè)到所述CPU101生成的啟動(dòng)失敗消息時(shí),控制所述控制命令生成單元104輸出所述第二控制信號(hào)給所述CPU101,所述啟動(dòng)失敗消息是在所述電子設(shè)備啟動(dòng)失敗后生成的。

當(dāng)控制命令生成單元104向CPU101輸入高電平時(shí),所述CPU,還用于根據(jù)所述第二控制信號(hào),通過(guò)所述第二數(shù)據(jù)總線(xiàn)從所述第二存儲(chǔ)芯片中加載所述第二BIOS程序,以啟動(dòng)所述電子設(shè)備。

在圖1中,第一存儲(chǔ)芯片105和第二存儲(chǔ)芯片106各通過(guò)一組數(shù)據(jù)總線(xiàn)掛在CPU101下面,然后MCU102通過(guò)GPIO(通用輸入輸出)接口與CPU101進(jìn)行通信,同時(shí)MCU102與電源模塊103連接,可以通過(guò)上電信號(hào)和下電信號(hào)控制電源模塊的開(kāi)啟和關(guān)閉。MCU102還與控制命令生成單元104連接,通過(guò)向控制命令生成單元104發(fā)送第一指令使得控制命令生成單元104輸出高電平,通過(guò)向控制命令生成單元104發(fā)送第二控制信號(hào)使得控制命令生成單元104輸出低電平。

因?yàn)殡娮釉O(shè)備的上述連接方式,第一存儲(chǔ)芯片105和第二存儲(chǔ)芯片106可以共存于系統(tǒng)中,所述CPU101可以在第一存儲(chǔ)芯片105升級(jí)之后及時(shí)將第二存儲(chǔ)芯片106進(jìn)行升級(jí),保持升級(jí)之后的版本同步,具體地,所述CPU101,用于在電子設(shè)備正常運(yùn)行時(shí),通過(guò)所述第一數(shù)據(jù)總線(xiàn)對(duì)所述第一存儲(chǔ)芯片進(jìn)行BIOS程序升級(jí),并在升級(jí)完成后重啟所述電子設(shè)備;當(dāng)所述電子設(shè)備重新上電后,所述CPU101,用于通過(guò)所述第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片獲取升級(jí)后的BIOS程序;CPU101通過(guò)所述第二數(shù)據(jù)總線(xiàn)將獲取的BIOS程序燒錄至所述第二存儲(chǔ)芯片,以使所述第二存儲(chǔ)芯片中的BIOS程序與所述第一存儲(chǔ)芯片中的BIOS程序一致。可見(jiàn),通過(guò)這種升級(jí)方法即便電子設(shè)備后續(xù)因?yàn)閱?dòng)失敗發(fā)生BIOS切換,也不會(huì)發(fā)生切換之后版本不一致的問(wèn)題,從而保證了電子設(shè)備系統(tǒng)運(yùn)行的可靠性。

進(jìn)一步地,MCU102和控制命令生成單元104構(gòu)成了控制電路107,在所述CPU通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的BIOS程序燒錄至第二存儲(chǔ)芯片之后,控制電路107用于當(dāng)所述電子設(shè)備重新上電后,向所述CPU101發(fā)送第一控制信號(hào),觸發(fā)所述CPU101通過(guò)所述第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片中加載BIOS程序,以啟動(dòng)所述電子設(shè)備;若所述電子設(shè)備啟動(dòng)失敗,所述CPU101生成啟動(dòng)失敗消息,所述MCU102檢測(cè)到所述CPU101啟動(dòng)失敗,所述MCU102控制所述控制命令生成單元104輸出所述第二控制信號(hào),然后觸發(fā)所述CPU101通過(guò)所述第二數(shù)據(jù)總線(xiàn)從所述第二存儲(chǔ)芯片中加載BIOS程序,以啟動(dòng)所述電子設(shè)備。也就是說(shuō),當(dāng)電子設(shè)備在開(kāi)機(jī)過(guò)程中發(fā)生啟動(dòng)異常進(jìn)切換,以保證電子設(shè)備進(jìn)行正常開(kāi)機(jī)。

其中,所述第一控制信號(hào)是所述控制命令生成單元104根據(jù)所述MCU102發(fā)送的第一切換指令生成的高電平信號(hào);所述第二控制信號(hào)是所述控制命令生成單元104根據(jù)所述MCU102發(fā)送的第二切換指令生成的低電平信號(hào)。

當(dāng)電子設(shè)備發(fā)生異常開(kāi)機(jī)時(shí),意味著第一存儲(chǔ)芯片105中BIOS程序發(fā)生故障,因此,所述CPU101,還用于根據(jù)MCU102發(fā)送的燒錄指令,通過(guò)所述第二數(shù)據(jù)總線(xiàn)從所述第二存儲(chǔ)芯片106獲取所述第二BIOS程序,通過(guò)所述第一數(shù)據(jù)總線(xiàn)將從所述第二BIOS程序燒錄至所述第一存儲(chǔ)芯片105,以恢復(fù)所述第一存儲(chǔ)芯片中的BIOS程序。因?yàn)榈谝淮鎯?chǔ)芯片105和第二存儲(chǔ)芯片106不存在主備關(guān)系,所述相互之間可以互相備份,進(jìn)一步地保證電子設(shè)備系統(tǒng)的可靠性和穩(wěn)定性。

另外,所述電子設(shè)備還包括報(bào)警模塊108,報(bào)警模塊108用于在當(dāng)MCU102循環(huán)檢測(cè)CPU發(fā)出的Sequence Flag(序列標(biāo)識(shí))信號(hào),在設(shè)定的時(shí)間范圍內(nèi)一直為低電平時(shí),報(bào)警模塊108啟動(dòng)超時(shí)報(bào)警,提示硬件故障。另外,當(dāng)MCU102循環(huán)檢測(cè)CPU101發(fā)出的Boot OK(正常啟動(dòng))信號(hào)在設(shè)定的時(shí)間范圍內(nèi)一直為低電平時(shí),報(bào)警模塊108啟動(dòng)超時(shí)報(bào)警,并切換BIOS。

基于圖1所示的電子設(shè)備,本發(fā)明實(shí)施例提供一種雙BIOS固件的版本同步方法流程示意圖,參見(jiàn)圖2所示,具體地實(shí)現(xiàn)方法包括:

步驟S101,當(dāng)電子設(shè)備上電后,所述電子設(shè)備的CPU根據(jù)控制電路發(fā)送的第一控制信號(hào),通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片中獲取第一BIOS程序,以啟動(dòng)所電子設(shè)備,所述第一BIOS程序?yàn)樗龅谝淮鎯?chǔ)芯片在所述電子設(shè)備正常運(yùn)行時(shí)升級(jí)BIOS之后的程序。

步驟S102,當(dāng)所述電子設(shè)備啟動(dòng)成功后,所述CPU通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的所述第一BIOS程序燒錄至第二存儲(chǔ)芯片,以使所述第二存儲(chǔ)芯片中的第二BIOS程序與所述第一BIOS程序一致。

也就是說(shuō),電子設(shè)備正常運(yùn)行時(shí),CPU通過(guò)第一數(shù)據(jù)總線(xiàn)對(duì)第一存儲(chǔ)芯片進(jìn)行BIOS程序升級(jí),并在升級(jí)完成后重啟所述電子設(shè)備,當(dāng)所述電子設(shè)備重新上電后,CPU通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片獲取升級(jí)后的BIOS程序,然后,CPU通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的BIOS程序燒錄至第二存儲(chǔ)芯片中,這樣第二存儲(chǔ)芯片中的BIOS程序就與第一存儲(chǔ)芯片中的BIOS程序保持一致了。

為了更加系統(tǒng)描述上述雙BIOS固件的版本同步過(guò)程,本發(fā)明實(shí)施例進(jìn)一步地提供流程圖3,并結(jié)合圖1中的各個(gè)單元進(jìn)行詳細(xì)闡述,具體如下:

步驟S201,電子設(shè)備在正常運(yùn)行時(shí),電子設(shè)備的CPU利用第三方程序主動(dòng)對(duì)第一存儲(chǔ)芯片105進(jìn)行BIOS升級(jí),同時(shí)CPU向MCU發(fā)送請(qǐng)求Update Reques(更新信息);

步驟S202,MCU接收請(qǐng)求更新信息后,將燒錄標(biāo)志位置為1,該燒錄標(biāo)志用于指示將第一存儲(chǔ)芯片的第一BIOS程序燒錄至所述第二存儲(chǔ)芯片;

步驟S203,當(dāng)CPU檢測(cè)到第一存儲(chǔ)芯片105升級(jí)完成后,通知電源模塊103重啟;

步驟S204,電子設(shè)備MCU初始化完成后,向電源模塊傳遞Power ON(上電)信號(hào),開(kāi)啟系統(tǒng)電源模塊;同時(shí)向控制命令生成單元104發(fā)送指令,使控制命令生成單元104默認(rèn)輸出高電平狀態(tài)。CPU上電檢測(cè)到高電平輸入;則通過(guò)第一數(shù)據(jù)總線(xiàn)從SPI Flash加載BIOS程序。

步驟S205,電子設(shè)備從SPI Flash加載完BIOS程序后,電子設(shè)備的MCU循環(huán)檢測(cè)CPU發(fā)出的Sequence Flag(硬件序列)信號(hào)是否為高電平。若在設(shè)定的時(shí)間范圍內(nèi)一直為低電平,則啟動(dòng)超時(shí)報(bào)警模塊108,提示硬件故障,流程結(jié)束;反之,若檢測(cè)到Sequence Flag信號(hào)為高,則進(jìn)入步驟S205;

步驟S206,MCU循環(huán)檢測(cè)CPU發(fā)出的Boot OK(開(kāi)機(jī)啟動(dòng))信號(hào)是否為高電平。若在設(shè)定的時(shí)間范圍內(nèi)一直為低電平,則啟動(dòng)超時(shí)報(bào)警模塊108,并啟動(dòng)異常開(kāi)機(jī)流程;反之,若檢測(cè)到Boot OK信號(hào)為高電平,則證明升級(jí)后的第一BIOS無(wú)故障,電子設(shè)備已正常開(kāi)機(jī),則進(jìn)入步驟S206;

步驟S207,MCU檢測(cè)內(nèi)部寄存器燒錄標(biāo)志位被置為“1”則MCU向CPU發(fā)送Burn IN(燒錄)指令;

步驟S208,CPU收到Burn IN指令后,則將第一存儲(chǔ)芯片105存儲(chǔ)的BIOS文件燒錄至第二存儲(chǔ)芯片106。燒錄完成后,CPU傳遞Burn OK(燒錄完成)指令給MCU。

步驟S209,MCU收到CPU發(fā)送過(guò)來(lái)的Burn OK(燒錄完成)指令后,將燒錄標(biāo)志位重置為“0”,流程結(jié)束。

可見(jiàn),通過(guò)上述步驟就可以保證在升級(jí)第一存儲(chǔ)芯片105的同時(shí),也對(duì)第二存儲(chǔ)芯片106進(jìn)行升級(jí),第一存儲(chǔ)芯片105中的BIOS程序和第二存儲(chǔ)芯片106中BIOS程序能夠始終保持版本一致,這樣即使電子設(shè)備后續(xù)因?yàn)閱?dòng)失敗發(fā)生BIOS切換,也不會(huì)存在發(fā)生切換之后版本倒退的問(wèn)題。

進(jìn)一步地,若在上述步驟S206中,MCU循環(huán)檢測(cè)CPU發(fā)出的Boot OK(開(kāi)機(jī)啟動(dòng))信號(hào)為低電平,則證明所述電子設(shè)備利用第一BIOS程序啟動(dòng)失敗,所述CPU生成啟動(dòng)失敗消息,所述MCU檢測(cè)到所述CPU啟動(dòng)失敗,因此啟動(dòng)異常開(kāi)機(jī)流程,即所述電子設(shè)備重新上電,所述MCU控制所述控制命令生成單元104輸出所述第二控制信號(hào),所述CPU根據(jù)所述控制電路發(fā)送的第二控制信號(hào),通過(guò)所述第二數(shù)據(jù)總線(xiàn)從所述第二存儲(chǔ)芯片中加載所述第二BIOS程序,以啟動(dòng)所述電子設(shè)備。

具體地,本發(fā)明實(shí)施例通過(guò)提供圖4所示的異常開(kāi)機(jī)流程圖進(jìn)行詳細(xì)闡述,圖4包含步驟如下:

步驟S301,當(dāng)MCU循環(huán)檢測(cè)CPU發(fā)出的Boot OK(開(kāi)機(jī)啟動(dòng))信號(hào)為低電平時(shí),MCU通過(guò)Power Off(下電)以及Power ON(上電)信號(hào),重啟電源模塊(將電子設(shè)備重啟),同時(shí)向控制命令生成單元104發(fā)送指令,使控制命令生成單元104輸出低電平狀態(tài)。同時(shí)將燒錄標(biāo)志位置“1”,該燒錄標(biāo)志用于指示CPU將所述第二存儲(chǔ)芯片的第二BIOS程序燒錄至所述第一存儲(chǔ)芯片。

步驟S302,CPU重新上電檢測(cè)到低電平輸入信號(hào);則通過(guò)第二數(shù)據(jù)總線(xiàn)從EMMC Flash加載第二BIOS程序。

步驟S303,MCU循環(huán)檢測(cè)CPU發(fā)出的Sequence Flag信號(hào)是否為高電平。若在設(shè)定的時(shí)間范圍內(nèi)一直為低電平,則啟動(dòng)超時(shí)報(bào)警模塊108,提示硬件故障,流程結(jié)束;反之,若檢測(cè)到Sequence Flag信號(hào)為高電平,則進(jìn)入步驟S304。

步驟S304,MCU循環(huán)檢測(cè)CPU發(fā)出的Boot OK信號(hào)是否為高電平。若在設(shè)定的時(shí)間范圍內(nèi)一直為低,則啟動(dòng)超時(shí)報(bào)警模塊,提示第二存儲(chǔ)芯片中的BIOS程序也發(fā)生故障,流程結(jié)束;反之,若檢測(cè)到Boot OK信號(hào)為高電平,則進(jìn)入步驟S305。

步驟S305,MCU檢測(cè)內(nèi)部寄存器燒錄標(biāo)志位已被置為“1”,則MCU向CPU發(fā)送Burn IN的燒錄指令。

步驟S306,CPU收到Burn IN的燒錄指令后,則將第二存儲(chǔ)芯片中存儲(chǔ)的BIOS程序燒錄至第一存儲(chǔ)芯片,以恢復(fù)第一存儲(chǔ)芯片中的BIOS程序。燒錄完成后,CPU傳遞Burn OK信息給MCU。

步驟S307,MCU收到CPU發(fā)送過(guò)來(lái)的Burn OK信號(hào)后,將燒錄標(biāo)志位重置為“0”,流程結(jié)束。

綜上,本發(fā)明實(shí)施例通過(guò)使用兩個(gè)存儲(chǔ)芯片,并預(yù)先在每個(gè)存儲(chǔ)芯片上加載同樣的BIOS程序,第一存儲(chǔ)芯片通過(guò)第一數(shù)據(jù)總線(xiàn)與CPU通信,第二存儲(chǔ)芯片通過(guò)第二數(shù)據(jù)總線(xiàn)與CPU通信,這樣,第一存儲(chǔ)芯片和第二存儲(chǔ)芯片就可以共存在系統(tǒng)中,當(dāng)?shù)谝淮鎯?chǔ)芯片完成BIOS程序升級(jí)后,電子設(shè)備重啟,當(dāng)電子設(shè)備重新上電后,CPU通過(guò)第一數(shù)據(jù)總線(xiàn)從所述第一存儲(chǔ)芯片獲取升級(jí)后的BIOS程序,然后通過(guò)第二數(shù)據(jù)總線(xiàn)將獲取的BIOS程序燒錄至第二存儲(chǔ)芯片中,以使所述第二存儲(chǔ)芯片中的BIOS程序與所述第一存儲(chǔ)芯片中的BIOS程序一致??梢?jiàn),即便第一存儲(chǔ)芯片內(nèi)的BIOS程序發(fā)生了升級(jí),第二存儲(chǔ)芯片也能夠采用該方法與第一存儲(chǔ)芯片的BIOS程序的版本保持一致,這樣,即便電子設(shè)備后續(xù)因?yàn)閱?dòng)失敗發(fā)生BIOS切換,也不會(huì)發(fā)生切換之后版本不一致的問(wèn)題,從而保證了電子設(shè)備系統(tǒng)運(yùn)行的可靠性,另外,因?yàn)榈谝淮鎯?chǔ)芯片和第二存儲(chǔ)芯片之間不再區(qū)分主備關(guān)系,可以互相備份,當(dāng)其中一個(gè)存儲(chǔ)芯片中的BIOS程序發(fā)生異常時(shí)可以得到及時(shí)恢復(fù)。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1