[go: up one dir, main page]

TW201207731A - Embedded system with plural firmware and firmware updating method thereof - Google Patents

Embedded system with plural firmware and firmware updating method thereof Download PDF

Info

Publication number
TW201207731A
TW201207731A TW99126326A TW99126326A TW201207731A TW 201207731 A TW201207731 A TW 201207731A TW 99126326 A TW99126326 A TW 99126326A TW 99126326 A TW99126326 A TW 99126326A TW 201207731 A TW201207731 A TW 201207731A
Authority
TW
Taiwan
Prior art keywords
firmware
version
update
embedded system
updated
Prior art date
Application number
TW99126326A
Other languages
Chinese (zh)
Inventor
Cheng-Ta Parng
John-Son Liu
Shao-Jiun Huang
Original Assignee
Universal Scient Ind Shanghai
Universal Global Scient Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universal Scient Ind Shanghai, Universal Global Scient Ind Co Ltd filed Critical Universal Scient Ind Shanghai
Priority to TW99126326A priority Critical patent/TW201207731A/en
Publication of TW201207731A publication Critical patent/TW201207731A/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

An embedded system with plural firmware and firmware updating method thereof are disclosed. The system includes a processor, a main memory, and plural system firmware stored in plural storage block. The method includes: receiving an update firmware; searching for the address of the storage blocks and determining a working firmware and a non-working firmware among the system firmware in the blocks; replacing the non-working firmware with the update firmware; comparing the version data of the update firmware and the working firmware, to determine whether the update firmware is an upgrade version or a downgrade version; setting up an update flag to indicate the upgrade or the downgrade version; and reboot the embedded system and select one of the system firmware stored in the storage blocks according to the update flag.

Description

201207731 六、發明說明: 【發明所屬之技術領域】 n θ發月疋關於種嵌人式系、統及其餘體更新的方法, 疋關於種包括多個系統勤體可切換更新的嵌入式系 統及其多個韌體間的更新方法。 【先前技術】 電子產品所具備的功能,隨著技術的發展迅速而經常 更核擴充,特別是適用嵌人式系統的消費性電子產品, 常透過㈣更新的方式,續新版本_體取代電 Γ原本所適用_體,修正魏上的顧,或增加及 強化其所具備的功能,以提升產品的使用效益。201207731 VI. Description of the invention: [Technical field of invention] n θ 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋A method of updating between its multiple firmwares. [Prior Art] The functions of electronic products, with the rapid development of technology and often more nuclear expansion, especially for consumer electronic products embedded in the system, often through (four) updated way, the new version _ body replaced electricity Γ Originally applied to _ body, modify Wei's Gu, or increase and strengthen its functions to enhance the use of products.

然而’使用者為嵌入式系統進行勒體更新最常遇到的 困擾’就是更新流財对發线作錯誤、或更新程 於複雜不易理解’而導致勃體更新的失敗。當勃體更新 敗後’使用者不但無法享受提升產品使用效益的好處 至可能連原有的功能都因原本㈣體在更新過程中損壞 失效。這樣的挫折不但讓使用者因電子產品無法正常 而產生許乡維修成本,㈣也讓製造者目祕產品而產 時間成本,阻礙了技術繼續研發進步的速度。 因此,如何讓電子產品能以更新後的韋刃體提供服務, 甚至在更新失敗後仍能維持電子產品運作無礙,即一 得探究之問題。 ’’、、值 4/24 201207731 【發明内容】 本發明係提供一種具有複數系統韌體的嵌入式系統, 以及所述嵌入式系統韌體更新方法,用以確保嵌入式系統 可載入更新後的系統韌體,並且避免更新過程中發生铒 而使嵌入式系統崩潰。 s 、 /為了上述目的,本發明的其中一個方案提供一種嵌入 式系統韌體更新方法,所述的嵌入式系統包括一處理單元 、一主記憶單元,以及複數系統韌體,系統韌體分別—對 勺儲存於一儲存單元的複數儲存區塊。其中一方法實施例 包f:嵌入式系統在用戶環境接收包括版本資料的一待更 新初,;尋找儲存區塊之位址;辨識系統拿刃體當中的—使 物體及#使用中勃體,其中,每—系統勃體分別包 目對應的版本資料;將待更新祕寫人非使时勒體所 其;^儲存區塊’以取代非使用中拿刃體作為嵌入式系統的 資㈣_體;比對使財滅及待更新祕之版本 版本寺更新勤體是使用中勒體的升級版本或回溯 升級版ίΓ 果設置—更新參數1城示所述的 塊=湖版本;重新啟動嵌人式系統,並從儲存區 為=資料相對應於更新參數的其中—系統勃體。 入式系统,,本發_另—转提供—種錄體嵌 記憶單元及施例的”包括:—儲存單元、一主 參數 ㈣早疋。儲料元財複數儲存區塊及一 系統物體^1,母—儲存區塊用以儲存—系_體,每一 出—升級版本戈目對應的版本資料,參數記錄區塊記錄指示 掛载儲存版本較新參數。主記憶單元用以 4厅儲存的其中一系統款體為使用中體,使 5/24However, the most common problem encountered by users in performing in-app update for embedded systems is to update the flow of money to make mistakes in the line, or to update the process to be difficult to understand, which leads to the failure of the body update. When the Bo Bo body is lost, the user will not be able to enjoy the benefits of improving the product's use efficiency. It is possible that even the original function will be damaged due to the damage of the original (4) body during the update process. Such frustration not only causes users to produce maintenance costs due to the failure of electronic products, but also allows manufacturers to witness the time and cost of products, which hinders the speed of technological development. Therefore, how to enable electronic products to provide services with the updated Weishang body, and even to maintain the operation of electronic products after the failure of the update, is an issue of inquiry. '', value 4/24 201207731 SUMMARY OF THE INVENTION The present invention provides an embedded system with a plurality of system firmware, and the embedded system firmware update method to ensure that the embedded system can be loaded after the update The system firmware, and avoids the embarrassment of the update process and crashes the embedded system. s / / For the above purpose, one aspect of the present invention provides an embedded system firmware update method, the embedded system includes a processing unit, a main memory unit, and a plurality of system firmware, the system firmware respectively - The spoon is stored in a plurality of storage blocks of a storage unit. One method embodiment package f: the embedded system receives an initial update of the version data in the user environment; searches for the address of the storage block; and identifies the object in the blade body - the object and the # use the body, Among them, each system has its own version of the corresponding version of the data; it will be updated by the secret writers; the storage block will replace the non-used blade as the embedded system (4)_ Body; comparison to make the version of the annihilation and the version of the secret to be updated is the upgrade version of the use of the squadron or the retrograde version Γ 设置 — — 更新 更新 更新 更新 更新 更新 更新 更新 更新 更新 更新 更新 更新 更新 更新 湖 湖 湖 湖 湖 湖 湖 湖 湖 湖 湖The human system, and from the storage area = data corresponds to the updated parameters of the system - system. The entry system, the present invention _ another - transfer provides - the recording of the embedded memory unit and the application of the "including: - storage unit, a main parameter (four) early 疋. Storage material and financial complex storage block and a system object ^ 1, the mother-storage block is used to store the system-body, each out-upgrade version corresponds to the version data of the Gom, and the parameter record block record indicates that the storage version is newer. The main memory unit is used for 4 halls. One of the system models is the medium body, so that 5/24

C 201207731 t =二 。處理單元則接收包括版本資 料的-待更_體,並將待更崎 使用中咖應的儲存區塊 := 體,=憤用中_更新_的版本=, 以設置更新參數,以供嵌入式系統再度啟動時,根據更新 參數的指示掛載系_體。 =内容及實作方式,請參閱以下圖式及實施例之 進一步S兄明。 【實施方式】 第一圖為本發明所提供的一種嵌入式系統實施例的方 塊^所述的嵌人^系統!包括有―儲存單元1G '一主記 隐單元12、—處理單元14及—網路控制單元16。 儲存單元10還包括具有一細體選取模組剛2的開機 管理模組100、-參數記錄區塊102,以及複數個儲存區塊 。母-個健存區塊映射—系統勒體;換言之,本實施例的 嵌入式系、统1包括有複數個系統韋刃體。本實施例中所述的 儲存單70 10可為一快閃記憶體(Flash memory),所述儲存 區塊則可為絲模擬區塊設備(bbek 的記憶體技 術設備分區(mtdbbek),系、_體可為根檔案系統(刪 filesystem )。 本實施例係以二個儲存區塊:第一儲存區塊1〇4及第 二料區塊106為例說明。其中,第一儲存區塊刚映射 第勤體,第一儲存區塊廳映射第二勒體。儲存區塊所 ,射的系統勒體是-映像樓(image),當嵌入式系統j每 次啟動後,處理單元】4會根據開機管理模組1〇〇的控制, 6/24 201207731 =其中-個系餘體的映像雜載(_nt)到主記憶單元 12,以提供使用者操作的用戶環境。 每個系、_體的映像槽的標頭(heade〇都記錄有所述 、像檔的版本號碼,可供識別不同系統減被開發或釋出 的先後順序。—如言,版本號碼越大代表_ ^式釋出的時間越晚、程式内容越新。在本實施例中’ 第一韌體與第二韌體的版本相異。 第,圖提供了—種嵌人式系崎體更新方法的實施例 。月併參考第-圖所示的嵌入式系統方塊圖,以利了解 的以式线實施财各元件__及其用途, 以及韌體更新的流程。 田,入式系統1已掛載第一拿刃體或第二拿刃體到主記憶 並進人用戶環境後,使用者対更新(uPdate) 需求,可由處理單元14透過網路控制單元16 或網站,下歧躲—份待更新勃 了述的待更新韋刃體亦為相容於嵌入式系統!的 理單元14可先對所接收的待職體進行資 性的驗證(S2〇3),例如透過待更新韋刃體本 f 硪、魔數’或是利用循環冗餘校驗(如CRC32 )^法進行驗證’以確保嵌入式系、統1所接收到的待# 新#刃體與供應商所提供_體相同。 ’、 4弟-^’以及系_體所映射到的第一儲存區塊刚 7/24 201207731 及第二儲存區塊106的所在,以辨識出將要 取代的系餘體(S2G5)。 $更新勒體 處理單元14根據主記憶單元12 二本號碼、或是對應於儲存單元丨。的 =存早兀1G中収錄的第-㈣體及第二細體的 ㈣ ^于比對,即可判斷出目前使用中㈣為何者;同日^ = 不同嵌入式系統1對儲存單元1G的區塊設計搜 t個系_體在儲存單WG映射到的儲存區塊所在 出目前使时㈣後,亦可得知非❹㈣體μ所= 的儲存區塊(例如依序制在開齡賴組⑽數 錄區塊102之後)。 ^ 舉例而言’例如在Linux系統平台中,將儲存單元1〇 虛擬為區塊設備時,第-個記憶體技術設備分區可 的是其他區塊設仙容的聰表,第二個記憶體技術 分區可能放置相關參數,接下來的第三及第四 = 術設備分區就可能依序存放著第—及第二_ ;當:體^ 些分區的位置和先後順序會隨著所使用的系統平== 異。若使用中減為第’體,則非使用中物體^ 勃體。藉此,處理單元Μ即可決定將_驗證的待^ 體寫入第二祕所對應的第二儲存區塊刚,以取代原本的 第二韋刃體。 、 本實施例更新「非使用令」系統章刃體的作法,1優點 在於:即使韋刃體更新的過程中遭遇到意外,例如斷 使用者操作不當,而使得待更新物體無法正確地 = 應的儲存區塊,第一韌體仍然完整有效,可保障嵌入 統1重新啟動後至少還有第-勒體可正常開啟,提供使用 8/24 201207731 再度接收待更新韌體及更新韌體的機 體所體、第二㈣’並找出要被取代的第二知 == 第二儲存區塊1〇6之後,在開始更新之前; 版本順心f可先輯第—H體與待更_體之間的 ⑽7)’以_較_體是轉儲存單元 '、的系統韋刀體中任一者的版本相同(S209)。C 201207731 t = two. The processing unit receives the to-be-more body including the version data, and will wait for the storage block of the Kawasaki in use: = body, = inversion_update_version_, to set the update parameter for embedding When the system is restarted, the system is mounted according to the instructions of the update parameters. For the content and implementation, please refer to the following drawings and examples. [Embodiment] The first figure is an embedded system according to the embodiment of an embedded system embodiment provided by the present invention! The storage unit 1G' is a main unit 12, the processing unit 14, and the network control unit 16. The storage unit 10 further includes a boot management module 100 having a fine selection module 2, a parameter recording block 102, and a plurality of storage blocks. The parent-storage block mapping-system collet; in other words, the embedded system 1 of the present embodiment includes a plurality of system-like blades. The storage unit 70 10 described in this embodiment may be a flash memory, and the storage block may be a silk analog block device (mbek's memory technology device partition (mtdbbek), The _ body can be a root file system (deleting file system). This embodiment is illustrated by two storage blocks: a first storage block 1〇4 and a second material block 106. The first storage block just Mapping the first body, the first storage block maps the second body. The storage block, the system of the system is the image, when the embedded system j is started, the processing unit] According to the control of the boot management module 1 , 6/24 201207731 = image miscellaneous (_nt) of the residual body to the main memory unit 12 to provide a user environment for user operation. The header of the image slot (heade〇 records the version number of the file, which can be used to identify the order in which different systems are developed or released. - As stated, the larger the version number represents the release of _ ^ The later the time, the newer the program content. In this embodiment, 'the first firmware and the first The versions of the two firmwares are different. First, the figure provides an embodiment of a method for updating the embedded system. The monthly reference block diagram of the embedded system is shown in the figure to facilitate the understanding of the line-by-line implementation. The components of the financial __ and its use, as well as the process of firmware update. The field, the input system 1 has been mounted with the first blade or the second blade to the main memory and entered the user environment, the user 対 update ( uPdate) The demand can be processed by the processing unit 14 through the network control unit 16 or the website, and the UI to be updated is also updated to be compatible with the embedded system! The received standby body is verified by the qualification (S2〇3), for example, by verifying the body of the blade, or by using the cyclic redundancy check (such as CRC32) method to ensure the embedding. The system and system 1 received the #新#blade and the supplier provided the same body. ', 4 brother-^' and the first storage block mapped by the system _ body just 7/24 201207731 and The location of the second storage block 106 is to identify the remaining body (S2G5) to be replaced. $Update Lecher Processing The element 14 can determine the current number according to the second number of the main memory unit 12, or the (-) body of the second (4) and the second (4) of the second storage body corresponding to the storage unit 丨. In use (4), the same day; the same day ^ = different embedded systems 1 to the storage unit 1G block design search t system _ body in the storage WG mapped to the storage block where the current time (four), you can also know The storage block of the non-❹ (four) body μ = (for example, in the order of the opening age group (10) after the number block 102.) ^ For example, for example, in the Linux system platform, the storage unit 1 is virtualized as a block. When the device is used, the first memory technology device partition can be a smart table of other blocks, and the second memory technology partition may place relevant parameters, and the next third and fourth = device partitions may The first and second _ are stored in sequence; when: the location and order of the partitions will be different with the system used. If it is reduced to the first body in use, the non-use object is a body. Thereby, the processing unit Μ can decide to write the _authenticated body to the second storage block corresponding to the second secret, instead of the original second welcoming body. This embodiment updates the "non-use order" system chapter blade body. One advantage is that even if an unexpected accident occurs during the process of updating the blade, for example, the user is not properly operated, and the object to be updated cannot be correctly = The storage block, the first firmware is still intact and valid, and it can ensure that at least the first-learning body can be normally opened after the restart of the embedded system 1, and the body that receives the to-be-updated firmware and the updated firmware again is provided by using 8/24 201207731. The body, the second (four)' and find the second knowledge to be replaced == the second storage block 1〇6, before starting the update; the version of the same f can be the first to the first - H body and to be more The version of (10) 7) 'the system is the same as the system of the system, and the version of the system is the same (S209).

士述步驟S209的目的,係為了避免系統資源浪費,當 :^14赠更聽體的版本號碼輯第—及第二細體 矣 =號碼’發現與第-或第二韋刃體的版本號碼相同時, 更新^與第—及第二t刃體其中之—是同一份勤體 、®卩…再次更新的必要。此時,處理單元14會終止 更新初體的工作(S211),並可將此訊息提示使用者。 若待更新勒體的版本與第一及第二勃體的版本皆不相 同’處理單元14則繼續將待更新勃體寫入第二儲存區塊刚 一S213),完成置換第二韋刀體的程序,使得置換完成後,第The purpose of step S209 is to avoid the waste of system resources, when: ^14 is the version number of the listener's version - and the second thin body = number 'discovery and the version number of the first or second Wei blade When they are the same, the update ^ and the first and second t-blade are the same ones, and the other is necessary to update again. At this time, the processing unit 14 terminates the update of the initial work (S211), and can prompt the user with this message. If the version of the to-be-renewed Leo is different from the version of the first and second Bo-body, the processing unit 14 continues to write the to-be-updated Bosch into the second storage block (S213) to complete the replacement of the second Wei-knife. Program that makes the replacement complete,

者進入用戶環境後, 儲存區塊104映射第一勒體、及第二儲存區塊106映射 待更新韌體。 般而5,使用者多半在欲升級(upgrade)嵌入式系 統1 θ時更新章刃體’也就是說,待更新勃體是-升級版本, 用以提供第-或第二勤體所未提供的功能、或是修正第一 ,第二動體程式中存在的錯誤;然而’有時為了能相容於 舊型的設備,使料可能需要回溯(d_gmde)嵌入式系 統1到較早的版本,因此,下載或接收的待更新韌體亦可 能為一回溯版本。 為此,處理單元14將待更新韌體寫入第二儲存區塊1〇6 9/24 201207731 時,也會判斷待更新韌體與未被更新的第一韌體的版本號 碼,並設置參數記錄區塊102中所記錄的一更新參數(^215 )’例如一旗標(flag),以做為嵌入式系統1啟動後選取系 統韋刀體的依據。在此例中,更新參數即標識出待更新勒體 的版本相較於使用中的第一勒體是為升級版本或回溯版本 。例如:待更新韌體為升級版本時,更新參數記錄為丨;為 回溯版本時’更新參數則記錄為〇。同時,處理單元14也 會在待更新韌體寫入後,將參數記錄區塊1〇2中的一計數 值設置為一初始值,以利後續重新啟動嵌入式系統丨的作 業。所述的初始值可為〇,計數值的相關說明將於後述。 當早刃體更新完成後,嵌入式系統1被重新啟動時(S217 ),開機管理模組100 (例如Linux系統的LIL〇)即開始準 備載入核心的系統韌體。在本實施例中,開機管理模组丨〇 〇 所包括_體選取模組臟負責搜尋_存單元所儲 存的數㈣餘體⑽9),並從搜尋到的系_體當中, 擇一掛載到主記憶單元12。 承上述_體更新過程,此時第—儲存區塊1〇4和第 區塊106中所存放料統$續分別為第—_及待 更新動體。處理單元14根_體選取模組職的 ,數記錄區塊102所記錄的更新參數(咖),以識別所 應選取的系、_體的版本是升級版本或 選取對應的系,_體,以供開機管 本並據此 主_元_),完:::將動^ ㈤ΐ更们紐前所以的待更新 10/24 201207731 統#刃體中何者版本較新,並決定將版 _掛载到為將掛載的細體,交由開機管理模 始化作紫 憶早70 12 ’ _進行各項系統設定的初 出,寫入嵌Λ成啟動嵌人式系統1的程序。若更新參數指 則選屮性二 <系統1的是一回溯版本’拿刃體選取模組刪 單元10中版本較早的系餘體,交由開機管理 俱,、五加以掛載。 取使示了關於啟動嵌人式系統時,嵌人式系統選 參閱第-圖所= 體==流程圖。請同時 叶數’參數記錄區塊102除了記錄更新參數及 °,制如1還包括系_體在儲存單元1G中的起始位置 1 乂—儲f區塊104和第二儲存區塊106的起始位 ㈣細/、開f官理模組1〇0根據起始位址存取相對應的 錄區塊102還分別記錄每-系_體的 ,數’用以指示出系統減被驗證後的結果。 在嵌入式系統i尚未執行過勒體更新之前,更新參數 :為:預设參數(如出廠預設值)’例如預設為i,以指示 攸^糸統i選取第一_和第二_當中較新的版本; 而5 t值亦可在嵌入式系統i出廠時預先設置為初始值。 i在用戶環境下更新過系統t刃體後,不論是 將^入式糸統1升級或是回溯,更新參數及計數值都會經 過修改而^己錄在參數記錄區塊102。 因此’當喪入式系統i啟動時(請n,處理單元14 開,根,開機管理模組100的指令準備進行檢測、掛載系 統韋刃體等作業。掛體前’可根據㈣選取模組丽 11/24 201207731 的指令及參數記錄區塊1〇2中的系統韌體起始位址,到儲 存單元10中相對應的位址偵測是否存在有複數系統韌體( S303)’在本例中為偵測是否有二個系統韌體;並可檢測存 在儲存單元10的系統韌體的合法性和完整性。若偵測結果 兔現僅有一個系統韌體’韌體選取模組1〇〇2即直接指定掛 載儲存單元10所儲存的唯一系統韌體到主記憶單元12 ( S305)。或者雖偵測到二個系統韌體,但僅其中一個系統韌 體通過合法性和完整性的檢驗,確認為有效的系統韌體時After entering the user environment, the storage block 104 maps the first lemma, and the second storage block 106 maps the firmware to be updated. In general, the user mostly updates the chapter blade when upgrading the embedded system 1 θ. That is, the to-be-updated version is an upgraded version to provide the first or second service. The function, or the correction of the first, second mobile program error; however, 'sometimes in order to be compatible with the old type of equipment, the material may need to backtrack (d_gmde) embedded system 1 to an earlier version Therefore, the downloaded or received firmware to be updated may also be a backtracking version. To this end, when the processing unit 14 writes the firmware to be updated to the second storage block 1〇6 9/24 201207731, it also determines the version number of the firmware to be updated and the first firmware that is not updated, and sets the parameters. An update parameter (^215)' recorded in the block 102 is, for example, a flag, as a basis for selecting the system tool body after the embedded system 1 is started. In this example, the update parameter identifies the version of the Lexon to be updated as an upgraded version or a backtracked version compared to the first Leaster in use. For example, when the firmware to be updated is an upgraded version, the update parameter is recorded as 丨; when the version is backtracked, the update parameter is recorded as 〇. At the same time, the processing unit 14 also sets a count value in the parameter record block 1〇2 to an initial value after the firmware to be updated is written, so as to facilitate the subsequent restart of the embedded system. The initial value may be 〇, and the relevant description of the count value will be described later. When the embedded system 1 is restarted after the early blade update is completed (S217), the boot management module 100 (e.g., the LIL of the Linux system) begins to prepare to load the core system firmware. In this embodiment, the boot management module includes: the body selection module is responsible for searching for the number (4) remaining body (10) 9) stored in the storage unit, and selecting one of the searched system bodies. Go to main memory unit 12. In the above-mentioned _ body update process, at this time, the storage unit in the first storage block 1〇4 and the block 106 is continued as the first__ and the dynamic to be updated. The processing unit 14 selects the module, and records the updated parameter (coffee) recorded by the block 102 to identify that the version of the system to be selected is an upgraded version or a corresponding system, _ body. For the boot and the main _ yuan _), the end::: will move ^ (five) 们 们 纽 所以 所以 所以 待 待 10 10 10 10 10 10 10 10 10 10 077 077 077 077 077 2012 2012 2012 2012 2012 2012 2012 2012 077 077 2012 2012 2012 2012 2012 2012 2012 2012 2012 077 Loaded into the fine body to be mounted, handed over to the start-up management mode to make Ziyi Zao 70 12 ' _ the first out of each system setting, write the program into the embedded embedded system 1. If the parameter is updated, the option 2 is selected. The system 1 is a retrospective version. The blade selection module deletes the version of the system that is earlier than the version, and is connected to the boot management, and five. When the intrusion system is activated, the embedded system is selected as the figure = body == flow chart. Please also the number of leaves 'parameter record block 102 in addition to the record update parameter and °, such as 1 also includes the start position of the system body in the storage unit 1G - the storage block 104 and the second storage block 106 The start bit (4) is fine, and the open government module 1〇0 accesses the corresponding record block 102 according to the start address, and also records the number of each system body, and the number ' is used to indicate that the system is verified. After the result. Before the embedded system i has not performed the sorting update, the parameter is updated: preset parameter (such as factory preset value), for example, preset to i, to indicate that the first and second _ are selected. The newer version; and the 5 t value can also be preset to the initial value when the embedded system i is shipped from the factory. i After updating the system t-blade in the user environment, whether the system is upgraded or backtracked, the update parameters and the count value will be modified and recorded in the parameter record block 102. Therefore, when the system i is activated (please, the processing unit 14 is turned on, the root, the command of the boot management module 100 is ready to be tested, and the system is mounted on the blade body. Before the hanging body can be selected according to (4) The command and parameter of the group 11/24 201207731 record the system firmware start address in block 1〇2, and the corresponding address in the storage unit 10 detects whether there is a complex system firmware (S303). In this example, it is detected whether there are two system firmwares; and the legality and integrity of the system firmware in the storage unit 10 can be detected. If the detection result, the rabbit has only one system firmware 'firm body selection module. 1〇〇2 directly specifies the unique system firmware stored in the storage unit 10 to the main memory unit 12 (S305). Or although two system firmwares are detected, only one of the system firmware passes the legality and Integrity test when confirmed as a valid system firmware

,韌體選取模組1〇〇2即指定掛載該有效的系統韌體到主記 憶單元12。 °The firmware selection module 1〇〇2 specifies that the valid system firmware is mounted to the main memory unit 12. °

右偵測結果發現二個系統韌體都儲存在儲存單元1〇』 白為有效的系統韌體,則進一步讀取計數值,判斷計數七 疋否已達到或超過一門檻值(S3〇7)。若尚未達到或超過尸 檻值,處理單元14繼續根據韌體選取模組1〇〇2的指令, 讀取更新參數(S3〇9),以判斷更新參數指示出一升級版^ 或一回溯版本。此外並根據二個系統韌體映像檔的標頭弓 所記錄的版本號碼’判斷出二⑽統㈣的版本順序關6 (S319)。接著根據更新參數的指示以及系_體間的版為 順序關係,指定掛載對應於更新參數的系統韌體(s32i)< 指定將要掛載的系統韌體後,處理單元14加計計數僧 (S323) ·璜取參數記錄區塊1〇2中的計數值,加1之 寫入參數記錄區塊102〇接著更判斷被指定的系統韌體日 開啟(S325),也就是判斷被指定的系統 疋否成功掛載到主記憶單幻2 ’並順利解開映像槽進田 統核心的初始化,使嵌入式系統1進入用戶枣产 μ t、 掛載的系統韌體正常被開啟’則更新被掛载^統 12/24 201207731 對應的驗證參數’將其驗證參數設置為指出系統勃體正常 S329) ’例如將驗證參數設置為卜以代表系統減正常 P使系統朝體寫人儲存單元丨〇的儲存區塊前經過完整 性和合法性的驗證,仍有可能因各種原因造成系統韋刃體益 法正確地被開啟執行。因此,若被指定掛载的 盔 法正常啟動,_所述純械賴應的驗醇數設置為 指出系統滅錯誤(S327),例如設置為Q ;再重新啟動嵌The right detection result shows that the two system firmwares are stored in the storage unit 1 〇 white effective system firmware, then read the count value further, to determine whether the count seven 已 has reached or exceeded a threshold (S3〇7 ). If the corpse value has not been reached or exceeded, the processing unit 14 continues to read the update parameter (S3〇9) according to the instruction of the firmware selection module 1〇〇2, to determine that the update parameter indicates an upgrade version or a backtrack version. . Further, based on the version number recorded by the header of the two system firmware files, the version order of the second (10) system (4) is judged to be 6 (S319). Then, according to the indication of the update parameter and the version relationship between the system and the body, the system firmware corresponding to the update parameter is specified to be mounted (s32i). After the system firmware to be mounted is specified, the processing unit 14 adds the count 僧 ( S323): capture the count value in the parameter record block 1〇2, add 1 to write the parameter record block 102, and then judge the designated system firmware day to be turned on (S325), that is, judge the designated system.疋No successful mount to the main memory single magic 2 'and successfully unpack the image slot into the core initialization, so that the embedded system 1 enters the user's production μ t, the mounted system firmware is normally turned on' then the update is Mounting system 12/24 201207731 Corresponding verification parameter 'Set its verification parameter to indicate that the system is normal S329) 'For example, set the verification parameter to Bu to represent the system minus normal P to make the system write to the human storage unit丨〇 Before the storage block is verified by integrity and legality, it is still possible for the system to be properly executed due to various reasons. Therefore, if the helmet method specified to be mounted is normally started, the number of alcohol checks of the purely mechanical device is set to indicate a system out error (S327), for example, set to Q;

入式系、、’充1,再度嘗試載入系統韌體(返回執行步驟幻⑴ 及以下)。 a此外,根據步驟S307判斷參數記錄區塊1〇2的計數值 是否到達或超過門檻值的結果,若當時的計數值確實已到 達或超過門檻值,則進一步判斷參數記錄區塊1〇2中的各 個驗證參數是否指示出每一系統韌體都正常(S3i〗);換言 之,也就是根據驗證參數判斷各個系統韌體是否在先前的 啟動程序都曾經被成功地載入及開啟。若是,則仍繼續根 據更新參數的指示,選取相對應的系統韌體加以掛載(步 驟S309以下)。 a但若並非每一驗證參數都指出相對應的系統韌體為正 常,則判斷是否每一驗證參數都指出相對應的系統韌體為 錯誤(S313) ’若是,則代表先前經過數次啟動嵌入式系統 1,並根據更新參數的指示指定掛載特定一系統韌體都不成 功’此時則切換更新參數内容並重設計數值(S317)。例如 •將更新參數由原本指示掛載升級版本的1,切換為指示掛 載回溯版本的0,以便韌體選取模組1002繼續執行讀取更 新參數的步驟時(S309),根據切換過的更新參數,改選取 13/24 201207731 版本較早的系統勃體,嘗試將版本較早的系統勒體掛載到 主記憶單元12 ;同時還將計數值重設為〇,使幢選取模 組1002在重啟次數達到門檻值之前,都以切換後的更新來 數指定掛載版本較早的系統韌體。 若根據驗證參數判斷儲存單元1〇内的系統勤體既非全 部顯示為正常(步驟S311結果為否),又非全部顯示為錯 誤(步驟S313結果為否)’則表示儲存單元]〇所儲存的二 個系_體當中僅有-個系_體為正f。在此情況下, 韋刃體選取模組1002即不再依據更新參數的指示而進行選取 ’改直接指定驗證參數指出為正常的特定系統$禮(S3i5 _ )’以供掛載。並於指定好掛載可正常開啟的系餘體後, 加計計數值(S323)。 在上述流程中,嵌入式系統i每次啟動後,無論系統 勃^是否成功開啟,計數值都會累加;而由於後入式系統! 先刚在用戶環境下將待更新韌體更新到儲存單元1〇後,計 數值將被重設為0’所以計數值即可代表嵌入式系統i在韌 體更新過後重新啟動的次數。 在步驟S307判斷計數值是否到達或超過門植值,並根鲁 據判斷結果做不同處理的手段,除了提供嵌入式系統】依 照更新參數的指示選取更新後之系統勃體之外,同時還提 供-種校正的機制,以便在嵌入式系統i無法依照更新參 數的指不順利開啟更新過的系統韋刀體時,仍有機會開啟未 被更動的系錄體,防止嵌人式系統丨崩潰(erash)。 /舉例來說,假設門檻值為2,若計數值小於2,也就是 從系統fcj體經過更新後,嵌入式系統!是第一次或第二次 啟動時,不論儲存單元10中的各個系統韌體是否能正常開 14/24 201207731 啟’韌體選取模組1002都會指定掛載對應於更新參數的系 統韌體。例如:更新參數為指示出升級版本的1,勒體選取 模組1002就會指定將版本順序在後的系統韌體掛載到主記 憶單元12 ’並根據掛載後系統勃體是否成功開啟而記錄相 對應的驗證參數。 當嵌入式系統1的計數值到達或超過門檻值,也就是 啟動第二次以上時’朝體選取模組1〇〇2將判斷參數記錄區 塊102中所記錄的各個驗證參數,若各驗證參數皆指出相 對應的糸統韋刃體為正常(例如參數值為1),代表嵌入式系 統1先前數次載入的系統韌體都正常,則可繼續維持原有 的開機流程’每次啟動嵌入式系統1時,都依照更新參數 的記錄而選取更新過的系統韋刃體。 若在計數值到達或超過門檻值,且根據驗證參數發現 只有一個系統初體可正常開啟時,此時不論該可開啟的系 統韌體是先前被寫入的待更新韌體或原本的第一韌體,韌 體選取模組1002皆會直接指定掛載驗證參數為丨的系統韌 體,以確保嵌入式系統1能順利開啟正常的系統韌體,進 入用戶環境,以避免嵌入式系統丨繼續嘗試開啟錯誤的系 統韌體。 即使是在發現各個系統韌體皆被記錄為錯誤(即驗證 參數為0)’韌體選取模組1002仍會不斷嘗試載入不同的系 統早刃體,以提供肷入式系統1進入用戶環境的機會。 在系統韌體皆無法正常開啟的情況下,嵌入式系統i 的計數值到達門檻值之前,韌體選取模組1002仍依照更新 參數的内容選取相對應的系統韌體,直到計數值已到達門 檻值時,由於原本被指定的系統韌體(例如待更新韌體) 15/24 201207731 ==開啟’此時則切換更新參數的内容,例如 、 刀、’、’、,使嵌入式系統1在選取系統韌體時,對庫 被切換過的更新參數 對應 體),嘗試開啟。 、另一個糸肋體(例如第-款Enter the system, 'charge 1, and try to load the system firmware again (return to the execution step magic (1) and below). a further, according to step S307, it is judged whether the count value of the parameter recording block 1〇2 reaches or exceeds the threshold value, and if the current count value has indeed reached or exceeded the threshold value, the parameter recording block 1〇2 is further determined. Whether each verification parameter indicates that each system firmware is normal (S3i); in other words, it is judged according to the verification parameters whether each system firmware has been successfully loaded and started in the previous startup program. If yes, it continues to select the corresponding system firmware to be mounted according to the indication of the update parameter (step S309 and below). a, but if not every verification parameter indicates that the corresponding system firmware is normal, then it is judged whether each verification parameter indicates that the corresponding system firmware is an error (S313) 'If yes, it means that the previous execution has been embedded several times. System 1, and specifying that mounting a particular system firmware is unsuccessful according to the indication of the update parameter. At this time, the parameter content is updated and the value is redesigned (S317). For example, the update parameter is switched from the originally indicated upgrade version 1 to the 0 indicating the mount backtrack version, so that the firmware selection module 1002 continues to perform the step of reading the update parameter (S309), according to the switched update. Parameters, choose the 13/24 201207731 version of the earlier system, try to mount the earlier version of the system to the main memory unit 12; also reset the count value to 〇, so that the building selection module 1002 Before the number of restarts reaches the threshold, the system firmware with the earlier mounted version is specified by the number of updates after the switch. If it is determined according to the verification parameter that the system entities in the storage unit 1 are all displayed as normal (the result of step S311 is NO), and not all of them are displayed as errors (NO in step S313), then the storage unit is stored. Among the two lines of the _ body, only one line _ body is positive f. In this case, the blade body selection module 1002 no longer selects according to the indication of the update parameter. The direct specified authentication parameter is indicated as a normal specific system $(S3i5 _ )' for mounting. And after specifying the mounting of the remaining body that can be normally opened, the count value is added (S323). In the above process, after each startup of the embedded system i, regardless of whether the system is successfully turned on, the count value will be accumulated; and because of the backward input system! After updating the firmware to be updated to the storage unit 1 in the user environment, the count value will be reset to 0' so the count value represents the number of times the embedded system i restarts after the firmware update. In step S307, it is determined whether the count value reaches or exceeds the threshold value, and according to the judgment result, the method of different processing is performed, in addition to providing the embedded system, according to the instruction of the update parameter, the updated system is selected, and the system is also provided. A correction mechanism, so that when the embedded system i cannot open the updated system tool in accordance with the update parameter, there is still a chance to open the untouched system to prevent the embedded system from collapsing ( Erash). / For example, suppose the threshold is 2, if the count is less than 2, that is, after the system fcj has been updated, the embedded system! It is the first or second startup, regardless of whether the system firmware in the storage unit 10 can be normally opened. 14/24 201207731 The firmware selection module 1002 will specify the system firmware corresponding to the update parameter. For example, if the update parameter is 1 indicating the upgraded version, the Lexmark selection module 1002 will specify that the system firmware with the later version is mounted to the main memory unit 12' and according to whether the system is successfully turned on after the mounting. Record the corresponding verification parameters. When the count value of the embedded system 1 reaches or exceeds the threshold value, that is, when the second time or more is started, the 'body selection module 1〇〇2' will judge each verification parameter recorded in the parameter record block 102, if each verification The parameters indicate that the corresponding Siweiwei blade body is normal (for example, the parameter value is 1), which means that the system firmware of the previous embedded system 1 is normal, then the original boot process can be maintained. When the embedded system 1 is started, the updated system blade is selected according to the record of the update parameters. If the count value reaches or exceeds the threshold value, and it is found that only one system initial body can be normally turned on according to the verification parameter, then the openable system firmware is the previously written firmware to be updated or the original first. The firmware and firmware selection module 1002 will directly specify the system firmware with the verification parameter 丨 to ensure that the embedded system 1 can successfully open the normal system firmware and enter the user environment to avoid the embedded system. Try to open the wrong system firmware. Even if it is found that each system firmware is recorded as an error (ie, the verification parameter is 0), the firmware selection module 1002 will continue to try to load different system early blade bodies to provide the intrusion system 1 into the user environment. chance. In the case that the system firmware cannot be normally opened, before the count value of the embedded system i reaches the threshold, the firmware selection module 1002 still selects the corresponding system firmware according to the content of the update parameter until the count value has reached the threshold. When the value is due to the originally specified system firmware (for example, the firmware to be updated) 15/24 201207731 == On 'At this time, the contents of the update parameters, such as knife, ', ', are enabled, so that the embedded system 1 is When selecting the system firmware, try to open the update parameter corresponding to the library. Another rib (for example, paragraph -

π刀換更新參數之外,同時也將計數值重設為〇,使 了新選取的糸_體(即本例中的第一祕)也 J 會(如本财為二次)被掛載到主記憶單幻2。1 度到達門檻值時’若仍無法成功啟動,則再次 刀換更新參數的内容,嘗試載人另—系統 待更新利用這種反覆切換 = ==記憶單元12中。設計者可訂定一切換二 /被切換到達預定的切換次數時,則停止繼續嘗試載 式系統1可交由其他的檢測或修復程序進行 /據上述實施例所揭露的嵌人式系統以及其勃體更新 ^使用者不僅可㈣版本較新的线㈣為嵌入式系In addition to the update parameter of the π knife, the count value is also reset to 〇, so that the newly selected 糸_body (that is, the first secret in this example) is also J (if the capital is twice) is mounted. To the main memory single magic 2. When the degree reaches the threshold value 'If it still fails to start successfully, then the content of the update parameter is changed again, try to load the other one - the system is to be updated with this repeated switching === memory unit 12. The designer can set a switch 2 / is switched to reach a predetermined number of handovers, then stop continuing to try to load the system 1 can be carried out by other detection or repair procedures / the embedded system disclosed in the above embodiments and Boss update ^ users can not only (four) version of the newer line (four) for the embedded system

統更可以版本較早的系統動體更新嵌入式系統 ’使甘入入式糸統回_較早期的狀態,以符合使用者進 測試或其他操作的需求。 除了可任意將嵌入式系統升級或回湖之外,嵌入式系 統於啟動時,根據置換系、_體後所設置的更新參數的内 容選取應載人的系統物體的作法,使得巍人式系統不論是 經過升級或回溯’麵準確地選取出更新的系餘體,也 就是使用者所希望使用的系_體,讀狀到主記憶單 元後’可順獅映像槽朗,進人使用麵欲操作的用 戶環境。 16/24 201207731 即使使用者更新的系統韌體無法正常開啟時,只要儲 存單元中記錄有一份正常可開啟的系統韌體,本發明仍能 確保嵌入式系統可以利用正常可開啟的系統韌體順利啟動 ,讓使用者能繼續操作嵌入式系統。本發明的手段可避免 置換系統韌體過程中發生錯誤、或使用者操作不當,而造 成嵌入式系統完全損毀、無法開啟的情況,確保嵌入式系 統的穩定性。 然而,上述各實施例當中之項目及元件,僅係為闡述 • 本發明所舉之例示,並無自限所請求保護之範圍之意圖。 凡遵循本發明之精神及根據本發明所揭示之技術手段,而 進行微幅之修飾或改變者,亦屬本發明所保護之範疇。 【圖式簡單說明】 f圖·本發明所提供的一種嵌入式系統實施例方塊圖; 第一圖.本發明所提供的一種嵌入式系統韌體更新方法實 施例之流程圖;及 ' • 帛二圖:本發明所提供的—種嵌人式系肋體更新方法實 施例之流程圖。 ' 【主要元件符號說明】 1嵌入式系統 10儲存單元 100開機管理模組 1002韌體選取模組 102參數記錄區塊 104第一儲存區塊 17/24It is possible to update the embedded system with an earlier version of the system to make the entry system back to an earlier state to meet the needs of the user for testing or other operations. In addition to the optional upgrade of the embedded system or back to the lake, the embedded system selects the system object to be loaded according to the content of the update parameters set after the replacement system and the _ body, so that the embedded system Whether it is upgraded or backtracked to accurately select the updated system, that is, the system that the user wants to use, after reading the message to the main memory unit, the image can be read by the lion. The user environment of the operation. 16/24 201207731 Even if the user's updated system firmware cannot be turned on normally, the present invention can ensure that the embedded system can utilize the normal openable system firmware as long as a normal openable system firmware is recorded in the storage unit. Boot, allowing users to continue operating the embedded system. The method of the invention can avoid the occurrence of errors in the process of replacing the firmware of the system or the improper operation of the user, thereby causing the embedded system to be completely damaged and unable to be opened, and ensuring the stability of the embedded system. However, the items and elements of the above-described embodiments are merely illustrative of the invention and are not intended to limit the scope of the claimed invention. It is also within the scope of the present invention to modify or modify the micro-frames in accordance with the spirit of the present invention and the technical means disclosed herein. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an embodiment of an embedded system provided by the present invention; FIG. 1 is a flow chart of an embodiment of an embedded system firmware update method provided by the present invention; and ' • 帛FIG. 2 is a flow chart of an embodiment of a method for updating a ribbed body according to the present invention. ' [Main component symbol description] 1 embedded system 10 storage unit 100 boot management module 1002 firmware selection module 102 parameter recording block 104 first storage block 17/24

C 201207731 106第二儲存區塊 12主記憶單元 14處理單元 16網路控制單元 S201-S223流程步驟 S301-S329流程步驟C 201207731 106 second storage block 12 main memory unit 14 processing unit 16 network control unit S201-S223 process steps S301-S329 process steps

18/2418/24

Claims (1)

201207731 七、申請專利範圍·· 1. 一種嵌入式系統韋刃體更新方法,該嵌入式系統包括一處 理單元、一主記憶單元,以及複數系統韌體,該等系統 韌體分別一對一儲存於一儲存單元的複數儲存區塊,該 方法包括: 該嵌入式系統在一用戶環境接收包括有版本資料的 一待更新韌體; 尋找該等儲存區塊之位址; 辨識該等系統韌體當中的一使用中韌體及一非使用 中韋刃體’每一該等糸統韋刃體分別包括相對應的版本 資料, 將該待更新韌體寫入該非使用中韌體所對應的該儲 存區塊,以取代該非使用中韌體作為該嵌入式系統 的其中一該等系統韌體; 比對該使用中韌體及該待更新韌體之版本資料,以判 斷該待更新韌體是該使用中韌體的一升級版本或 一回溯版本; 根據比對結果設置一更新參數,該更新參數用以指示 該升級版本或該回溯版本;及 重新啟動該嵌入式系統,並從該等儲存區塊選取版本 資料相對應於該更新參數的其中一該等系統韌體。 2. 如申請專利範圍第1項所述的嵌入式系統韌體更新方法 ,其中,接收該待更新韌體之後,更包括: 驗證接收到的該待更新韌體的完整性及合法性。 3. 如申請專利範圍第1項所述的嵌入式系統韌體更新方法 ,其中,將該待更新韌體寫入該非使用中韌體所對應的 19/24 201207731 该儲存區塊之前,更包括: 比對該待更新韌體與該等系統韌體之版本資料,以 2該待更新韌體是否與任一該等系統韌體的版本 資料相同;及 當該待更新韌體與該等系統韌體的版本資料皆相異 ,則執行寫入該待更新韌體之步驟。 4.如申請專利範圍第3項所述的嵌人式系統㈣更新方法 ,其中,比對該待更新韌體與該等系統韌體之版本資 當該待更新㈣與任m錄體的版本 貝枓相同’則終止更新該嵌人式系統之勤體。 .如申請專利範圍第1項所述的嵌人式系統㈣更新方法 -中將4待更新勃體寫人該非使用中勒體所對應 該儲存區塊之後,更包括: 一 驗證儲存在雜存區塊之該待更_體 合法性。 6.如:請專利範圍第i項所述的嵌入式系統動體更新方法 心Γ將該待更新㈣寫人該非使用中_所對應的 该儲存區塊之後,更包括: , 5又置一計數值為一初始值;及 設置該待更新勒體的一驗證參數,該驗證參數用以指 不所對應的該系統韌體為正常或錯誤。 • 專利範圍第6項所述的嵌入式系餘體更新方法 續Μ ’ Ϊ新啟動該嵌人式系統,並選取其中一該等系 統韌體之步驟中包括: 偵測該等儲存區塊分別儲存_等系統款體; 讀取該更新參數; 20/24 201207731 體之版本資料,以判斷被 祀H 款體之版本順序關係,·及 根體之版本财_ 到==對應的其中-該等系咖掛載 I如:^:==_體_法 到該主記憶單元:後=相對應的該系統㈣掛载 判=掛❹m主記憶單元_系錄體是否成功開 右又, 當成功開啟時,設置相對應的該驗證參數 載的該系統動體為正常;及 出破掛 當無法成功開啟時,設置相對應的該驗證參數以 被掛載的該系統韌體為錯誤。 曰 9.如申請專利範圍第8項所述的嵌人式系統㈣更新 ,其中’設置相對應的該驗證參數以指出被 〆 統韌體為錯誤之後,更包括: 秋亥糸 返回重新啟動該嵌入式系統之步驟執行。 10·如申請專利範圍第9項所述的嵌入式系統f刃體更新方法 ,其中,指定將與該更新參數相對應的該系統韌體恭 到該主記憶單元之後,更包括: 加計該計數值。 如申請專利範圍第10項所述的嵌入式系統韌體更新方 法’其中,讀取該更新參數之前,更包括: 判斷該計數值是否已到達或超過一門檻值; 當該計數值尚未到達該門檻值,執行讀取該更新參數 21/24 201207731 之步驟;及 當該計數值已到達或超過該門棰值,則判斷該 韌體所對應的該等驗證來數指 _為正常或錯誤,若該等驗證== :議體皆為正常,則執行讀取該更= 12.如申請專利範圍第〗1項 法’其中’判斷該等驗證參數指‘出韌體更新方 韌體為正常或錯誤的步驟中,包括:^的該等系統 若該等驗證參數指示出該㈣統 換,新參數及重設該計數值為該初:二則切 執行°買取該更新參數之步驟。 13:申2利範圍第,項所述的嵌入式_更新方 初體為正常或錯誤的步驟中,包括:H亥寺糸統 若該等驗證參數指示出僅右 正常,則俨定將_ /、—該等系統韌體為 該主記憶=ί示為正常的該系統_掛載到 執行加计該計數值的步驟。 14.如專利範圍第7項所述的 後其:包:測該等物塊分別儲存的該等=::: ^斷該儲存單元賴存财 若該儲存單元包括複數有效的該等 里, ο讀取該更新參數的步驟;及系如肢,則執行 相儲存單元僅包括一個有效的該等系統拿刃體,則指 201207731 15. 一種多韌體二”裁到該主 1^ 括: 複數儲存區塊 韌體,每 > 亥專錯存區魂用士 ;及母1等系統㈣括相對:存1, -參4的版本資剩 :二錄區塊’記錄-更新參數,, -主記憶單!^版本或―_版本;4更%參數指 -該i系:知::掛載該等儲存區機所儲“ 進入-用戶環使用中㈣’使d令 -處理嚴-兄,及 式系統 ^ 70 ’接收包括有版本資祖ώΑ 並將該待Λ 待—, 用"刀體所對:入遠寻系統動體中的—非使 物體,以及比=存區塊,以取代該非使用中 本順序關# ^使用中動體與該待更新_體的版 】6.如ΐ^ 設置該更新參數。 ,該處理單項所述的多拿刀體嵌入式系統,其中 儲疒 兀在垓嵌入式系統啟動時,讀取及比對該等 根^品塊所儲存的該等系統拿刀體的版本順序關係,以及 ;忒更新參數及版本順序關係,選取版本資料對應於 =更新參數的其中一該等系統韌體,以掛載到該主記憶 早元。 17.如申請專利範圍第16項所述的多韌體嵌入式系統,其中 ,該儲存單元更包括: 開機官理模組,包括一韌體選取模組,該處理單元 根據該韌體選取模組的指令,在該嵌入式系統啟動 23/24 201207731 :等=新參數及版本順序關係,選取其中- 18.==第16項所述的多_嵌入式系統,其中 及參數記錄區塊更包括: >、甲 複參數,分別用以—對—指示該等儲存區塊所 :::生等=體’掛载到該主記億單元後正常 —:=:=::=:7該等_ 其▲中,该處理早元根據該章刀體選取模組的指令,在該 計數2到達或超過-門播值時,檢驗該等驗數 =決定應掛_該主記憶單元的其中—該等系統 19.如:請專利範圍第18項所述的多拿刀體嵌入式系統’苴中 ί計?值到達或超過該門檻值,且該等驗證參數皆 二:亥韌體為錯誤時,該處理單元根據該韌體 2=::切換該更新參數的内容’並重設該計 20.如申請專利範圍第18項所述的多㈣嵌人式系統,立中 :當該計數值到達或超過檻值,且該等驗證參數指 二出僅有,、巾β亥等系統早刃體為正常時,該處理單元指 定掛載被指示為正常的該系統韌體。 24/24201207731 VII. Application Patent Range·· 1. An embedded system update method, the embedded system includes a processing unit, a main memory unit, and a plurality of system firmware, and the system firmware is stored one-to-one In a plurality of storage blocks of a storage unit, the method includes: the embedded system receiving a to-be-updated firmware including version data in a user environment; searching for addresses of the storage blocks; and identifying the system firmware One of the in-use firmware and one non-used medium-blade body each of which includes a corresponding version data, and the firmware to be updated is written to the non-in-use firmware corresponding to the Storing a block to replace the non-in-use firmware as one of the system firmware of the embedded system; comparing the firmware of the in-use firmware and the firmware to be updated to determine whether the firmware to be updated is An upgraded version or a backtracking version of the firmware in use; setting an update parameter according to the comparison result, the update parameter is used to indicate the upgraded version or the backtracked version; Start the embedded system, and choose the version information from such storage blocks corresponding to the updated parameter of one such system firmware. 2. The embedded system firmware update method of claim 1, wherein after receiving the to-be-updated firmware, the method further comprises: verifying the integrity and legality of the received firmware to be updated. 3. The method for updating an embedded system firmware according to claim 1, wherein the to-be-updated firmware is written before the storage block corresponding to the non-used firmware 19/24 201207731, and further includes : comparing the firmware of the to-be-updated firmware and the firmware of the system to whether the firmware to be updated is the same as the version of the firmware of any of the system firmware; and when the firmware to be updated and the system If the version data of the firmware is different, the step of writing the firmware to be updated is performed. 4. The method for updating an embedded system (4) according to claim 3, wherein the version of the to-be-updated firmware and the firmware of the system is to be updated (four) and the version of the recorded body. The same as 'Beibei' terminates the update of the embedded system. The method for updating the embedded system (4) as described in claim 1 of the patent application scope is as follows: after the non-use of the non-use of the corpus, the storage block is further included: The block should be more _ body legal. 6. For example, please refer to the embedded system dynamic update method described in item i of the patent scope that the user wants to update (4) after writing the storage block corresponding to the non-use _, and further includes: The count value is an initial value; and a verification parameter of the to-be-updated Leo is set, and the verification parameter is used to indicate that the corresponding system firmware is normal or incorrect. • The method for updating the embedded system described in item 6 of the patent scope continues to Μ 'Starting the embedded system and selecting one of the system firmware steps includes: detecting the storage blocks respectively Store _ and other system models; read the update parameters; 20/24 201207731 body version data to determine the order relationship of the 祀H body, and the version of the root _ to == corresponding to - Wait for the cafe to mount I such as: ^:==_body_method to the main memory unit: after = corresponding system (four) mount judgment = hanging ❹ m main memory unit _ system is successfully opened right again, when When the system is successfully turned on, the system dynamics of the corresponding verification parameter are set to be normal; and when the disconnection cannot be successfully opened, the corresponding verification parameter is set to be the wrong firmware of the system to be mounted.曰 9. The embedded system (4) update according to item 8 of the patent application scope, wherein 'the corresponding verification parameter is set to indicate that the system firmware is an error, and the following includes: Qiuhai 糸 return to restart the Step execution of the embedded system. 10. The embedded system f-blade updating method according to claim 9, wherein the system firmware corresponding to the update parameter is specified after the main memory unit, and the method further comprises: adding the meter Value. The embedded system firmware update method of claim 10, wherein before the reading the update parameter, the method further comprises: determining whether the count value has reached or exceeded a threshold; when the count value has not reached the Threshold value, performing the step of reading the update parameter 21/24 201207731; and when the count value has reached or exceeded the threshold value, determining that the verification number corresponding to the firmware refers to _ is normal or incorrect, If the verification == : the body is normal, then read the more = 12. If the scope of the patent application is 〗 〖1', where 'the judgment of the verification parameter means that the firmware of the firmware update is normal. Or the wrong steps, including: ^, if the verification parameters indicate the (4) change, the new parameter and reset the count value to the beginning: the second step is to perform the step of purchasing the update parameter. 13: Shen 2 Scope Range, the embedded _ update party described in the item is a normal or erroneous step, including: H Hai Temple 若 If the verification parameters indicate that only the right is normal, then 俨 将 _ /, - The system firmware is the main memory = 示 is shown as normal, the system _ mount to the step of performing the addition of the count value. 14. As described in item 7 of the patent scope: package: measuring the storage of the blocks, respectively: =::: ^ disconnecting the storage unit depends on the storage unit if the storage unit includes the plurality of valid ones, ο Taking the step of updating the parameters; and if the limbs are, the execution phase storage unit includes only one valid system blade body, which means 201207731 15. A multi-firm body 2" is cut to the main body 1 : plural storage Block firmware, each > Hai special error storage area souls; and mother 1 system (four) including relative: save 1, -4 version of the remaining: two recorded block 'record - update parameters,, - main Memory list!^ version or __ version; 4%% parameter refers to - the i system: know:: mount the storage area machine to store "into-user ring use (four)' to make d order - handle strict - brother, And the system ^ 70 'receive includes the version of the ancestral ancestor and will wait for -, with the " knife body: into the far-moving system in the moving body - non-object, and ratio = save block, Replace the non-use of this order off # ^ use the middle body and the version of the body to be updated _ body 6. If ΐ ^ set the update parameters. The multi-tool body embedded system described in the single item, wherein the storage device reads and compares the version order of the system body of the system stored in the root block when the embedded system is started Relationship, and; 忒 update parameters and version order relationship, select one of the system firmware corresponding to the version data corresponding to the update parameter to be mounted to the main memory early element. 17. The multi-firm embedded system of claim 16, wherein the storage unit further comprises: a booting module, comprising a firmware selection module, the processing unit selecting a mode according to the firmware Group instructions, in the embedded system start 23/24 201207731: etc. = new parameters and version order relationship, select - 18. = = the multi_embedded system described in item 16, wherein the parameter record block is more Including: >, A complex parameters, respectively - for - indicates that the storage block::: raw, etc. = body is mounted to the main unit after the unit is normal -:=:=::=:7 In the _ ▲, the processing is based on the instruction of the module selection module of the chapter, and when the count 2 reaches or exceeds the gated value, the check is verified = the _ the main memory unit is determined Among them - these systems 19. For example: please refer to the multi-tool body embedded system described in item 18 of the patent scope. The value reaches or exceeds the threshold, and the verification parameters are two: when the firmware is wrong, the processing unit switches the content of the update parameter according to the firmware 2=:: and resets the meter. The multi (four) embedded system according to item 18 of the scope, when the count value reaches or exceeds the threshold value, and the verification parameters refer to the second only, and the early blade of the system such as the towel β Hai is normal. The processing unit specifies to mount the system firmware indicated as normal. 24/24
TW99126326A 2010-08-06 2010-08-06 Embedded system with plural firmware and firmware updating method thereof TW201207731A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99126326A TW201207731A (en) 2010-08-06 2010-08-06 Embedded system with plural firmware and firmware updating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99126326A TW201207731A (en) 2010-08-06 2010-08-06 Embedded system with plural firmware and firmware updating method thereof

Publications (1)

Publication Number Publication Date
TW201207731A true TW201207731A (en) 2012-02-16

Family

ID=46762296

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99126326A TW201207731A (en) 2010-08-06 2010-08-06 Embedded system with plural firmware and firmware updating method thereof

Country Status (1)

Country Link
TW (1) TW201207731A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI480799B (en) * 2012-07-05 2015-04-11 Wistron Neweb Corp Method and equipment for upadating firmware of embedded system
TWI562070B (en) * 2015-08-12 2016-12-11 Quanta Comp Inc Updating method, server system and non-transitory computer readable medium
TWI647615B (en) * 2018-03-29 2019-01-11 緯創資通股份有限公司 Boot method for firmware system using multiple embedded controller firmware
TWI655582B (en) * 2017-09-12 2019-04-01 神雲科技股份有限公司 Server with dual firmware storage space and firmware update method thereof
CN110135791A (en) * 2018-02-08 2019-08-16 亚智科技股份有限公司 Process recipe monitoring method and process recipe monitoring system
TWI676933B (en) * 2018-07-05 2019-11-11 慧榮科技股份有限公司 Firmware updating method
CN112256596A (en) * 2020-10-23 2021-01-22 英业达科技有限公司 Method for refreshing signal repeater in electronic device firmware
TWI718642B (en) * 2019-08-27 2021-02-11 點序科技股份有限公司 Memory device managing method and memory device managing system
TWI720594B (en) * 2019-08-23 2021-03-01 神雲科技股份有限公司 Remote update firmware control method
TWI757934B (en) * 2020-10-27 2022-03-11 英業達股份有限公司 Method for updating redriver in firmware of electronic device
TWI812534B (en) * 2022-11-04 2023-08-11 慧榮科技股份有限公司 Firmware updating method and data storage device utilizing the same
TWI814634B (en) * 2022-11-04 2023-09-01 慧榮科技股份有限公司 Firmware updating method and data storage device utilizing the same
TWI819930B (en) * 2022-12-21 2023-10-21 新唐科技股份有限公司 Automatic firmware switching method and electrical device using the same

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI480799B (en) * 2012-07-05 2015-04-11 Wistron Neweb Corp Method and equipment for upadating firmware of embedded system
TWI562070B (en) * 2015-08-12 2016-12-11 Quanta Comp Inc Updating method, server system and non-transitory computer readable medium
US10698679B2 (en) 2017-09-12 2020-06-30 Mitac Computing Technology Corporation Server with double-firmware storage space and firmware update method therefor
TWI655582B (en) * 2017-09-12 2019-04-01 神雲科技股份有限公司 Server with dual firmware storage space and firmware update method thereof
CN110135791A (en) * 2018-02-08 2019-08-16 亚智科技股份有限公司 Process recipe monitoring method and process recipe monitoring system
CN110321170B (en) * 2018-03-29 2022-07-29 纬创资通股份有限公司 Starting-up method
US10691467B2 (en) 2018-03-29 2020-06-23 Wistron Corporation Booting method using system firmware with multiple embedded controller firmwares
TWI647615B (en) * 2018-03-29 2019-01-11 緯創資通股份有限公司 Boot method for firmware system using multiple embedded controller firmware
CN110321170A (en) * 2018-03-29 2019-10-11 纬创资通股份有限公司 Starting-up method
TWI676933B (en) * 2018-07-05 2019-11-11 慧榮科技股份有限公司 Firmware updating method
TWI720594B (en) * 2019-08-23 2021-03-01 神雲科技股份有限公司 Remote update firmware control method
TWI718642B (en) * 2019-08-27 2021-02-11 點序科技股份有限公司 Memory device managing method and memory device managing system
CN112256596A (en) * 2020-10-23 2021-01-22 英业达科技有限公司 Method for refreshing signal repeater in electronic device firmware
CN112256596B (en) * 2020-10-23 2022-07-05 英业达科技有限公司 Method for refreshing signal repeater in electronic device firmware
TWI757934B (en) * 2020-10-27 2022-03-11 英業達股份有限公司 Method for updating redriver in firmware of electronic device
TWI812534B (en) * 2022-11-04 2023-08-11 慧榮科技股份有限公司 Firmware updating method and data storage device utilizing the same
TWI814634B (en) * 2022-11-04 2023-09-01 慧榮科技股份有限公司 Firmware updating method and data storage device utilizing the same
TWI819930B (en) * 2022-12-21 2023-10-21 新唐科技股份有限公司 Automatic firmware switching method and electrical device using the same

Similar Documents

Publication Publication Date Title
TW201207731A (en) Embedded system with plural firmware and firmware updating method thereof
KR101994811B1 (en) Electronic apparatus, method for restore of mbr and computer-readable recording medium
TWI269229B (en) Method, device and system for supporting safe updates and multiple processor types
US8423991B2 (en) Embedded network device and firmware upgrading method
US20120191960A1 (en) Booting computing devices
CN103942065B (en) For updating the method and system of firmware compatibility data
TW573275B (en) Recovery method and device of computer operating system and method for building computer system with BTC model
US20070204089A1 (en) Multi-protocol removable storage device
US12131144B2 (en) Updating operating system data in a static partition of an electronic device
US20230393840A1 (en) File update method and apparatus, device and storage medium
JPWO2013103023A1 (en) Information processing apparatus, information processing method, and computer program
CN103761124B (en) Embedded Linux system for protection supervisory equipment starts method
CN101373451B (en) Computer system for protecting dual basic output and output system program and its control method
TW201017537A (en) Computer system with dual BIOS prottection mechanism and control method of the same
CN103514015A (en) Method and device for booting operation system from storage medium
KR20170040734A (en) Electronic system with update control mechanism and method of operation thereof
CN106775610A (en) A kind of electronic equipment starts method and a kind of electronic equipment
CN108874582A (en) A kind of system recovery method, device and terminal
CN105138430A (en) Embedded operating system backup and restoration method and device
CN113608692B (en) Storage system data consistency verification method, system, equipment and medium
CN111221553A (en) Method and device for upgrading firmware
CN109375953B (en) Operating system starting method and device
CN114461257B (en) Operating system data configuration method, device, storage medium and program product
CN114780019A (en) Electronic device management method and device, electronic device and storage medium
CN116594639A (en) System installation package management method, device, storage medium and program product