電子設備系統(tǒng)啟動方法和電子設備的制作方法
【專利摘要】本發(fā)明提供了一種電子設備系統(tǒng)啟動方法,所述方法包括:運行引導程序,并通過所述引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息;根據所述啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功;若是,則通過所述引導程序置所述啟動狀態(tài)標志位信息為初始值,從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息;若否,則從所述存儲介質啟動電子設備備份系統(tǒng)。本發(fā)明提供的電子設備系統(tǒng)啟動方法可以保證即使電子設備系統(tǒng)損壞也能夠進入備份系統(tǒng)而正常工作。本發(fā)明還提供了一種電子設備。
【專利說明】電子設備系統(tǒng)啟動方法和電子設備
【技術領域】
[0001 ] 本發(fā)明涉及電子設備【技術領域】,特別是涉及一種電子設備系統(tǒng)啟動方法和電子設備。
【背景技術】
[0002]傳統(tǒng)的電子設備,比如路由器,其應用越來越豐富,很多用戶會主動采用固件升級的方式來升級電子設備系統(tǒng),從而讓電子設備的功能更全面,性能更穩(wěn)定。然而,采用固件升級的方式升級電子設備系統(tǒng)時,往往會因為供電不穩(wěn)定、斷電或者是其它非法內存操作等因素而導致電子設備系統(tǒng)被破壞,使得電子設備不能夠正常使用。
[0003]當電子設備系統(tǒng)被破壞后,通常需要返廠維修。當然對于設置有網絡接口的路由器來說,用戶可以使用計算機有線連接路由器,通過計算機有線設置靜態(tài)IPdnternetProtocol,互聯(lián)網協(xié)議)地址來對路由器進行固件升級,但該方法的便捷性不強,需要用戶具備一定的計算機使用技能;況且并非所有電子設備都設置有網絡接口,該方法通用性不強。
【發(fā)明內容】
[0004]基于此,有必要針對目前電子設備會因電子設備系統(tǒng)被破壞而無法使用的問題,提供一種電子設備系統(tǒng)啟動方法和電子設備。
[0005]一種電子設備系統(tǒng)啟動方法,所述方法包括:
[0006]運行引導程序,并通過所述引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息;
[0007]根據所述啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功;
[0008]若是,則通過所述引導程序置所述啟動狀態(tài)標志位信息為初始值,從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息;
[0009]若否,則從所述存儲介質啟動電子設備備份系統(tǒng)。
[0010]一種電子設備,包括:
[0011]引導模塊,用于運行引導程序,并通過所述引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息;
[0012]判斷模塊,用于根據所述啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功;
[0013]第一判斷結果處理模塊,用于若判定前一次啟動電子設備系統(tǒng)成功,則通過所述引導程序置所述啟動狀態(tài)標志位信息為初始值,從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息;
[0014]第二判斷結果處理模塊,用于若判定前一次啟動電子設備系統(tǒng)失敗,則從所述存儲介質啟動電子設備備份系統(tǒng)。
[0015]上述電子設備系統(tǒng)啟動方法和電子設備,先通過運行的引導程序獲取啟動狀態(tài)標志位信息,根據該啟動狀態(tài)標志位信息來判斷前一次啟動電子設備系統(tǒng)是否成功,從而可以檢查出電子設備系統(tǒng)是否損壞。當判定前一次啟動失敗時就啟動電子設備備份系統(tǒng),這樣可以保證即使電子設備系統(tǒng)損壞也能夠進入備份系統(tǒng)而正常工作。而當判定前一次啟動成功時,則通過引導程序置所述啟動狀態(tài)標志位信息為初始值,再進行本次啟動電子設備系統(tǒng)的操作,并根據本次啟動結果修改啟動狀態(tài)標志位信息,便于下次啟動電子設備系統(tǒng)時使用,保證后續(xù)使用中電子設備一直能夠采用該電子設備系統(tǒng)啟動方法來保證其正常工作。
【專利附圖】
【附圖說明】
[0016]圖1為一個實施例中電子設備系統(tǒng)啟動方法的流程不意圖;
[0017]圖2為一個實施例中從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息的步驟的流程示意圖;
[0018]圖3為一個實施例中電子設備的結構框圖;
[0019]圖4為圖3中的第一判斷結果處理模塊的一個實施例的結構框圖;
[0020]圖5為另一個實施例中電子設備的結構框圖。
【具體實施方式】
[0021]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]如圖1所示,在一個實施例中,提供了一種電子設備系統(tǒng)啟動方法,這里的電子設備包括但不限于路由器、手機、電視、電視盒子、機頂盒、電子書閱讀器、MP3 (MovingPicture Experts Group Aud1 Layer III,動態(tài)影像專家壓縮標準音頻層面3)或MP4 (Moving Picture Experts Group Aud1 Layer IV,動態(tài)影像專家壓縮標準音頻層面 4)播放器、POS終端、車載電腦等采用固件升級方式的電子設備。這里的電子設備系統(tǒng)則是指驅動電子設備正常工作的軟件系統(tǒng)。該電子設備系統(tǒng)啟動方法具體包括如下步驟:
[0023]步驟102,運行引導程序,并通過引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息。
[0024]引導程序是用于引導電子設備系統(tǒng)啟動的程序,可用的引導程序有UB00T、BootLoader等。比如對于路由器來說,其啟動過程為:運行引導程序UB00T,啟動內核(kernel),加載文件系統(tǒng);其中啟動內核和加載文件系統(tǒng)則是啟動電子設備系統(tǒng)的過程。若出現(xiàn)加載文件系統(tǒng)失敗的情況,則路由器只能進入引導程序UB00T,無法進入電子設備系統(tǒng)的內核,或者停留在內核里而無法進入文件系統(tǒng),從而使得路由器不能正常工作。
[0025]電子設備在接通電源后,先運行引導程序,從而通過該引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息。具體地,啟動狀態(tài)標志位信息用于表示一次啟動電子設備系統(tǒng)的過程是否成功,這里用于表示前一次啟動電子設備系統(tǒng)是否成功。啟動狀態(tài)標志位信息存放在電子設備的存儲介質的某一預設地址區(qū)間內,該預設區(qū)間是預先設置的標志位分區(qū),可由用戶自行設置,專門用于存放該啟動狀態(tài)標志位信息。
[0026]其中,電子設備的存儲介質可為閃存(Flash Memory),比如NOR類型、或NAND類型的閃存等。優(yōu)選為NOR類型的閃存,因為啟動狀態(tài)標志位信息所占存儲空間小且需要反復擦寫,NOR類型的閃存的操作以字節(jié)為單位,相比采用塊擦寫的NAND類型的閃存壽命更長。
[0027]步驟104,根據啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功。若判定成功則執(zhí)行步驟106,若判定失敗則執(zhí)行步驟108。
[0028]具體地,可將獲取的啟動狀態(tài)標識信息與表示啟動成功的預設啟動狀態(tài)標識信息比較。若比較結果為兩者一致則判定前一次啟動電子設備系統(tǒng)成功;相反若比較結果為兩者不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。這里前一次是指相對于本次執(zhí)行該電子設備系統(tǒng)啟動方法之前的一次電子設備系統(tǒng)啟動操作。
[0029]步驟106,通過引導程序置啟動狀態(tài)標志位信息為初始值,從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息。
[0030]經判斷,前一次啟動電子設備系統(tǒng)成功,此時則通過引導程序置啟動狀態(tài)標志位信息為初始值,該初始值不是表示啟動成功的預設啟動狀態(tài)標識信息。該初始值用于表示運行引導程序成功;同時若啟動電子設備系統(tǒng)不成功,則可以保留該初始值,這樣在下次執(zhí)行該電子設備系統(tǒng)啟動方法時獲取的啟動狀態(tài)標志位信息就是該初始值,從而下次會判定本次啟動電子設備系統(tǒng)失敗而執(zhí)行步驟108。這樣可以保證該電子設備系統(tǒng)啟動方法在每次需要啟動電子設備系統(tǒng)時都可以連續(xù)作用。
[0031]電子設備從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息。具體地,電子設備通過引導程序從存儲介質中用于存儲電子設備系統(tǒng)對應的系統(tǒng)固件的地址處讀取數據從而啟動電子設備系統(tǒng);在啟動電子設備系統(tǒng)成功后,電子設備會將存儲介質中的啟動狀態(tài)標志位信息從初始值修改為表示啟動成功的預設啟動狀態(tài)標識信息。若啟動電子設備失敗,則電子設備可保留啟動狀態(tài)標志位信息的初始值,或者將其從初始值修改為表示啟動失敗的預設啟動狀態(tài)標識信息。
[0032]步驟108,從存儲介質啟動電子設備備份系統(tǒng)。
[0033]具體地,在電子設備的存儲介質中除了存放有對應電子設備系統(tǒng)的系統(tǒng)固件外,還存放有對應電子設備備份系統(tǒng)的備份固件,這在電子設備的生產階段制作固件時實現(xiàn)。該備份固件可與上述系統(tǒng)固件相同,或者是具備固件升級功能的簡化固件。當判定前一次啟動電子設備系統(tǒng)失敗后,步驟108具體包括:從存儲介質中用于存放備份固件的地址處讀取數據從而啟動電子設備備份系統(tǒng)。這樣電子設備進入了電子設備備份系統(tǒng)。
[0034]電子設備在生產時考慮到后續(xù)固件升級的因素,其存儲空間足夠大,除了可以存放原始的系統(tǒng)固件外,還可以存放備份固件而不會增加生產成本。以電子設備為路由器為例,若其電子設備系統(tǒng)為OpenWrt系統(tǒng)(一種嵌入式的基于Linux的系統(tǒng)),因其包括的應用的多少不同,系統(tǒng)固件大小為4?16M(兆字節(jié))不等。廠家在選擇存儲介質容量時,會根據系統(tǒng)固件的大小來選擇。為了壓縮成本,一般小于4M的系統(tǒng)固件會采用4M容量的存儲介質,而大于4M且小于8M的系統(tǒng)固件就會使用8M容量的存儲介質,類似地大于8M且小于16M的固件就會選擇16M容量的存儲介質,這就使得路由器的存儲介質剩余一部分存儲空間,如大于8M的系統(tǒng)固件需要使用16M的存儲介質,此時剩余的空間一般會大于4M,4M的空間足夠存放一個完整的具備固件升級功能的OpenWrt備份系統(tǒng)。優(yōu)選地,存儲介質中存放的備份固件是只讀的,這樣可以保證備份固件不被破壞,只要電子設備能夠運行引導程序就至少能夠進入電子設備備份系統(tǒng),保證電子設備能夠正常工作。
[0035]上述電子設備系統(tǒng)啟動方法,先通過運行的引導程序獲取啟動狀態(tài)標志位信息,根據該啟動狀態(tài)標志位信息來判斷前一次啟動電子設備系統(tǒng)是否成功,從而可以檢查出電子設備系統(tǒng)是否損壞。當判定前一次啟動失敗時就啟動電子設備備份系統(tǒng),這樣可以保證即使電子設備系統(tǒng)損壞也能夠進入備份系統(tǒng)而正常工作。而當判定前一次啟動成功時,則通過引導程序置啟動狀態(tài)標志位信息為初始值,再進行本次啟動電子設備系統(tǒng)的操作,并根據本次啟動結果修改啟動狀態(tài)標志位信息,便于下次啟動電子設備系統(tǒng)時使用,保證后續(xù)使用中電子設備一直能夠采用該電子設備系統(tǒng)啟動方法來保證其正常工作。
[0036]上述電子設備系統(tǒng)啟動方法可以應用到第二次以及以后任意次的電子設備系統(tǒng)的啟動。在一個實施例中,可在生產電子設備時將存儲介質中的啟動狀態(tài)標志位信息設定為表示啟動成功的預設啟動狀態(tài)標識信息。這樣本實施例中的電子設備系統(tǒng)啟動方法就可以應用到包括首次在內的任意次的電子設備系統(tǒng)的啟動。
[0037]在另一個實施例中,在步驟102之前,電子設備在首次開啟而運行引導程序時直接通過引導程序置啟動狀態(tài)標志位信息為初始值,并從存儲介質啟動電子設備系統(tǒng)并根據該次啟動結果修改啟動狀態(tài)標志位信息?;蛘咴谏a電子設備時將存儲介質中的啟動狀態(tài)標志位信息設定為初始值,則在步驟102之前,電子設備在首次開啟而運行引導程序時直接從存儲介質啟動電子設備系統(tǒng)并根據該次啟動結果修改啟動狀態(tài)標志位信息。本實施例中的電子設備系統(tǒng)啟動方法也可以應用到包括首次在內的任意次的電子設備系統(tǒng)的啟動。
[0038]在一個實施例中,上述從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息的步驟,具體包括:分階段啟動電子設備系統(tǒng),并分別根據每一階段的啟動結果修改啟動狀態(tài)標志位信息。
[0039]具體地,電子設備系統(tǒng)是可以分階段啟動的,這樣在每一階段啟動結束時,若該階段啟動成功,則將啟動狀態(tài)標志位信息修改為表示該階段啟動成功的預設啟動狀態(tài)標識信息;若該階段啟動失敗,則可不修改啟動狀態(tài)標志位信息或者將啟動狀態(tài)標志位信息修改為表示該階段啟動失敗的預設啟動狀態(tài)標識信息。然后再進行下一階段啟動,繼續(xù)根據下一階段的啟動結果修改啟動狀態(tài)標志位信息,直至所有啟動階段結束。
[0040]本實施例中,步驟104具體為:將獲取的啟動狀態(tài)標識信息與表示最后階段啟動成功的預設啟動狀態(tài)標識信息比較;若一致則判定前一次啟動電子設備系統(tǒng)成功;若不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。
[0041]本實施例中,電子設備系統(tǒng)分階段啟動并根據每一階段的啟動結果修改啟動狀態(tài)標志位信息,這樣便于定位問題,有助于分析出到底電子設備系統(tǒng)的哪一階段啟動發(fā)生了問題。
[0042]如圖2所示,在一個實施例中,上述從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息的步驟,或者分階段啟動電子設備系統(tǒng),并分別根據每一階段的啟動結果修改啟動狀態(tài)標志位信息的步驟,具體包括如下步驟:
[0043]步驟202,啟動電子設備系統(tǒng)的內核,當啟動內核成功時修改啟動狀態(tài)標志位信息為第一預設標志信息。
[0044]對于路由器這樣的電子設備來說,其運行引導程序后,再分兩個階段啟動電子設備系統(tǒng),依次為啟動電子設備系統(tǒng)的內核以及加載電子設備系統(tǒng)的文件系統(tǒng)兩個階段,這里的電子設備系統(tǒng)則指該內核和文件系統(tǒng)。若啟動內核成功,則將標志位分區(qū)中的啟動狀態(tài)標志位信息從初始值修改為第一預設標志信息,該第一預設標志信息表該次啟動內核成功。
[0045]步驟204,加載電子設備系統(tǒng)的文件系統(tǒng),當加載文件系統(tǒng)成功時修改啟動狀態(tài)標志位信息為第二預設標志信息。
[0046]電子設備在啟動內核成功后,會繼續(xù)加載電子設備系統(tǒng)的文件系統(tǒng)來完成電子設備系統(tǒng)的啟動,這里加載電子設備系統(tǒng)的文件系統(tǒng)是啟動電子設備系統(tǒng)的最后階段。當加載文件系統(tǒng)成功時,則將標志位分區(qū)中的啟動狀態(tài)標志位信息從第一預設標志信息修改為第二預設標志信息,該第二預設標志信息表示該次加載文件系統(tǒng)成功。
[0047]本實施例中,步驟104具體為:將獲取的啟動狀態(tài)標識信息與第二預設標志信息比較;若一致則判定前一次啟動電子設備系統(tǒng)成功;若不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。
[0048]其中初始值、第一預設標志信息以及第二預設標志信息分別為不同的值,且可由用戶自定義。比如初始值可為“success”,第一預設標志信息可為“successl”,第二預設標志信息可為“success2”。
[0049]本實施例中,電子設備啟動內核和加載文件系統(tǒng)的兩個啟動階段,分別根據每一階段的啟動結果修改啟動狀態(tài)標志位信息,這樣便于定位問題,有助于分析出到底電子設備系統(tǒng)的哪一階段啟動發(fā)生了問題。
[0050]在一個實施例中,該電子設備系統(tǒng)啟動方法還包括:當執(zhí)行步驟106而啟動電子設備系統(tǒng)成功時,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據升級固件對電子設備系統(tǒng)進行固件升級。
[0051]具體地,當電子設備系統(tǒng)啟動成功時電子設備系統(tǒng)能夠正常工作,但此時可能電子設備系統(tǒng)版本較低或者功能較少,無法滿足用戶使用需求,用戶可以主動對電子設備系統(tǒng)進行固件升級。電子設備可以設置專門用于觸發(fā)固件升級請求的按鈕,用戶按壓該按鈕就可以觸發(fā)固件升級請求;或者電子設備可以通過與電子設備連接的顯示設備提供網頁或者界面,用戶操作該網頁或者界面從而觸發(fā)固件升級請求。電子設備接收到該固件升級請求,響應于該固件升級請求而獲取升級固件,從而根據該升級固件對電子設備系統(tǒng)進行固件升級。這里升級固件是指用于對電子設備系統(tǒng)進行固件升級的固件。這里的固件升級可以是對電子設備的內核和文件系統(tǒng)的升級,則升級固件可以是用于升級的內核和文件系統(tǒng)?;蛘唠娮釉O備可以自動檢測是否存在版本號高于當前的電子設備系統(tǒng)對應的系統(tǒng)固件的版本號的升級固件,當檢測到時自動獲取該升級固件,從而據以對電子設備系統(tǒng)進行固件升級。
[0052]在一個實施例中,該電子設備系統(tǒng)啟動方法還包括:當執(zhí)行步驟108而啟動電子設備備份系統(tǒng)后,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據升級固件對電子設備系統(tǒng)進行固件升級。
[0053]具體地,當判定前一次啟動電子設備系統(tǒng)失敗后而使電子設備啟動電子設備備份系統(tǒng)后,電子設備可自動獲取升級固件從而根據該升級固件對電子設備系統(tǒng)進行固件升級?;蛘唠娮釉O備可以在啟動電子設備備份系統(tǒng)后發(fā)出提示,提示用戶電子設備系統(tǒng)損壞需要進行固件升級。由用戶根據該提示操作電子設備而觸發(fā)固件升級請求,電子設備則在接收到該固件升級請求后,響應于該固件升級請求而獲取升級固件,并根據該升級固件對電子設備系統(tǒng)進行固件升級。
[0054]上述實施例中,在電子設備系統(tǒng)正常啟動后可以根據用戶需求而對電子設備系統(tǒng)進行固件升級,而當電子設備系統(tǒng)損壞而進入電子設備備份系統(tǒng)后,可以自動或者在用戶觸發(fā)下對電子設備系統(tǒng)進行固件升級操作,使其損壞的電子設備系統(tǒng)恢復正常。
[0055]在一個實施例中,上述實施例中自動或者響應于接收到的固件升級請求而獲取升級固件的步驟,具體包括:響應于接收到的固件升級請求,獲取通過網頁上傳的升級固件;或者,自動或者響應于接收到的固件升級請求,獲取存儲介質中的備份固件作為升級固件;或者,自動或者響應于接收到的固件升級請求,從與電子設備連接的外接存儲設備獲取升級固件。
[0056]具體地,比如路由器這樣具有網絡功能的電子設備可以與計算機連接,包括直接連接或者網絡連接,用戶可以通過計算機訪問電子設備提供的網頁,從而通過該網頁將升級固件上傳給電子設備。電子設備則獲取到上傳的升級固件,從而用該升級固件替換掉電子設備的存儲介質中存儲的系統(tǒng)固件,從而實現(xiàn)對電子設備系統(tǒng)的固件升級。
[0057]電子設備還可以預先存儲有備份固件,此時獲取該備份固件作為升級固件,從而用該升級固件替換掉電子設備的存儲介質中存儲的系統(tǒng)固件,以實現(xiàn)對電子設備系統(tǒng)的固件升級。這里的備份固件可以與上述實施例中電子設備備份系統(tǒng)對應的備份固件相同或相巳
[0058]電子設備還可以與外接存儲設備連接,比如通過USB (Universal Serial Bus,通用串行總線)接口連接,外接存儲設備比如可以是優(yōu)盤或者硬盤等。電子設備通過掃描外接存儲設備,具體可以掃描外接存儲設備中文件名為預設文件名的文件而獲取到升級固件,或者掃描文件夾名為預設文件夾名下的文件而獲取到升級固件。
[0059]本實施例中,電子設備自動或者響應于接收到的固件升級請求,可通過多種方式獲取升級固件對電子設備系統(tǒng)進行固件升級,使得電子設備系統(tǒng)可以更容易實現(xiàn)固件升級,提高操作便利性。
[0060]在一個實施例中,步驟104具體為:將獲取的啟動狀態(tài)標識信息與第二預設標志信息比較;若一致則判定前一次啟動電子設備系統(tǒng)成功;若不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。則在步驟108之后,電子設備還可以判斷獲取的啟動狀態(tài)標志位信息是否與第一預設標志信息一致,若一致則可以獲取只包含文件系統(tǒng)的升級固件對電子設備系統(tǒng)進行固件升級,若不一致則可以獲取包含內核和文件系統(tǒng)的完整升級固件對電子設備系統(tǒng)進行固件升級。本實施例可以僅對損壞的部分系統(tǒng)固件進行固件升級,可以提高啟動效率。本實施例中要求只包含文件系統(tǒng)的升級固件中的應用與內核中的底層驅動沒有關聯(lián),則可以只升級文件系統(tǒng)而不升級內核。
[0061]在一個實施例中,電子設備為路由器,其文件系統(tǒng)是主流路由器固件ddirt系統(tǒng),tomato系統(tǒng)或者openwrt系統(tǒng)。
[0062]如圖3所示,在一個實施例中,提供了一種電子設備,用于實現(xiàn)上述各實施例的電子設備系統(tǒng)啟動方法,該電子設備包括但不限于路由器、手機、電視、電視盒子、機頂盒、電子書閱讀器、MP3或MP4播放器、POS終端、車載電腦等。其中,該電子設備包括引導模塊302、判斷模塊304、第一判斷結果處理模塊306和第二判斷結果處理模塊308。
[0063]弓丨導模塊302,用于運行引導程序,并通過弓I導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息。
[0064]電子設備在接通電源后,弓丨導模塊302用于先運行引導程序,從而通過該引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息。具體地,啟動狀態(tài)標志位信息用于表示一次啟動電子設備系統(tǒng)的過程是否成功,這里用于表示前一次啟動電子設備系統(tǒng)是否成功。啟動狀態(tài)標志位信息存放在電子設備的存儲介質的某一預設地址區(qū)間內,該預設區(qū)間是預先設置的標志位分區(qū),可由用戶自行設置,專門用于存放該啟動狀態(tài)標志位信息。
[0065]其中,電子設備的存儲介質可為閃存(Flash Memory),比如NOR類型、或NAND類型的閃存等。優(yōu)選為NOR類型的閃存,因為啟動狀態(tài)標志位信息所占存儲空間小且需要反復擦寫,NOR類型的閃存的操作以字節(jié)為單位,相比采用塊擦寫的NAND類型的閃存壽命更長。
[0066]判斷模塊304,用于根據啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功。
[0067]具體地,判斷模塊304可用于將獲取的啟動狀態(tài)標識信息與表示啟動成功的預設啟動狀態(tài)標識信息比較。若判斷模塊304判斷結果為兩者一致則判定前一次啟動電子設備系統(tǒng)成功;相反若判斷模塊304判斷結果為兩者不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。這里前一次是指相對于本次執(zhí)行該電子設備系統(tǒng)啟動方法之前的一次電子設備系統(tǒng)啟動操作。
[0068]第一判斷結果處理模塊306,用于若判定前一次啟動電子設備系統(tǒng)成功,則通過引導程序置啟動狀態(tài)標志位信息為初始值,從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息。
[0069]判斷模塊304判定前一次啟動電子設備系統(tǒng)成功,此時第一判斷結果處理模塊306則用于通過引導程序置啟動狀態(tài)標志位信息為初始值,該初始值不是表示啟動成功的預設啟動狀態(tài)標識信息。該初始值用于表示運行引導程序成功;同時若啟動電子設備系統(tǒng)不成功,則可以保留該初始值,這樣在下次啟動電子設備系統(tǒng)時獲取的啟動狀態(tài)標志位信息就是該初始值,從而下次會判定本次啟動電子設備系統(tǒng)失敗而使第二判斷結果處理模塊308工作。這樣可以保證每次需要啟動電子設備系統(tǒng)時都可以使電子設備能夠正常工作。
[0070]第一判斷結果處理模塊306用于從存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改啟動狀態(tài)標志位信息。具體地,第一判斷結果處理模塊306用于通過引導程序從存儲介質中用于存儲電子設備系統(tǒng)對應的系統(tǒng)固件的地址處讀取數據從而啟動電子設備系統(tǒng);在啟動電子設備系統(tǒng)成功后,第一判斷結果處理模塊306用于將存儲介質中的啟動狀態(tài)標志位信息從初始值修改為表示啟動成功的預設啟動狀態(tài)標識信息。若啟動電子設備失敗,則第一判斷結果處理模塊306可用于保留啟動狀態(tài)標志位信息的初始值,或者將其從初始值修改為表示啟動失敗的預設啟動狀態(tài)標識信息。
[0071]第二判斷結果處理模塊308,用于若判定前一次啟動電子設備系統(tǒng)失敗,則從存儲介質啟動電子設備備份系統(tǒng)。
[0072]具體地,在電子設備的存儲介質中除了存放有對應電子設備系統(tǒng)的系統(tǒng)固件外,還存放有對應電子設備備份系統(tǒng)的備份固件,這在電子設備的生產階段制作固件時實現(xiàn)。該備份固件可與上述系統(tǒng)固件相同,或者是具備固件升級功能的簡化固件。當判定前一次啟動電子設備系統(tǒng)失敗后,第二判斷結果處理模塊308具體可用于從存儲介質中用于存放備份固件的地址處讀取數據從而啟動電子設備備份系統(tǒng)。這樣電子設備進入了電子設備備份系統(tǒng)。
[0073]電子設備在生產時考慮到后續(xù)固件升級的因素,其存儲空間足夠大,除了可以存放原始的系統(tǒng)固件外,還可以存放備份固件而不會增加生產成本。以電子設備為路由器為例,若其電子設備系統(tǒng)為OpenWrt系統(tǒng),因其包括的應用的多少不同,系統(tǒng)固件大小為4?16M不等。廠家在選擇存儲介質容量時,會根據系統(tǒng)固件的大小來選擇。為了壓縮成本,一般小于4M的系統(tǒng)固件會采用4M容量的存儲介質,而大于4M且小于8M的系統(tǒng)固件就會使用8M容量的存儲介質,類似地大于8M且小于16M的固件就會選擇16M容量的存儲介質,這就使得路由器的存儲介質剩余一部分存儲空間,如大于8M的系統(tǒng)固件需要使用16M的存儲介質,此時剩余的空間一般會大于4M,4M的空間足夠存放一個完整的具備固件升級功能的Openffrt備份系統(tǒng)。優(yōu)選地,存儲介質中存放的備份固件是只讀的,這樣可以保證備份固件不被破壞,只要電子設備能夠運行引導程序就至少能夠進入電子設備備份系統(tǒng),保證電子設備能夠正常工作。
[0074]上述電子設備,先通過運行的引導程序獲取啟動狀態(tài)標志位信息,根據該啟動狀態(tài)標志位信息來判斷前一次啟動電子設備系統(tǒng)是否成功,從而可以檢查出電子設備系統(tǒng)是否損壞。當判定前一次啟動失敗時就啟動電子設備備份系統(tǒng),這樣可以保證即使電子設備系統(tǒng)損壞也能夠進入備份系統(tǒng)而正常工作。而當判定前一次啟動成功時,則通過引導程序置啟動狀態(tài)標志位信息為初始值,再進行本次啟動電子設備系統(tǒng)的操作,并根據本次啟動結果修改啟動狀態(tài)標志位信息,便于下次啟動電子設備系統(tǒng)時使用,保證后續(xù)使用中電子設備一直能夠采用該電子設備系統(tǒng)啟動方法來保證其正常工作。
[0075]上述電子設備可以實現(xiàn)在第二次以及以后任意次的電子設備系統(tǒng)啟動中都能夠保證電子設備可以正常工作。在一個實施例中,可在生產電子設備時將存儲介質中的啟動狀態(tài)標志位信息設定為表示啟動成功的預設啟動狀態(tài)標識信息。這樣本實施例中的電子設備就可以實現(xiàn)包括首次在內的任意次的電子設備系統(tǒng)的啟動。
[0076]在另一個實施例中,引導模塊302用于在首次開啟而運行弓I導程序時直接通過弓I導程序置啟動狀態(tài)標志位信息為初始值,并從存儲介質啟動電子設備系統(tǒng)并根據該次啟動結果修改啟動狀態(tài)標志位信息?;蛘咴谏a電子設備時將存儲介質中的啟動狀態(tài)標志位信息設定為初始值,則引導模塊302用于在首次開啟而運行引導程序時直接從存儲介質啟動電子設備系統(tǒng)并根據該次啟動結果修改啟動狀態(tài)標志位信息。本實施例中的電子設備就可以實現(xiàn)包括首次在內的任意次的電子設備系統(tǒng)的啟動。
[0077]在一個實施例中,第一判斷結果處理模塊306還用于分階段啟動電子設備系統(tǒng),并分別根據每一階段的啟動結果修改啟動狀態(tài)標志位信息。
[0078]具體地,電子設備系統(tǒng)是可以分階段啟動的,這樣第一判斷結果處理模塊306用于在每一階段啟動結束時,若該階段啟動成功,則將啟動狀態(tài)標志位信息修改為表示該階段啟動成功的預設啟動狀態(tài)標識信息;若該階段啟動失敗,則可不修改啟動狀態(tài)標志位信息或者將啟動狀態(tài)標志位信息修改為表示該階段啟動失敗的預設啟動狀態(tài)標識信息。然后第一判斷結果處理模塊306用于再進行下一階段啟動,繼續(xù)根據下一階段的啟動結果修改啟動狀態(tài)標志位信息,直至所有啟動階段結束。
[0079]本實施例中,判斷模塊304具體用于將獲取的啟動狀態(tài)標識信息與表示最后階段啟動成功的預設啟動狀態(tài)標識信息比較;若一致則判定前一次啟動電子設備系統(tǒng)成功;若不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。
[0080]本實施例中,電子設備系統(tǒng)分階段啟動并根據每一階段的啟動結果修改啟動狀態(tài)標志位信息,這樣便于定位問題,有助于分析出到底電子設備系統(tǒng)的哪一階段啟動發(fā)生了問題。
[0081]如圖4所不,在一個實施例中,第一判斷結果處理模塊306包括:內核啟動模塊306a和文件系統(tǒng)加載模塊306b。
[0082]內核啟動模塊306a,用于啟動電子設備系統(tǒng)的內核,當啟動內核成功時修改啟動狀態(tài)標志位信息為第一預設標志信息。
[0083]對于路由器這樣的電子設備來說,其運行引導程序后,再分兩個階段啟動電子設備系統(tǒng),依次為啟動電子設備系統(tǒng)的內核以及加載電子設備系統(tǒng)的文件系統(tǒng)兩個階段,這里的電子設備系統(tǒng)則指該內核和文件系統(tǒng)。內核啟動模塊306a用于若啟動內核成功,則將標志位分區(qū)中的啟動狀態(tài)標志位信息從初始值修改為第一預設標志信息,該第一預設標志信息表示該次啟動內核成功。
[0084]文件系統(tǒng)加載模塊306b,用于加載電子設備系統(tǒng)的文件系統(tǒng),當加載文件系統(tǒng)成功時修改啟動狀態(tài)標志位信息為第二預設標志信息。
[0085]在內核啟動模塊306a啟動內核成功后,文件系統(tǒng)加載模塊306用于繼續(xù)加載電子設備系統(tǒng)的文件系統(tǒng)來完成電子設備系統(tǒng)的啟動,這里加載電子設備系統(tǒng)的文件系統(tǒng)是啟動電子設備系統(tǒng)的最后階段。文件系統(tǒng)加載模塊306用于當加載文件系統(tǒng)成功時,則將標志位分區(qū)中的啟動狀態(tài)標志位信息從第一預設標志信息修改為第二預設標志信息,該第二預設標志信息表示該次加載文件系統(tǒng)成功。
[0086]本實施例中,判斷模塊304具體用于將獲取的啟動狀態(tài)標識信息與第二預設標志信息比較;若一致則判定前一次啟動電子設備系統(tǒng)成功;若不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。
[0087]其中初始值、第一預設標志信息以及第二預設標志信息分別為不同的值,且可由用戶自定義。比如初始值可為“success”,第一預設標志信息可為“successl”,第二預設標志信息可為“success2”。
[0088]本實施例中,電子設備啟動內核和加載文件系統(tǒng)的兩個啟動階段,分別根據每一階段的啟動結果修改啟動狀態(tài)標志位信息,這樣便于定位問題,有助于分析出到底電子設備系統(tǒng)的哪一階段啟動發(fā)生了問題。
[0089]如圖5所示,在一個實施例中,該電子設備還包括固件升級模塊310。
[0090]在一個實施例中,固件升級模塊310用于當啟動電子設備系統(tǒng)成功時,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據升級固件對電子設備系統(tǒng)進行固件升級。
[0091]具體地,當電子設備系統(tǒng)啟動成功時電子設備系統(tǒng)能夠正常工作,但此時可能電子設備系統(tǒng)版本較低或者功能較少,無法滿足用戶使用需求,用戶可以主動對電子設備系統(tǒng)進行固件升級,或者固件升級模塊310可以用于自動對電子設備系統(tǒng)進行固件升級。電子設備可以設置專門用于觸發(fā)固件升級請求的按鈕,用戶按壓該按鈕就可以觸發(fā)固件升級請求;或者電子設備可以通過與電子設備連接的顯示設備提供網頁或者界面,用戶操作該網頁或者界面從而觸發(fā)固件升級請求。固件升級模塊310用于接收到該固件升級請求,響應于該固件升級請求而獲取升級固件,從而根據該升級固件對電子設備系統(tǒng)進行固件升級。這里升級固件是指用于對電子設備系統(tǒng)進行固件升級的固件。這里的固件升級可以是對電子設備的內核和文件系統(tǒng)的升級,則升級固件可以是用于升級的內核和文件系統(tǒng)。
[0092]在一個實施例中,固件升級模塊310用于當啟動電子設備備份系統(tǒng)后,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據升級固件對電子設備系統(tǒng)進行固件升級。
[0093]具體地,當判斷模塊304判定前一次啟動電子設備系統(tǒng)失敗后而使電子設備啟動電子設備備份系統(tǒng)后,固件升級模塊310可用于自動獲取升級固件從而根據該升級固件對電子設備系統(tǒng)進行固件升級?;蛘吖碳壞K310可用于在啟動電子設備備份系統(tǒng)后發(fā)出提示,提示用戶電子設備系統(tǒng)損壞需要進行固件升級。由用戶根據該提示操作電子設備而觸發(fā)固件升級請求,固件升級模塊310則用于在接收到該固件升級請求后,響應于該固件升級請求而獲取升級固件,并根據該升級固件對電子設備系統(tǒng)進行固件升級。或者固件升級模塊310可以用于自動檢測是否存在版本號高于當前的電子設備系統(tǒng)對應的系統(tǒng)固件的版本號的升級固件,當檢測到時自動獲取該升級固件,從而據以對電子設備系統(tǒng)進行固件升級。上述實施例中,在電子設備系統(tǒng)正常啟動后可以根據用戶需求而對電子設備系統(tǒng)進行固件升級,而當電子設備系統(tǒng)損壞而進入電子設備備份系統(tǒng)后,可以自動或者在用戶觸發(fā)下對電子設備系統(tǒng)進行固件升級操作,使其損壞的電子設備系統(tǒng)恢復正常。
[0094]在一個實施例中,固件升級模塊310還用于響應于接收到的固件升級請求,獲取通過網頁上傳的升級固件;或者,自動或者響應于接收到的固件升級請求,獲取存儲介質中的備份固件作為升級固件;或者,自動或者響應于接收到的固件升級請求,從與電子設備連接的外接存儲設備獲取升級固件。
[0095]具體地,比如路由器這樣具有網絡功能的電子設備可以與計算機連接,包括直接連接或者網絡連接,用戶可以通過計算機訪問電子設備提供的網頁,從而通過該網頁將升級固件上傳給電子設備。固件升級模塊310則用于獲取到上傳的升級固件,從而用該升級固件替換掉電子設備的存儲介質中存儲的系統(tǒng)固件,從而實現(xiàn)對電子設備系統(tǒng)的固件升級。
[0096]電子設備還可以預先存儲有備份固件,固件升級模塊310用于獲取該備份固件作為升級固件,從而用該升級固件替換掉電子設備的存儲介質中存儲的系統(tǒng)固件,以實現(xiàn)對電子設備系統(tǒng)的固件升級。這里的備份固件可以與上述實施例中電子設備備份系統(tǒng)對應的備份固件相同或相異。
[0097]電子設備還可以與外接存儲設備連接,比如通過USB (Universal Serial Bus,通用串行總線)接口連接,外接存儲設備比如可以是優(yōu)盤或者硬盤等。固件升級模塊310用于通過掃描外接存儲設備,具體可以掃描外接存儲設備中文件名為預設文件名的文件而獲取到升級固件,或者掃描文件夾名為預設文件夾名下的文件而獲取到升級固件。
[0098]本實施例中,電子設備響應于接收到的固件升級請求,可通過多種方式獲取升級固件對電子設備系統(tǒng)進行固件升級,使得電子設備系統(tǒng)可以更容易實現(xiàn)固件升級,提高操作便利性。
[0099]在一個實施例中,判斷模塊304具體用于將獲取的啟動狀態(tài)標識信息與第二預設標志信息比較;若一致則判定前一次啟動電子設備系統(tǒng)成功;若不一致,則判定前一次啟動電子設備系統(tǒng)啟動失敗。則固件升級模塊310還可以用于判斷獲取的啟動狀態(tài)標志位信息是否與第一預設標志信息一致,若一致則固件升級模塊310可以用于獲取只包含文件系統(tǒng)的升級固件對電子設備系統(tǒng)進行固件升級,若不一致則固件升級模塊310可以用于獲取包含內核和文件系統(tǒng)的完整升級固件對電子設備系統(tǒng)進行固件升級。本實施例可以僅對損壞的部分系統(tǒng)固件進行固件升級,可以提高啟動效率。本實施例中要求只包含文件系統(tǒng)的升級固件中的應用與內核中的底層驅動沒有關聯(lián),則可以只升級文件系統(tǒng)而不升級內核。
[0100]在一個實施例中,電子設備為路由器,其文件系統(tǒng)是主流路由器固件dd-wrt系統(tǒng),tomato系統(tǒng)或者openwrt系統(tǒng)。
[0101]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。
【權利要求】
1.一種電子設備系統(tǒng)啟動方法,所述方法包括: 運行引導程序,并通過所述引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息; 根據所述啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功; 若是,則通過所述引導程序置所述啟動狀態(tài)標志位信息為初始值,從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息; 若否,則從所述存儲介質啟動電子設備備份系統(tǒng)。
2.根據權利要求1所述的方法,其特征在于,所述從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息,包括: 分階段啟動所述電子設備系統(tǒng),并分別根據每一階段的啟動結果修改所述啟動狀態(tài)標志位信息。
3.根據權利要求1所述的方法,其特征在于,所述從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息,包括: 啟動所述電子設備系統(tǒng)的內核,當啟動內核成功時修改所述啟動狀態(tài)標志位信息為第一預設標志信息; 加載所述電子設備系統(tǒng)的文件系統(tǒng),當加載文件系統(tǒng)成功時修改所述啟動狀態(tài)標志位信息為第二預設標志信息。
4.根據權利要求1所述的方法,其特征在于,當啟動所述電子設備系統(tǒng)成功時,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據所述升級固件對所述電子設備系統(tǒng)進行固件升級; 或者, 當啟動所述電子設備備份系統(tǒng)后,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據所述升級固件對所述電子設備系統(tǒng)進行固件升級。
5.根據權利要求4所述的方法,其特征在于,所述自動或者響應于接收到的固件升級請求而獲取升級固件,包括: 響應于接收到的固件升級請求,獲取通過網頁上傳的升級固件;或者, 自動或者響應于接收到的固件升級請求,獲取所述存儲介質中的備份固件作為升級固件;或者, 自動或者響應于接收到的固件升級請求,從與所述電子設備連接的外接存儲設備獲取升級固件。
6.—種電子設備,其特征在于,包括: 引導模塊,用于運行引導程序,并通過所述引導程序從電子設備的存儲介質獲取啟動狀態(tài)標志位信息; 判斷模塊,用于根據所述啟動狀態(tài)標志位信息判斷前一次啟動電子設備系統(tǒng)是否成功; 第一判斷結果處理模塊,用于若判定前一次啟動電子設備系統(tǒng)成功,則通過所述引導程序置所述啟動狀態(tài)標志位信息為初始值,從所述存儲介質啟動電子設備系統(tǒng)并根據本次啟動結果修改所述啟動狀態(tài)標志位信息; 第二判斷結果處理模塊,用于若判定前一次啟動電子設備系統(tǒng)失敗,則從所述存儲介質啟動電子設備備份系統(tǒng)。
7.根據權利要求6所述的電子設備,其特征在于,所述第一判斷結果處理模塊還用于分階段啟動所述電子設備系統(tǒng),并分別根據每一階段的啟動結果修改所述啟動狀態(tài)標志位信息。
8.根據權利要求6所述的電子設備,其特征在于,所述第一判斷結果處理模塊包括: 內核啟動模塊,用于啟動所述電子設備系統(tǒng)的內核,當啟動內核成功時修改所述啟動狀態(tài)標志位信息為第一預設標志信息; 文件系統(tǒng)加載模塊,用于加載所述電子設備系統(tǒng)的文件系統(tǒng),當加載文件系統(tǒng)成功時修改所述啟動狀態(tài)標志位信息為第二預設標志信息。
9.根據權利要求6所述的電子設備,其特征在于,還包括固件升級模塊; 所述固件升級模塊用于當啟動所述電子設備系統(tǒng)成功時,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據所述升級固件對所述電子設備系統(tǒng)進行固件升級;或者, 所述固件升級模塊用于當啟動所述電子設備備份系統(tǒng)后,自動或者響應于接收到的固件升級請求而獲取升級固件,并根據所述升級固件對所述電子設備系統(tǒng)進行固件升級。
10.根據權利要求9所述的電子設備,其特征在于,所述固件升級模塊還用于響應于接收到的固件升級請求,獲取通過網頁上傳的升級固件;或者,所述固件升級模塊還用于自動或者響應于接收到的固件升級請求,獲取所述存儲介質中的備份固件作為升級固件;或者,所述固件升級模塊還用于自動或者響應于接收到的固件升級請求,從與所述電子設備連接的外接存儲設備獲取升級固件。
【文檔編號】G06F9/445GK104166561SQ201410362377
【公開日】2014年11月26日 申請日期:2014年7月25日 優(yōu)先權日:2014年7月25日
【發(fā)明者】姜虎, 許吉明 申請人:深圳市江波龍電子有限公司