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

嵌入式系統(tǒng)的韌體更新方法

文檔序號:6583661閱讀:162來源:國知局
專利名稱:嵌入式系統(tǒng)的韌體更新方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種韌體更新方法,且特別是有關(guān)于一種嵌入式系統(tǒng)的韌體更新 方法。
背景技術(shù)
嵌入式系統(tǒng)(Embedded System)是一種為特定應用設計的專用計算機系統(tǒng),其包 括除了以通用為目的的一般個人計算機之外的所有計算機。從移動式音樂播放器到航天飛 機的實時控制子系統(tǒng)都能見到嵌入式系統(tǒng)的應用。與一般個人計算機系統(tǒng)可以滿足多種任 務不同,嵌入式系統(tǒng)只能完成某些特定目的的任務。此外,嵌入式系統(tǒng)亦有些必須滿足的基 本性能,如安全性和可用性。除此之外,其它功能可能要求較低或沒有要求,使嵌入式系統(tǒng) 的硬件得以簡化,以降低成本。對于大批量生產(chǎn)的嵌入式系統(tǒng)來說,降低成本通常是設計的 首要考慮。因此,嵌入式系統(tǒng)通常需要簡化去除不需要的功能以降低成本。嵌入式系統(tǒng)的核心是由一個或幾個預先編程好執(zhí)行少數(shù)幾項任務的微處理器或 者微控制器組成。與一般個人計算機能夠執(zhí)行使用者所安裝的各種軟件,嵌入式系統(tǒng)上的 軟件通常是暫時不變的,因而被稱為韌體(firmware)。在嵌入式系統(tǒng)運作一段時間后,其內(nèi)存中通常會存有許多數(shù)據(jù),因而造成可用的 連續(xù)內(nèi)存空間不足。因此,若在此時對嵌入式系統(tǒng)進行韌體更新,將可能因可用的連續(xù)內(nèi)存 空間不足,而造成韌體更新失敗。

發(fā)明內(nèi)容
因此,本發(fā)明的一目的是在提供一種嵌入式系統(tǒng)的韌體更新方法,用以將更新韌 體用的映像文件(image)分成多個映像文件分割(partition),將各映像文件分割分別儲 存至內(nèi)存中的多個可用區(qū)塊,并通過存于內(nèi)存的各映像文件分割,更新嵌入式系統(tǒng)的韌體。本發(fā)明的嵌入式系統(tǒng)的韌體更新方法包含以下步驟接收一韌體更新指令,用以 通過一韌體映像文件更新一嵌入式系統(tǒng)的韌體。其中,嵌入式系統(tǒng)包含一內(nèi)存以及一儲存 組件,嵌入式系統(tǒng)的韌體存于該儲存組件。將韌體映像文件分成數(shù)個映像文件分割。自內(nèi) 存取得數(shù)個可用區(qū)塊。將映像文件分割儲存至可用區(qū)塊。將儲存后的映像文件分割的信息 記錄至一映像文件信息表。根據(jù)映像文件信息表,自內(nèi)存取得映像文件分割。利用所取得 的映像文件分割,覆寫(overwrite)存于儲存組件的嵌入式系統(tǒng)的韌體。依據(jù)本發(fā)明一實施例,其中嵌入式系統(tǒng)還包含一處理組件,且嵌入式系統(tǒng)的韌體 更新方法還包含在覆寫存于儲存組件的嵌入式系統(tǒng)的韌體前,重新啟動(reset)處理組 件。依據(jù)本發(fā)明另一實施例,其中嵌入式系統(tǒng)的韌體更新方法還包含判斷是否存有 映像文件信息表。若存有映像文件信息表時,根據(jù)映像文件信息表,自內(nèi)存取得映像文件分 割。若不存有映像文件信息表時,使嵌入式系統(tǒng)根據(jù)嵌入式系統(tǒng)的韌體運作。依據(jù)本發(fā)明另一實施例,其中嵌入式系統(tǒng)的韌體更新方法還包含取得映像文件分割的一分割文件大小。依據(jù)本發(fā)明另一實施例,其中將韌體映像文件分成映像文件分割的步驟包含逐 一自韌體映像文件讀取具分割文件大小的數(shù)筆數(shù)據(jù),分別作為映像文件分割。依據(jù)本發(fā)明另一實施例,其中嵌入式系統(tǒng)的韌體更新方法還包含在利用所取得 的映像文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)之韌體后,移除映像文件信息表。依據(jù)本發(fā)明另一實施例,其中嵌入式系統(tǒng)的韌體更新方法還包含在利用所取得 的映像文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)之韌體前,將儲存組件設為可存取。依據(jù)本發(fā)明另一實施例,其中嵌入式系統(tǒng)的韌體更新方法還包含在利用所取 得的映像文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)之韌體后,將儲存組件設為寫保護 (write protected)0依據(jù)本發(fā)明另一實施例,其中嵌入式系統(tǒng)的韌體更新方法還包含偵測所取得的 映像文件分割是否有錯誤。其中在所取得的映像文件分割沒有錯誤時,利用所取得的映像 文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)的韌體。依據(jù)本發(fā)明另一實施例,其中偵測所取得的映像文件分割是否有錯誤是通過核對 和。應用本發(fā)明具有下列優(yōu)點。即使嵌入式系統(tǒng)的內(nèi)存中沒有足夠的連續(xù)可用空間, 仍可進行嵌入式系統(tǒng)的韌體更新。此外,通過重新啟動嵌入式系統(tǒng)的處理組件,可釋放處理 組件的系統(tǒng)資源,因而可避免因為處理組件的系統(tǒng)資源不足,所造成的韌體更新失敗。換言 之,即使嵌入式系統(tǒng)已運行了一段時間,仍可進行韌體更新。


為讓本發(fā)明的上述和其它目的、特征、優(yōu)點與實施例能更明顯易懂,所附附圖的說 明如下圖1是依照本發(fā)明一實施例的一種嵌入式系統(tǒng)的韌體更新方法的流程圖。主要組件符號說明100 嵌入式系統(tǒng)的韌體更新方法110 220:步驟
具體實施例方式請參照圖1,其是依照本發(fā)明一實施例的一種嵌入式系統(tǒng)的韌體更新方法的流程 圖。嵌入式系統(tǒng)的韌體更新方法,用以將更新韌體用的映像文件分成多個映像文件分割 (partition),將各映像文件分割分別儲存至內(nèi)存中的多個可用區(qū)塊,并通過存于內(nèi)存的各 映像文件分割,更新嵌入式系統(tǒng)的韌體。韌體更新方法100包含以下步驟在步驟110中,接收一韌體更新指令,用以通過一韌體映像文件更新一嵌入式系 統(tǒng)的韌體。其中,嵌入式系統(tǒng)包含一處理組件、一內(nèi)存以及一儲存組件,且嵌入式系統(tǒng)的韌 體存于儲存組件。內(nèi)存可為隨機存取內(nèi)存(Random AccessMemory, RAM)或其它可用以作為 嵌入式系統(tǒng)的主存儲器的內(nèi)存。儲存組件可為閃存(Flash)、非揮發(fā)性內(nèi)存(Non-Volatile Random Access Memory, NVRAM)或其它可供存取的儲存組件。此外,韌體映像文件可包含 于韌體更新指令中,或更新指令可包含韌體映像文件的儲存位置,供嵌入式系統(tǒng)取得。
4
在步驟120中,將韌體映像文件分成數(shù)個映像文件分割。其中,步驟120可將韌體 映像文件分成多個具同樣文件大小的映像文件分割。因此,可在步驟120前,取得映像文件 分割的一分割文件大小。然后,步驟120可通過逐一自韌體映像文件讀取具分割文件大小 的數(shù)筆數(shù)據(jù),分別作為映像文件分割而完成。換言之,步驟120可自韌體映像文件每讀取分 割文件大小的數(shù)據(jù),便令所讀取的數(shù)據(jù)作為一個映像文件分割。其中,使用者可自行設定分 割文件大小。此外,可根據(jù)內(nèi)存中各可用區(qū)塊的大小,計算出可存于內(nèi)存中各可用區(qū)塊的分 割文件大小。在步驟130中,自內(nèi)存取得數(shù)個可用區(qū)塊。其中,自內(nèi)存所取得的可用區(qū)塊的數(shù)量 大于或等于映像文件分割的數(shù)量,且每一可用區(qū)塊的大小大于或等于映像文件分割的文件 大小。如此一來,自內(nèi)存所取得的可用區(qū)塊可用以儲存映像文件分割。在步驟140中,將映像文件分割儲存至可用區(qū)塊。在步驟150中,將儲存后的映像文件分割的信息記錄至一映像文件信息表。其中, 儲存后的映像文件分割的信息可包含各映像文件分割所儲存的可用空間的內(nèi)存地址、各映 像文件分割的分割文件大小或其它映像文件分割相關(guān)的信息。為了避免嵌入式系統(tǒng)在運作一段時間后,其處理組件不具有足夠的系統(tǒng)資源進行 韌體更新,因此可在步驟160中,重新啟動嵌入式系統(tǒng)的處理組件。于是,在重新啟動嵌入 式系統(tǒng)的處理組件后,處理組件的系統(tǒng)資源可被釋放,而具有足夠的系統(tǒng)資源進行韌體更 新。此外,可避免因為處理組件的系統(tǒng)資源不足,而造成韌體更新失敗。接下來,根據(jù)映像文件信息表,自內(nèi)存取得映像文件分割(步驟180),并利用所取 得的映像文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)的韌體(步驟200)。其中,在步驟200 前,可將儲存組件設為可存取,以進行步驟200的覆寫。此外,在步驟200后,可將儲存組件 設為寫保護,以避免覆寫后的韌體遭到修改所造成的嵌入式系統(tǒng)損毀。如此一來,即使嵌入 式系統(tǒng)的內(nèi)存中沒有足夠的連續(xù)可用空間,仍可進行嵌入式系統(tǒng)的韌體更新。此外,在步驟150后,可儲存映像文件信息表,作為重新啟動嵌入式系統(tǒng)(步驟 160)后,進行韌體更新的依據(jù)。然后,可在步驟180前,判斷是否存有映像文件信息表(步 驟170)。若存有映像文件信息表時,根據(jù)映像文件信息表,自內(nèi)存取得映像文件分割(步驟 180)。然而,若不存有映像文件信息表時,使嵌入式系統(tǒng)根據(jù)存于儲存組件的嵌入式系統(tǒng)的 韌體運作(步驟220)。為避免下次重新啟動嵌入式系統(tǒng)的處理組件后,仍因存有映像文件信息表而進行 韌體更新,因此可在覆寫嵌入式系統(tǒng)的韌體(步驟200)后,移除映像文件信息表(步驟 210)。如此一來,可避免重復進行韌體更新。另外,韌體更新方法100可支持偵錯的功能。因此,韌體更新方法100可包含判斷 所取得的映像文件分割是否有錯誤(步驟190)。其中,步驟190可通過核對和(checksum) 或其它偵錯方法而完成。接下來,在所取得的映像文件分割沒有錯誤時,利用所取得的映像 文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)的韌體(步驟200)。然而,在所取得的映像文件 分割有錯誤時,重新根據(jù)映像文件信息表,自內(nèi)存取得映像文件分割(步驟180)。其中,若 一直無法取得沒有錯誤的映像文件分割時,可產(chǎn)生一提示信號,以提示使用者存于內(nèi)存中 的映像文件分割有錯誤。由上述本發(fā)明實施方式可知,應用本發(fā)明具有下列優(yōu)點。即使嵌入式系統(tǒng)的內(nèi)存中沒有足夠的連續(xù)可用空間,仍可進行嵌入式系統(tǒng)的韌體更新。此外,藉由重新啟動嵌入式 系統(tǒng)的處理組件,可釋放處理組件的系統(tǒng)資源,因而可避免因為處理組件的系統(tǒng)資源不足, 所造成的韌體更新失敗。換言之,即使嵌入式系統(tǒng)已運行了一段時間,仍可進行韌體更新。
雖然本發(fā)明已以實施方式揭露如上,然其并非用以限定本發(fā)明,任何熟悉此技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可作各種的更動與潤飾,因此本發(fā)明的保護范 圍當視權(quán)利要求書所界定的范圍為準。
權(quán)利要求
1.一種嵌入式系統(tǒng)的韌體更新方法,其特征在于,包含接收一韌體更新指令,用以通過一韌體映像文件更新一嵌入式系統(tǒng)的韌體,其中該嵌 入式系統(tǒng)包含一內(nèi)存以及一儲存組件,該嵌入式系統(tǒng)的韌體存于該儲存組件; 將該韌體映像文件分成多個映像文件分割; 自該內(nèi)存取得多個可用區(qū)塊; 將該些映像文件分割儲存至該些可用區(qū)塊; 將儲存后的該些映像文件分割的信息記錄至一映像文件信息表; 根據(jù)該映像文件信息表,自該內(nèi)存取得該些映像文件分割;以及 利用所取得的該些映像文件分割,覆寫存于該儲存組件的該嵌入式系統(tǒng)的韌體。
2.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,該嵌入式系統(tǒng)還 包含一處理組件,且該嵌入式系統(tǒng)的韌體更新方法還包含在覆寫存于該儲存組件的該嵌入式系統(tǒng)的韌體前,重新啟動該處理組件。
3.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,還包含 判斷是否存有該映像文件信息表;若存有該映像文件信息表時,根據(jù)該映像文件信息表,自該內(nèi)存取得該些映像文件分 割;以及若不存有該映像文件信息表時,使該嵌入式系統(tǒng)根據(jù)該嵌入式系統(tǒng)的韌體運作。
4.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,還包含 取得該些映像文件分割的一分割文件大小。
5.根據(jù)權(quán)利要求4所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,將該韌體映像文 件分成該些映像文件分割包含逐一自該韌體映像文件讀取具該分割文件大小的多筆數(shù)據(jù),分別作為該些映像文件分割。
6.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,還包含在利用所取得的該些映像文件分割,覆寫存于該儲存組件的該嵌入式系統(tǒng)的韌體后, 移除該映像文件信息表。
7.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,還包含在利用所取得的該些映像文件分割,覆寫存于該儲存組件的該嵌入式系統(tǒng)的韌體前, 將該儲存組件設為可存取。
8.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,還包含在利用所取得的該些映像文件分割,覆寫存于該儲存組件的該嵌入式系統(tǒng)的韌體后, 將該儲存組件設為寫保護。
9.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,還包含偵測所取得的該些映像文件分割是否有錯誤,其中在所取得的該些映像文件分割沒有 錯誤時,利用所取得的該些映像文件分割,覆寫存于該儲存組件的該嵌入式系統(tǒng)的韌體。
10.根據(jù)權(quán)利要求9所述的嵌入式系統(tǒng)的韌體更新方法,其特征在于,偵測所取得的該 些映像文件分割是否有錯誤是通過核對和。
全文摘要
本發(fā)明涉及一種嵌入式系統(tǒng)的韌體更新方法,包含以下步驟接收一韌體更新指令,用以通過一韌體映像文件更新一嵌入式系統(tǒng)的韌體。其中,嵌入式系統(tǒng)包含一內(nèi)存以及一儲存組件,嵌入式系統(tǒng)的韌體存于該儲存組件。將韌體映像文件分成數(shù)個映像文件分割。自內(nèi)存取得數(shù)個可用區(qū)塊。將映像文件分割儲存至可用區(qū)塊。將儲存后的映像文件分割的信息記錄至一映像文件信息表。根據(jù)映像文件信息表,自內(nèi)存取得映像文件分割。利用所取得的映像文件分割,覆寫存于儲存組件的嵌入式系統(tǒng)的韌體。
文檔編號G06F17/30GK102073511SQ200910221948
公開日2011年5月25日 申請日期2009年11月23日 優(yōu)先權(quán)日2009年11月23日
發(fā)明者盧曉芬, 陳志偉 申請人:英業(yè)達股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1