亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種芯片固件升級方法

文檔序號:6557703閱讀:1171來源:國知局
專利名稱:一種芯片固件升級方法
技術(shù)領(lǐng)域
本發(fā)明涉及芯片技術(shù)領(lǐng)域,尤其涉及一種無需重啟操作系統(tǒng)的芯片固件升級方法。
背景技術(shù)
眾所周知,芯片中由于存在固件,因此存在兩種工作狀態(tài),及正常工作狀態(tài)和固件升級狀態(tài)。而芯片固件是存儲在芯片內(nèi)部非易失性存儲區(qū)域中的軟件部分,其本身是軟件,但由于固化到芯片的非易失性存儲區(qū)域(Flash/EEPROM等)中,通常稱為固件“Firmware”。
這些非易失性存儲區(qū)域在芯片制造時就集成到芯片內(nèi)部,而芯片應(yīng)用是通常焊接在應(yīng)用設(shè)備上,因此,芯片的固件升級既不能通過燒錄器直接燒錄升級固件,也不能通過專用的芯片開發(fā)板來升級固件,只能開發(fā)軟件升級工具(例如,用軟盤中的軟件工具刷寫B(tài)IOS)來完成芯片的固件升級。
目前,公知的有許多利用軟件來升級設(shè)備固件程序的方法。圖1顯示了利用軟件升級工具對芯片固件升級的示意圖。如圖1所示,芯片2與計算機(jī)平臺1綁定,并且成一一對應(yīng)關(guān)系。在芯片制造時,芯片中留存有升級通信的軟件接口(未顯示),從而,計算機(jī)平臺上的主機(jī)軟件即可通過該接口對芯片內(nèi)部的芯片固件進(jìn)行升級。
但是,上述方法在實施之后,都需要重啟操作系統(tǒng)(計算機(jī))才能正常使用升級后的固件,這對于操作系統(tǒng)的使用方面是很不方便的,尤其是對于服務(wù)器等不方便重啟的平臺而言。因為這些服務(wù)器通常都需要不間斷的使用,如果僅僅為了升級固件程序就重啟系統(tǒng)是不劃算的,因此有必要設(shè)計一種新的芯片固件升級方法,從而避免芯片固件升級后的系統(tǒng)重啟。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種無需重啟操作系統(tǒng)的芯片固件升級方法。
根據(jù)本發(fā)明的目的,提供一種芯片固件升級方法,用于對芯片中的芯片固件進(jìn)行升級,包括保存芯片的工作狀態(tài);獲取固件包,并對芯片固件進(jìn)行升級;以及將芯片恢復(fù)到該保存的工作狀態(tài)。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,該芯片的工作狀態(tài)保存在芯片的預(yù)定的非易失性存儲區(qū)域中。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,該芯片的工作狀態(tài)包括所有能夠重建該芯片的工作狀態(tài)的寄存器值。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,該固件包包括新增加的固件功能、或?qū)υ碳δ艿膬?yōu)化、或修改原芯片固件的bug。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,根據(jù)與芯片綁定的客戶端主機(jī)發(fā)出的指令,保存芯片的工作狀態(tài)。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,在保存芯片的工作狀態(tài)之前,進(jìn)一步驗證來自客戶端主機(jī)的指令是否具有合法性。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,從客戶端的光驅(qū)、軟驅(qū)、硬盤或因特網(wǎng)絡(luò)獲取固件包。
根據(jù)本發(fā)明提供的芯片固件升級方法的另一方面,其中,在對芯片固件進(jìn)行升級之前,進(jìn)一步驗證獲取的固件包的合法性。
本發(fā)明的有益效果是根據(jù)本發(fā)明提供的一種無需重啟操作系統(tǒng)的芯片固件的軟件升級方法,利用軟件升級工具就可以從客戶端對芯片進(jìn)行現(xiàn)場固件升級,并且在芯片固件升級后可以立即正常使用,而無需重新啟動操作系統(tǒng)。并且,還可進(jìn)一步保證實現(xiàn)芯片固件升級的安全性。


圖1顯示了依照利用軟件升級工具對芯片固件升級的示意圖;圖2顯示了依照本發(fā)明的芯片內(nèi)部模塊圖;圖3顯示了依照本發(fā)明的芯片固件升級方法的流程圖。
具體實施例方式
圖2顯示了依照本發(fā)明的芯片內(nèi)部模塊圖。
如圖2所示,依照本發(fā)明的客戶端(計算機(jī)、或服務(wù)器、或手持移動設(shè)備等)的芯片2包括接口21和非易失性存儲器(Flash/EEPROM等)22,該非易失性存儲器22包括固件區(qū)域和數(shù)據(jù)區(qū)域兩部分,該固件區(qū)域用于存儲芯片2的固件,數(shù)據(jù)區(qū)域用于在芯片2處于固件升級狀態(tài)時存儲芯片升級固件前的工作狀態(tài)。同時,在本實施例中,非易失性存儲器22的固件區(qū)域進(jìn)一步包括固件升級控制程序,用于控制芯片的固件升級。應(yīng)理解的是,該固件升級控制程序也可以被存儲在芯片2的其它存儲區(qū)域中。
同時,客戶端主機(jī)中安裝了對芯片固件升級的軟件工具,該軟件工具包含向芯片2發(fā)送固件升級指令、固件升級包以及與芯片2交換固件升級控制信號的功能。
其中,該芯片2的接口21與客戶端主機(jī)相連,在主機(jī)運行上述軟件工具對芯片固件進(jìn)行升級時(例如,用軟盤中的軟件工具刷寫B(tài)IOS),芯片2中的固件升級控制程序根據(jù)客戶端主機(jī)中軟件工具的指令,將芯片固件升級前的芯片工作狀態(tài)存儲在非易失性存儲器12的數(shù)據(jù)區(qū)域中,對非易失性存儲器12中的固件進(jìn)行升級,并在固件升級后,將芯片1恢復(fù)到芯片升級前的工作狀態(tài),從而確保芯片固件升級后可立即正常使用,無需重啟操作系統(tǒng)。
下面,將詳細(xì)說明本發(fā)明的固件升級方法的流程。
圖3顯示了依照本發(fā)明的芯片固件升級方法的流程圖,該方法包括步驟如下步驟1運行客戶端主機(jī)中的軟件工具(例如操作者在計算機(jī)上運行軟件工具刷寫B(tài)IOS),向處于正常工作狀態(tài)的芯片2發(fā)送固件升級指令。
步驟2芯片2中的固件升級控制程序通過接口21檢測到來自主機(jī)的固件升級指令后,判斷是否為升級芯片固件的指示;如果該指令不是升級芯片固件的指示,則本發(fā)明的芯片固件升級方法直接進(jìn)行到步驟7,即芯片1進(jìn)入工作狀態(tài),換句話說,該芯片1繼續(xù)保持其工作狀態(tài),如果該指令是升級芯片固件的指示,則進(jìn)入步驟3。
步驟3在接收到該升級芯片固件的指示之后,該芯片2中的固件升級控制程序?qū)⒃撔酒?此時的工作狀態(tài)(升級前的工作狀態(tài)),保存在預(yù)定的非易失性存儲器22的數(shù)據(jù)區(qū)域中,包括所有能夠重建該芯片2的正常工作狀態(tài)的寄存器值等,同時固件升級控制程序通過接口21向主機(jī)發(fā)送已準(zhǔn)備好固件升級的信號,且芯片2進(jìn)入固件升級狀態(tài),準(zhǔn)備接收新的固件。
步驟4主機(jī)接收到已準(zhǔn)備好固件升級的信號后,從主機(jī)的光驅(qū)、軟驅(qū)、硬盤或因特網(wǎng)絡(luò)等位置,獲得芯片固件開發(fā)商提供的固件包,該固件包包括新增加的固件功能、或?qū)υ泄碳δ艿膬?yōu)化、或修改原芯片固件的bug等,之后,主機(jī)向芯片2的接口21發(fā)送新的升級固件包。
步驟5該固件升級程序根據(jù)接口21獲得的新的升級固件包,對原芯片固件執(zhí)行升級操作,即將新的升級固件替換掉存放在非易失性存儲器22的固件區(qū)域中的原固件。
步驟6該固件升級控制程序根據(jù)非易失性存儲器22的數(shù)據(jù)區(qū)域中存儲的芯片升級前的工作狀態(tài),將芯片2恢復(fù)到升級前工作狀態(tài),即還原升級后固件的上述寄存器值,重新建立固件升級前的工作狀態(tài),同時通過接口21向主機(jī)發(fā)送固件升級成功信號。
步驟7在上述執(zhí)行的步驟1-6的基礎(chǔ)上,該芯片1立即進(jìn)入正常工作狀態(tài),從而無需重啟操作系統(tǒng)(計算機(jī))。
因此,根據(jù)上述本發(fā)明提供的芯片固件升級方法,通過保存芯片的工作狀態(tài),利用開發(fā)商提供的固件包,對存儲在芯片非易失性存儲區(qū)域(非易失性存儲器22)中的固件進(jìn)行升級,在恢復(fù)為升級前的工作狀態(tài)后,立即使用升級后的固件,從而無需重啟操作系統(tǒng)。
此外,在上述圖3所示的固件升級方法的流程的基礎(chǔ)上,本發(fā)明提供的芯片固件升級方法還可進(jìn)一步在步驟2中執(zhí)行如下操作芯片2的接口21接收到來自主機(jī)的固件升級指令后,驗證來自主機(jī)的指令是否具有合法性,即驗證主機(jī)的用戶是否有權(quán)進(jìn)行固件升級;并在判斷來自主機(jī)的指令具有合法性后,判斷是否為升級芯片固件的指示,從而執(zhí)行后續(xù)步驟。
而且,在步驟4中,本發(fā)明提供的芯片固件升級方法也可以進(jìn)一步驗證從計算機(jī)的光驅(qū)、軟驅(qū)、硬盤或因特網(wǎng)絡(luò)等位置輸入的固件包的合法性,例如驗證固件包是由特定的開發(fā)商提供,或者驗證固件包符合預(yù)定的類型、版本、或安全等要求,之后根據(jù)合法的固件包進(jìn)行固件升級。
從而,本發(fā)明提供的芯片固件升級方法可進(jìn)一步保證實現(xiàn)芯片固件升級的安全性。
綜上所述,根據(jù)本發(fā)明提供的無需重啟操作系統(tǒng)的芯片固件的軟件升級方法,客戶端只需要運行軟件工具就可以進(jìn)行芯片固件的現(xiàn)場升級,并且升級完成后芯片可立即投入使用,無需要重啟操作系統(tǒng)。并且,還可進(jìn)一步保證實現(xiàn)芯片固件升級的安全性。
對該技術(shù)領(lǐng)域的普通技術(shù)人員來說,根據(jù)以上實施方式可以很容易的聯(lián)想到其他的優(yōu)點和變形。因此,本發(fā)明并不局限于上述具體實施例,其僅僅作為例子對本發(fā)明的一種形態(tài)進(jìn)行詳細(xì)、示范性的說明。在不背離本發(fā)明宗旨的范圍內(nèi),本領(lǐng)域普通技術(shù)人員可以根據(jù)上述具體實施例通過各種等同替換所得到的技術(shù)方案,但是這些技術(shù)方案均應(yīng)該包含在本發(fā)明的權(quán)利要求的范圍及其等同的范圍之內(nèi)。
權(quán)利要求
1.一種芯片固件升級方法,用于對芯片中的芯片固件進(jìn)行升級,包括步驟保存芯片的工作狀態(tài);獲取固件包,并對芯片固件進(jìn)行升級;以及將芯片恢復(fù)到該保存的工作狀態(tài)。
2.一種如權(quán)利要求1所述的芯片固件升級方法,其中,該芯片的工作狀態(tài)保存在該芯片的預(yù)定的非易失性存儲區(qū)域中。
3.一種如權(quán)利要求2所述的芯片固件升級方法,其中,該芯片的工作狀態(tài)包括所有能夠重建該芯片的工作狀態(tài)的寄存器值。
4.一種如權(quán)利要求3所述的芯片固件升級方法,其中,該固件包包括新增加的固件功能、或?qū)υ碳δ艿膬?yōu)化、或修改原芯片固件的bug。
5.一種如權(quán)利要求4所述的芯片固件升級方法,其中,根據(jù)與芯片綁定的客戶端主機(jī)發(fā)出的指令,保存芯片的工作狀態(tài)。
6.一種如權(quán)利要求5所述的芯片固件升級方法,其中,在保存芯片的工作狀態(tài)之前,進(jìn)一步驗證來自客戶端主機(jī)的指令是否具有合法性。
7.一種如權(quán)利要求6所述的芯片固件升級方法,其中,從客戶端的光驅(qū)、軟驅(qū)、硬盤或因特網(wǎng)絡(luò)獲取固件包。
8.一種如權(quán)利要求7所述的芯片固件升級方法,其中,在對芯片固件進(jìn)行升級之前,進(jìn)一步驗證獲取的固件包的合法性。
全文摘要
本發(fā)明涉及一種芯片固件升級方法,用于對芯片中的芯片固件進(jìn)行升級,包括保存芯片的工作狀態(tài);獲取固件包,并對芯片固件進(jìn)行升級;以及將芯片恢復(fù)到該保存的工作狀態(tài)。從而可以從客戶端對芯片進(jìn)行現(xiàn)場固件升級,并且在芯片固件升級后可以立即正常使用,而無需重新啟動操作系統(tǒng)。
文檔編號G06F11/36GK101046749SQ20061006706
公開日2007年10月3日 申請日期2006年3月31日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者呂淵, 陳軍, 毛興中, 謝巍 申請人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1