TWI480799B - Method and equipment for upadating firmware of embedded system - Google Patents

Method and equipment for upadating firmware of embedded system Download PDF

Info

Publication number
TWI480799B
TWI480799B TW101124215A TW101124215A TWI480799B TW I480799 B TWI480799 B TW I480799B TW 101124215 A TW101124215 A TW 101124215A TW 101124215 A TW101124215 A TW 101124215A TW I480799 B TWI480799 B TW I480799B
Authority
TW
Taiwan
Prior art keywords
firmware
target module
update
module
data storage
Prior art date
Application number
TW101124215A
Other languages
Chinese (zh)
Other versions
TW201403478A (en
Inventor
Chingjung Chen
Yungfa Ho
Original Assignee
Wistron Neweb Corp
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 Wistron Neweb Corp filed Critical Wistron Neweb Corp
Priority to TW101124215A priority Critical patent/TWI480799B/en
Publication of TW201403478A publication Critical patent/TW201403478A/en
Application granted granted Critical
Publication of TWI480799B publication Critical patent/TWI480799B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

嵌入式系統之韌體更新方法及設備 Firmware update method and device for embedded system

本發明是有關於一種韌體更新方法及設備,且特別是有關於一種嵌入式系統的韌體更新方法及設備。 The invention relates to a firmware updating method and device, and in particular to a firmware updating method and device for an embedded system.

嵌入式系統(Embedded System)是一種為特定應用設計的專用電腦系統,其係包括除了以通用為目的之一般個人電腦之外的所有電腦。從行動式音樂播放器到太空梭的實時控制子系統都能見到嵌入式系統的應用。與一般個人電腦系統可以滿足多種任務不同,嵌入式系統只能完成某些特定目的的任務。此外,嵌入式系統亦有些必須滿足的基本性能,如安全性和可用性。除此之外,其他功能可能要求較低或沒有要求,使嵌入式系統的硬體得以簡化,以降低成本。對於大批量生產的嵌入式系統來說,降低成本通常是設計的首要考慮。因此,嵌入式系統通常需要簡化去除不需要的功能以降低成本。 The Embedded System is a dedicated computer system designed for a specific application, which includes all computers except general computers for general purpose purposes. Embedded system applications can be seen from the mobile music player to the real-time control subsystem of the space shuttle. Unlike a typical PC system that can handle a variety of tasks, an embedded system can only perform tasks for specific purposes. In addition, embedded systems have some basic features that must be met, such as security and availability. In addition, other features may require lower or no requirements, simplifying the hardware of the embedded system to reduce costs. For embedded systems that are mass-produced, reducing costs is often the primary consideration in design. Therefore, embedded systems often need to simplify the removal of unwanted features to reduce costs.

嵌入式系統的核心是由一個或幾個預先編程好執行少數幾項任務的微處理器或者微控制器組成。與一般個人電腦能夠執行使用者所安裝之各種軟體,嵌入式系統上的軟體通常是暫時不變的,因而被稱為韌體(firmware)。 The core of an embedded system consists of one or several microprocessors or microcontrollers that are pre-programmed to perform a few tasks. And the general personal computer can execute various software installed by the user, and the software on the embedded system is usually temporarily unchanged, and thus is called firmware.

以韌體而言,製造廠都會提供韌體給客戶下載更新。但是,在韌體更新的階段,目前的處理方式都是將韌體內容一次全部更新到記憶體內。因此,在更新韌體時必需中斷目前設備的操作,才能使用到新的功能。這樣的操作往 往會造成使用者不方便,而且在更新韌體時都需要花較長的時間重新啟動(Reboot)系統。 In terms of firmware, the manufacturer will provide firmware to download updates for customers. However, in the firmware update phase, the current processing method is to update the firmware content to the memory at one time. Therefore, when updating the firmware, it is necessary to interrupt the operation of the current device in order to use the new function. Such an operation It is inconvenient for the user, and it takes a long time to reboot the system when updating the firmware.

有鑑於先前技術所造成的問題,本發明提供了一種嵌入式系統之韌體更新方法及系統以克服先前技術所造成的問題。 In view of the problems caused by the prior art, the present invention provides a firmware updating method and system for an embedded system to overcome the problems caused by the prior art.

本發明之一態樣是在提供一種嵌入式系統之韌體更新方法。 One aspect of the present invention is to provide a firmware update method for an embedded system.

根據本發明一實施方式,一種嵌入式系統之韌體更新方法包含:執行嵌入式系統之數個功能模組,其中功能模組根據存於原始資料儲存區塊中對應的韌體而執行。提供模組更新表用以記錄每一功能模組的目前韌體版本資料。自伺服器中接收具有更新版本資料的韌體更新檔,其中韌體更新檔用以將功能模組中之至少一目標模組更新至更新韌體版本資料。將更新韌體版本資料輸入模組更新表中,使至少一目標模組在模組更新表中同時具有目前韌體版本資料與更新韌體版本資料。將韌體更新檔覆寫原始資料儲存區塊中之對應至少一目標模組的韌體並判斷是否完整覆寫。當韌體更新檔完整覆寫原始資料儲存區塊中之對應至少一目標模組的韌體時,根據原始資料儲存區塊中覆寫後之至少一目標模組的韌體,重新初始至少一目標模組及與至少一目標模組具相依性的功能模組,其中重新初始至少一目標模組以及與至少一目標模組具相依性的功能模組時,嵌入式系統之其他功能模組仍持續執行。 According to an embodiment of the present invention, a firmware update method for an embedded system includes: executing a plurality of functional modules of the embedded system, wherein the functional modules are executed according to corresponding firmware stored in the original data storage block. A module update table is provided for recording the current firmware version data of each function module. A firmware update file with updated version data is received from the server, wherein the firmware update file is used to update at least one target module in the function module to the updated firmware version data. The firmware version data is input into the module update table, so that at least one target module has both the current firmware version data and the updated firmware version data in the module update table. The firmware update file overwrites the firmware of the corresponding at least one target module in the original data storage block and determines whether the firmware is completely overwritten. When the firmware update file completely overwrites the firmware of the at least one target module in the original data storage block, at least one firmware is re-initiated according to the firmware of the at least one target module after the original data storage block is overwritten. a target module and a functional module responsive to at least one target module, wherein when at least one target module and a functional module responsive to at least one target module are reinitiated, other functional modules of the embedded system It continues to execute.

本發明之另一態樣是在提供一種嵌入式系統之韌體更新設備。 Another aspect of the present invention is to provide a firmware update device for an embedded system.

根據本發明另一實施方式,一種嵌入式系統之韌體更新設備包含儲存裝置以及處理器。儲存裝置具有固定存取記憶體及隨機存取記憶體。其中,固定存取記憶體具有模組更新表。處理器與儲存裝置電性連接,其包含:功能模組執行單元、更新接收單元、登錄單元、覆寫單元以及初始單元。功能模組執行單元用以執行嵌入式系統之數個功能模組。更新接收單元用以自伺服器中接收具有更新版本資料的韌體更新檔並將韌體更新檔儲存於儲存裝置。登錄單元用以將更新韌體版本資料登錄於模組更新表中。覆寫單元用以將韌體更新檔覆寫原始資料儲存區塊中對應目標模組的韌體並判斷是否完整覆寫。初始單元當韌體更新檔完整覆寫原始資料儲存區塊中之對應目標模組的韌體時,用以根據原始資料儲存區塊中覆寫後之目標模組的韌體,重新初始目標模組及與目標模組具相依性的功能模組。 According to another embodiment of the present invention, a firmware update device for an embedded system includes a storage device and a processor. The storage device has fixed access memory and random access memory. The fixed access memory has a module update table. The processor is electrically connected to the storage device, and includes: a function module execution unit, an update receiving unit, a login unit, an overwriting unit, and an initial unit. The function module execution unit is used to execute several functional modules of the embedded system. The update receiving unit is configured to receive the firmware update file with the updated version data from the server and store the firmware update file in the storage device. The login unit is used to log the updated firmware version data into the module update table. The overwrite unit is configured to overwrite the firmware update file with the firmware of the corresponding target module in the original data storage block and determine whether the firmware is completely overwritten. When the firmware update file completely overwrites the firmware of the corresponding target module in the original data storage block, the initial unit is used to re-initialize the target model according to the firmware of the target module after the original data storage block is overwritten. Groups and functional modules that are dependent on the target module.

應用本發明具有下列優點。本發明之嵌入式系統在韌體更新時,可分別更新所需更新的功能模組,進而僅需初始化接受更新的功能模組及與其具相依性的功能模組。因此,嵌入式系統在韌體更新完成後不需重新啟動整個系統。沒有進行韌體更新的其他功能模組仍可繼續運作其功能。 The application of the present invention has the following advantages. When the firmware is updated, the embedded system of the present invention can separately update the function modules that need to be updated, and then only need to initialize the function modules that receive the update and the function modules that are dependent on them. Therefore, the embedded system does not need to restart the entire system after the firmware update is completed. Other functional modules that do not have firmware updates can continue to function.

另外,使用者可經由模組更新表來決定目前功能模組的韌體版本資料。藉此,使用者可由韌體版本資料得知功能模組的開發狀況,進而決定功能模組的韌體是否需要進 行更新。因此,本發明可依據使用者的需求,決定嵌入式系統內的功能模組是否要進行韌體更新。 In addition, the user can determine the firmware version data of the current function module via the module update table. Therefore, the user can know the development status of the function module from the firmware version data, and then determine whether the firmware of the function module needs to be advanced. Line updates. Therefore, the present invention can determine whether the function module in the embedded system needs to be firmware updated according to the needs of the user.

以下將以圖式及詳細說明本發明之精神,任何所屬技術領域中具有通常知識者在瞭解本發明之較佳實施例後,當可由本發明所教示之技術加以改變及修飾,其並不脫離本發明之精神與範圍。 The spirit and scope of the present invention will be described in the following detailed description of the preferred embodiments of the present invention, which can be modified and modified by the teachings of the present invention. The spirit and scope of the present invention.

請參照第1圖,其繪示依照本發明一實施方式的一種嵌入式系統之韌體更新方法100之步驟流程圖。如第1圖所示,嵌入式系統之韌體更新方法100包含以下步驟: Please refer to FIG. 1 , which is a flow chart of steps of a firmware update method 100 for an embedded system according to an embodiment of the invention. As shown in FIG. 1, the firmware update method 100 of the embedded system includes the following steps:

在步驟110中,執行嵌入式系統之數個功能模組。其中,功能模組根據存於原始資料儲存區塊中對應的韌體而執行。舉例來說,嵌入式系統可依照功能屬性分成圖形使用者介面(Graphical User Interface,GUI)類、處理系統類以及驅動裝置類。進一步地,嵌入式系統可在依照各別將使用者介面類、處理系統類以及驅動裝置類內部的功能屬性不同細分為數個功能模組。其中,每個功能模組在原始資料儲存區塊中具有相對應的韌體,藉由所屬之韌體以執行其功能模組的功能。在本實施中,原始資料儲存區塊係位於固定存取記憶體內。舉例來說,固定存取記憶體可為快閃記憶體(Flash)、非揮發性記憶體(Non-Volatile Random Access Memory,NVRAM)或其他可供存取之儲存元件。此外,執行嵌入式系統包含預先編程好執行少數幾項任務的微處理器或者微控制器,用以執行嵌入式系統之 各功能模組。 In step 110, a plurality of functional modules of the embedded system are executed. The function module is executed according to the corresponding firmware stored in the original data storage block. For example, an embedded system can be divided into a graphical user interface (GUI) class, a processing system class, and a driver class according to functional attributes. Further, the embedded system may be subdivided into several functional modules according to different functional attributes within the user interface class, the processing system class, and the driver device class. Each functional module has a corresponding firmware in the original data storage block, and the function of the functional module is performed by the associated firmware. In this implementation, the original data storage block is located in a fixed access memory. For example, the fixed access memory can be a flash memory, a non-Volatile Random Access Memory (NVRAM), or other storage element that can be accessed. In addition, the execution of the embedded system includes a microprocessor or microcontroller pre-programmed to perform a few tasks to execute the embedded system. Each function module.

在步驟120中,提供模組更新表,以記錄每一功能模組的目前韌體版本資料。其中,目前韌體版本資料包含每一功能模組在原始資料儲存區塊內的韌體的韌體版本資料,韌體版本資料可包含所屬韌體資訊的版本編號。因此,在模組更新表中可顯示每一功能模組及其對應的目前韌體版本資料,以供使用者了解功能模組的韌體更新情形。 In step 120, a module update table is provided to record the current firmware version data of each function module. The firmware version data includes the firmware version of the firmware of each function module in the original data storage block, and the firmware version data may include the version number of the firmware information. Therefore, each function module and its corresponding current firmware version data can be displayed in the module update table for the user to understand the firmware update status of the function module.

在步驟130中,自伺服器中接收具有更新版本資料的韌體更新檔。在本實施例中,功能模組中之目標模組可利用韌體更新檔進行更新,利用韌體更新檔將此目標模組更新至一更新韌體版本資料。然而,在一些實施例中,韌體更新檔可同時對功能模組中數個目標模組進行更新,使得功能模組中的數個目標模組同時更新至一相同的更新韌體版本資料。其中,更新韌體版本資料可包含更新韌體資訊的版本編號。 In step 130, a firmware update file with updated version data is received from the server. In this embodiment, the target module in the function module can be updated by using the firmware update file, and the target module is updated to an updated firmware version data by using the firmware update file. However, in some embodiments, the firmware update file may simultaneously update a plurality of target modules in the function module, so that several target modules in the function module are simultaneously updated to an identical updated firmware version data. The updated firmware version data may include the version number of the updated firmware information.

在步驟140中,將更新韌體版本資料登錄於模組更新表中。在本實施例中,功能模組中的每一目標模組在模組更新表中可同時具有目前韌體版本資料與更新韌體版本資料。然而,因模組更新表可顯示目標模組(目標模組為可接收韌體更新檔更新的功能模組)的目前韌體版本資料與更新韌體版本資料,使用者可經由模組更新表得知可接收韌體更新檔更新的目標模組的目前韌體資訊的版本編號與韌體更新檔的更新韌體資訊的版本編號。因此,使用者可比較兩版本資料以決定是否對此目標模組進行更新。 In step 140, the updated firmware version data is registered in the module update table. In this embodiment, each target module in the function module can have both the current firmware version data and the updated firmware version data in the module update table. However, the module update table can display the current firmware version data and the updated firmware version data of the target module (the target module is a functional module that can receive the firmware update file update), and the user can update the table via the module. The version number of the current firmware information of the target module that can receive the firmware update file update and the version number of the firmware update information of the firmware update file are known. Therefore, the user can compare the two versions of the data to determine whether to update the target module.

然而,當目標模組是複數個時,使用者可藉由步驟140所提供的資訊對數個可進行韌體更新的目標模組進行挑 選,並選擇至少一個目標模組以進行韌體更新。 However, when the target module is plural, the user can pick up a plurality of target modules that can be firmware updated by using the information provided in step 140. Select and select at least one target module for firmware update.

在步驟160中,將韌體更新檔覆寫原始資料儲存區塊中之對應目標模組的韌體。在本實施例中,因目標模組在模組更新表中同時具有目前韌體版本資料與更新韌體版本資料,當目前韌體版本資料與更新韌體版本資料相同時,不將韌體更新檔覆寫原始資料儲存區塊中對應目標模組的韌體,及表示不進行嵌入式系統的韌體更新。 In step 160, the firmware update file is overwritten with the firmware of the corresponding target module in the original data storage block. In this embodiment, the target module has the current firmware version data and the updated firmware version data in the module update table. When the firmware version data and the updated firmware version data are the same, the firmware is not updated. The file overwrites the firmware of the corresponding target module in the original data storage block, and indicates that the firmware update of the embedded system is not performed.

另外,在步驟170中,判斷韌體更新檔是否完整覆寫原始資料儲存區塊中之對應目標模組的韌體。 In addition, in step 170, it is determined whether the firmware update file completely overwrites the firmware of the corresponding target module in the original data storage block.

在步驟180中,當韌體更新檔完整覆寫更新模組之韌體時,根據原始資料儲存區塊中覆寫後之目標模組的韌體,重新初始目標模組及與目標模組具相依性的功能模組。數個功能模組之間在功能上具有相依性,因此在重新初始其中一功能模組時,需要同時初始具有相依性的其他數個功能模組。於是,當目標模組之韌體經韌體更新檔覆寫完成後,初始化此目標模組及與目標模組具相依性的其他數個功能模組,使得韌體更新後的目標模組可與其他具相依性的功能模組正常進行交互運作。 In step 180, when the firmware update file completely overwrites the firmware of the update module, the target module and the target module are re-initiated according to the firmware of the target module after the original data storage block is overwritten. Dependent function module. Several functional modules are functionally dependent, so when re-initializing one of the functional modules, several other functional modules that are initially dependent are required. Therefore, after the firmware of the target module is overwritten by the firmware update file, the target module and other functional modules that are dependent on the target module are initialized, so that the target module after the firmware update can be Interoperate normally with other dependent function modules.

因此,在韌體更新檔完整覆寫更新模組之韌體時,未進行初始化的其他功能模組,仍可進行其功能性的運作。本實施例所述之嵌入式系統整體不會因進行韌體更新檔完整覆寫更新模組之韌體的過程而使整個系統完全停止運作。 Therefore, when the firmware update file completely overwrites the firmware of the update module, other functional modules that have not been initialized can still perform their functional operations. The embedded system described in this embodiment does not completely complete the process of updating the firmware of the module due to the firmware update file, so that the entire system is completely stopped.

另外,在本實施例中,在將韌體更新檔覆寫原始資料儲存區塊中之對應目標模組的韌體(步驟160)更新前, 進一步將原始資料儲存區塊中目標模組之韌體儲存至暫存資料儲存區塊(步驟150)。因此,當韌體更新檔沒有完整覆寫目標模組之韌體時,將暫存資料儲存區塊所儲存之目標模組之韌體重新寫回原始資料儲存區塊中(步驟190)。其中,本實施例所述之暫存資料儲存區塊係位於隨機存取記憶體內。然而,在一些實施例中,當韌體更新檔沒有完整覆寫原始資料儲存區塊中之對應目標模組的韌體後,可發送更新失敗資訊(步驟192)以告知使用者韌體更新失敗。而當韌體更新檔完整覆寫原始資料儲存區塊中之對應目標模組的韌體後,發送更新完成資訊(步驟182)以告知使用者韌體更新成功。 In addition, in this embodiment, before the firmware update file is overwritten with the firmware of the corresponding target module in the original data storage block (step 160), The firmware of the target module in the original data storage block is further stored to the temporary data storage block (step 150). Therefore, when the firmware update file does not completely overwrite the firmware of the target module, the firmware of the target module stored in the temporary data storage block is rewritten back into the original data storage block (step 190). The temporary storage data storage block in the embodiment is located in the random access memory. However, in some embodiments, after the firmware update file does not completely overwrite the firmware of the corresponding target module in the original data storage block, update failure information may be sent (step 192) to inform the user that the firmware update failed. . After the firmware update file completely overwrites the firmware of the corresponding target module in the original data storage block, the update completion information is sent (step 182) to inform the user that the firmware update is successful.

請參照第2圖,其繪示依照第1圖之嵌入式系統之韌體更新方法中步驟150a之步驟流程圖。如第2圖所示,當目標模組為複數個時,在將原始資料儲存區塊中目標模組之韌體儲存至暫存資料儲存區塊(步驟150)後,判斷所選擇的目標模組在嵌入式系統中是否正在執行運作(步驟152)。當選擇之目標模組為未執行運作的目標模組時,將韌體更新檔覆寫原始資料儲存區塊中之對應所選擇的目標模組的韌體(步驟160),進而執行如第1圖所述之步驟流程。 Please refer to FIG. 2, which is a flow chart showing the steps of step 150a in the firmware update method of the embedded system according to FIG. 1. As shown in FIG. 2, when the target module is plural, after the firmware of the target module in the original data storage block is stored in the temporary data storage block (step 150), the selected target mode is determined. Whether the group is performing an operation in the embedded system (step 152). When the selected target module is a target module that is not in operation, the firmware update file overwrites the firmware of the corresponding selected target module in the original data storage block (step 160), and then performs the first step. The flow of steps described in the figure.

另外,當所選擇之目標模組正在執行運作時,停止所選擇的目標模組及與所選擇的目標模組具相依性的功能模組的執行運作(步驟154),將韌體更新檔覆寫原始資料儲存區塊中之對應所選擇的目標模組的韌體(步驟160),進而執行如第1圖所述之步驟流程。 In addition, when the selected target module is performing the operation, the execution of the selected target module and the function module corresponding to the selected target module is stopped (step 154), and the firmware update file is overwritten. The firmware of the selected target module in the original data storage block is written (step 160), and the step flow as described in FIG. 1 is performed.

請參照第3圖,其繪示依照本發明再一實施方式的一種嵌入式系統之韌體更新設備200之功能方塊圖。嵌入式系統之韌體更新設備200包含儲存裝置220以及處理器210。 Please refer to FIG. 3, which is a functional block diagram of a firmware update device 200 of an embedded system according to still another embodiment of the present invention. The firmware update device 200 of the embedded system includes a storage device 220 and a processor 210.

儲存裝置220具有固定存取記憶體222及隨機存取記憶體224(Random Access Memory,RAM),其中固定存取記憶體222儲存有模組更新表。舉例來說,嵌入式系統內所屬的圖形使用者介面(Graphical User Interface,GUI)類、處理系統類以及驅動裝置類後,再進一步地將每一類依照功能屬性的不同分類成數個功能模組。然而,每一功能模組具有相對應的韌體,並將韌體儲存於固定存取記憶體222中。另外,韌體可包含對應功能模組名稱、版本資料及韌體程式碼。利用模組更新表可分別記錄一嵌入式系統之數個功能模組的韌體版本資料。另外,在一些實施例中,固定存取記憶體222可為快閃記憶體(Flash)、非揮發性記憶體(Non-Volatile Random Access Memory,NVRAM)或其他可供存取之儲存元件。而在其他實施例中,隨機存取記憶體224也可用其他用以作為嵌入式系統之主記憶體的記憶體所取代之。 The storage device 220 has a fixed access memory 222 and a random access memory 224 (Random Access Memory, RAM), wherein the fixed access memory 222 stores a module update table. For example, after the graphical user interface (GUI) class, the processing system class, and the driver class in the embedded system, each class is further classified into several function modules according to different functional attributes. However, each functional module has a corresponding firmware and stores the firmware in the fixed access memory 222. In addition, the firmware may include a corresponding function module name, version data, and firmware code. The firmware update table can be used to record the firmware version data of several functional modules of an embedded system. In addition, in some embodiments, the fixed access memory 222 can be a flash memory, a non-Volatile Random Access Memory (NVRAM), or other storage elements that can be accessed. In other embodiments, the random access memory 224 can also be replaced by other memory used as the primary memory of the embedded system.

處理器210自伺服器300中透過輸出輸入介面400以接收韌體更新檔並與儲存裝置220電性連接而將韌體更新檔儲存於儲存裝置220中。輸出輸入介面400可包含網路介面、通用匯流排(Universal Serial Bus Interface,USB)介面、大容量儲存裝置介面以及其他輸出輸入裝置介面。 The processor 210 stores the firmware update file from the server 300 through the output input interface 400 to receive the firmware update file and is electrically connected to the storage device 220 to store the firmware update file in the storage device 220. The output input interface 400 can include a network interface, a Universal Serial Bus Interface (USB) interface, a mass storage device interface, and other output input device interfaces.

處理器210具有多個經組態(configuration)以執行程式 模組的裝置。在本實施例中,處理器210包含:功能模組執行單元211、更新接收單元212、登錄單元213、覆寫單元214、以及初始單元215。 The processor 210 has a plurality of configurations to execute the program Module device. In this embodiment, the processor 210 includes: a function module execution unit 211, an update receiving unit 212, a login unit 213, an overwriting unit 214, and an initial unit 215.

功能模組執行單元211用以將嵌入式系統之數個功能模組的韌體版本資料登錄模組更新表內。 The function module execution unit 211 is configured to register the firmware version data of the plurality of function modules of the embedded system into the module update table.

更新接收單元212用以自伺服器300中接收具有更新版本資料的韌體更新檔並將韌體更新檔儲存於儲存裝置220,其中韌體更新檔用以將功能模組中之目標模組更新至更新韌體版本資料。在本實施例中,韌體更新檔包含所對應之功能模組的名稱、版本資料及韌體程式碼。 The update receiving unit 212 is configured to receive the firmware update file with the updated version data from the server 300 and store the firmware update file in the storage device 220, where the firmware update file is used to update the target module in the function module. Update the firmware version information. In this embodiment, the firmware update file includes the name, version data, and firmware code of the corresponding function module.

覆寫單元214用以將韌體更新檔覆寫原始資料儲存區塊中對應目標模組的韌體並判斷是否完整覆寫。因此,覆寫單元214可自模組更新表中選擇一功能模組作為更新模組以接受一韌體更新檔而達韌體更新。 The overwrite unit 214 is configured to overwrite the firmware update file with the firmware of the corresponding target module in the original data storage block and determine whether the firmware is completely overwritten. Therefore, the overwrite unit 214 can select a function module from the module update table as the update module to accept a firmware update file for firmware update.

當韌體更新檔完整覆寫原始資料儲存區塊中之對應目標模組的韌體時,初始單元215用以根據原始資料儲存區塊中覆寫後之目標模組的韌體,重新初始目標模組及與目標模組具相依性的功能模組。因此,除了具韌體更新檔的目標模組及與其具相依性的功能模組外,嵌入式系統中其他的功能模組仍可繼續運作不致因其他更新模組進行韌體更新而中斷。 When the firmware update file completely overwrites the firmware of the corresponding target module in the original data storage block, the initial unit 215 is used to re-initialize the target according to the firmware of the target module after the original data storage block is overwritten. The module and the functional module that is dependent on the target module. Therefore, in addition to the target module with the firmware update file and the functional module with its dependencies, the other functional modules in the embedded system can continue to operate without interruption due to firmware update of other update modules.

另外,處理器210可進一步包含備分單元216與回寫單元217。備份單元216用以將韌體更新檔儲存於隨機存取記憶體224以及將目標模組之韌體備份儲存於隨機存取記憶體224中。當韌體更新檔覆寫於所選取的目標模組與 其對應的韌體時,備份單元216先將所選取的目標模組其覆寫前之韌體備份儲存於隨機存取記憶體224中。當韌體更新檔沒有完整覆寫目標模組之韌體時,回寫單元217用以將隨機存取記憶體224所儲存之目標模組之韌體重新寫回固定存取記憶體222中。 In addition, the processor 210 may further include a backup unit 216 and a write back unit 217. The backup unit 216 is configured to store the firmware update file in the random access memory 224 and store the firmware backup of the target module in the random access memory 224. When the firmware update file is overwritten with the selected target module and In the corresponding firmware, the backup unit 216 first stores the firmware backup of the selected target module before the overwrite in the random access memory 224. When the firmware update file does not completely overwrite the firmware of the target module, the write back unit 217 is configured to rewrite the firmware of the target module stored in the random access memory 224 back to the fixed access memory 222.

在本實施例中,處理器210進一步包含發送單元218,用以發送更新成功資訊或更新失敗資訊。舉例來說,當韌體更新檔沒有完整覆寫更新模組之韌體後,發送單元218可發送更新失敗資訊以通知使用者更新失敗的訊息。當韌體更新檔完整覆寫更新模組之韌體後,發送單元218可發送一更新完成資訊以通知使用者韌體更新成功的訊息。 In this embodiment, the processor 210 further includes a sending unit 218, configured to send update success information or update failure information. For example, after the firmware update file does not completely overwrite the firmware of the update module, the sending unit 218 may send an update failure message to notify the user to update the failed message. After the firmware update file completely overwrites the firmware of the update module, the sending unit 218 may send an update completion message to notify the user that the firmware update is successful.

另外,在一些實施例中,處理器220進一步包含暫停單元219,當所選擇之目標模組正在執行運作時用以停止所選擇的目標模組及與所選擇的目標模組具相依性的功能模組的執行運作以進行後續目標模組與具相依性功能模組的初始化。 In addition, in some embodiments, the processor 220 further includes a suspending unit 219 for stopping the selected target module and the function of the selected target module when the selected target module is performing the operation. The module is executed to initialize the subsequent target module and the dependent function module.

由上述本發明實施方式可知,應用本發明具有下列優點。本發明之嵌入式系統在韌體更新時,可分別更新所需更新的功能模組,進而僅需初始化接受更新的功能模組及與其具相依性的功能模組。因此,嵌入式系統在韌體更新完成後不需重新啟動整個系統。沒有進行韌體更新的其他功能模組仍可繼續運作其功能。 It will be apparent from the above-described embodiments of the present invention that the application of the present invention has the following advantages. When the firmware is updated, the embedded system of the present invention can separately update the function modules that need to be updated, and then only need to initialize the function modules that receive the update and the function modules that are dependent on them. Therefore, the embedded system does not need to restart the entire system after the firmware update is completed. Other functional modules that do not have firmware updates can continue to function.

另外,使用者可經由模組更新表來決定目前功能模組的韌體版本資料。藉此,使用者可由韌體版本資料得知功能模組的開發狀況,進而決定功能模組的韌體是否需要進 行更新。因此,本發明可依據使用者的需求,決定嵌入式系統內的功能模組是否要進行韌體更新。 In addition, the user can determine the firmware version data of the current function module via the module update table. Therefore, the user can know the development status of the function module from the firmware version data, and then determine whether the firmware of the function module needs to be advanced. Line updates. Therefore, the present invention can determine whether the function module in the embedded system needs to be firmware updated according to the needs of the user.

雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention, and the present invention can be modified and modified without departing from the spirit and scope of the present invention. The scope is subject to the definition of the scope of the patent application attached.

100‧‧‧嵌入式系統之韌體更新方法 100‧‧‧ Firmware update method for embedded systems

110~192‧‧‧步驟 110~192‧‧‧Steps

200‧‧‧嵌入式系統之韌體更新設備 200‧‧‧ Firmware update device for embedded systems

210‧‧‧處理器 210‧‧‧ processor

215‧‧‧初始單元 215‧‧‧ initial unit

216‧‧‧備份單元 216‧‧‧Backup unit

217‧‧‧回寫單元 217‧‧‧ writeback unit

218‧‧‧發送單元 218‧‧‧Send unit

219‧‧‧暫停單元 219‧‧‧ Suspension unit

220‧‧‧儲存裝置 220‧‧‧Storage device

211‧‧‧功能模組執行單元 211‧‧‧Function Module Execution Unit

212‧‧‧更新接收單元 212‧‧‧Update receiving unit

213‧‧‧登錄單元 213‧‧‧ Login unit

214‧‧‧覆寫單元 214‧‧‧Overwrite unit

222‧‧‧固定存取記憶體 222‧‧‧Fixed access memory

224‧‧‧隨機存取記憶體 224‧‧‧ Random access memory

300‧‧‧伺服器 300‧‧‧Server

400‧‧‧輸入輸出介面 400‧‧‧Input and output interface

為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下: The above and other objects, features, advantages and embodiments of the present invention will become more apparent and understood.

第1圖係繪示依照本發明一實施方式的一種嵌入式系統之韌體更新方法之步驟流程圖。 1 is a flow chart showing the steps of a firmware update method for an embedded system according to an embodiment of the invention.

第2圖係繪示第1圖之嵌入式系統之韌體更新方法中步驟150a之步驟流程圖。 2 is a flow chart showing the steps of step 150a in the firmware update method of the embedded system of FIG. 1.

第3圖係繪示依照本發明再一實施方式的一種嵌入式系統之韌體更新設備之功能方塊圖。 FIG. 3 is a functional block diagram of a firmware update device of an embedded system according to still another embodiment of the present invention.

100‧‧‧嵌入式系統之韌體更新方法 100‧‧‧ Firmware update method for embedded systems

110~192‧‧‧步驟 110~192‧‧‧Steps

Claims (11)

一種嵌入式系統之韌體更新方法,其包含:(a)執行一嵌入式系統之複數個功能模組,其中該些功能模組根據存於一原始資料儲存區塊中對應的韌體而執行;(b)提供一模組更新表,用以記錄每一該些功能模組的一目前韌體版本資料;(c)自一伺服器中接收具有更新版本資料的一韌體更新檔,其中該韌體更新檔用以將該些功能模組中之至少一目標模組更新至一更新韌體版本資料;(d)將該更新韌體版本資料登錄於該模組更新表中;(e)將該韌體更新檔覆寫該原始資料儲存區塊中對應該至少一目標模組的韌體並判斷是否完整覆寫;以及(f)當該韌體更新檔完整覆寫該原始資料儲存區塊中之對應該至少一目標模組的韌體時,根據原始資料儲存區塊中覆寫後之該至少一目標模組的韌體,重新初始該至少一目標模組及與該至少一目標模組具相依性的該些功能模組,其中重新初始該至少一目標模組以及與該至少一目標模組具相依性的該些功能模組時,該嵌入式系統之其他功能模組仍持續執行。 A firmware updating method for an embedded system, comprising: (a) executing a plurality of functional modules of an embedded system, wherein the functional modules are executed according to corresponding firmware stored in a raw data storage block; (b) providing a module update table for recording a current firmware version of each of the function modules; (c) receiving a firmware update file with updated version data from a server, wherein The firmware update file is used to update at least one target module of the function modules to an updated firmware version data; (d) registering the updated firmware version data in the module update table; Transmitting the firmware update file to the firmware of the at least one target module in the original data storage block and determining whether the firmware is completely overwritten; and (f) when the firmware update file completely overwrites the original data storage Retrieving the at least one target module and the at least one of the target modules according to the firmware of the at least one target module after the original data storage block is overwritten in the block corresponding to the firmware of the target module The target module has dependencies on the functional modules, wherein The new initial target module and at least one of these functional modules and the at least one target module with dependencies, other functional modules of the embedded systems continued to perform. 如請求項1所述之嵌入式系統之韌體更新方法,更包含:在將該韌體更新檔覆寫該原始資料儲存區塊中之該至少一目標模組之韌體前,將該原始資料儲存區塊中該至少 一目標模組之韌體儲存至一暫存資料儲存區塊;當該韌體更新檔沒有完整覆寫該至少一目標模組之韌體時,將該暫存資料儲存區塊所儲存之該至少一目標模組之韌體重新寫回該原始資料儲存區塊中。 The method for updating the firmware of the embedded system according to claim 1, further comprising: before the firmware update file overwrites the firmware of the at least one target module in the original data storage block, the original At least in the data storage block The firmware of the target module is stored in a temporary storage data storage block; when the firmware update file does not completely overwrite the firmware of the at least one target module, the temporary storage data storage block stores the firmware The firmware of at least one target module is rewritten back into the original data storage block. 如請求項1所述之嵌入式系統之韌體更新方法,其中步驟(e)包含:當該至少一目標模組為複數個時,判斷該些目標模組是否執行運作;以及選擇未執行運作的該至少一目標模組,將該韌體更新檔覆寫該原始資料儲存區塊中之對應所選擇的該目標模組的韌體並判斷是否完整覆寫。 The firmware update method of the embedded system of claim 1, wherein the step (e) comprises: determining whether the target modules perform operations when the at least one target module is plural; and selecting the unexecuted operation The at least one target module overwrites the firmware of the selected target module in the original data storage block and determines whether the firmware is completely overwritten. 如請求項1所述之嵌入式系統之韌體更新方法,其中步驟(e)包含:當該至少一目標模組為複數個時,判斷該些目標模組是否執行運作;以及當所選擇之該至少一目標模組正在執行運作時,停止所選擇的該至少一目標模組及與所選擇的該至少一目標模組具相依性的該些功能模組的執行運作,並將該韌體更新檔覆寫該原始資料儲存區塊中之對應所選擇的該至少一目標模組的韌體並判斷是否完整覆寫。 The firmware update method of the embedded system of claim 1, wherein the step (e) comprises: determining whether the target modules perform operations when the at least one target module is plural; and when selecting When the at least one target module is performing the operation, stopping execution of the selected at least one target module and the function modules that are dependent on the selected at least one target module, and the firmware is The update file overwrites the firmware of the selected at least one target module in the original data storage block and determines whether the firmware is completely overwritten. 如請求項1所述之嵌入式系統之韌體更新方法,進一步包含: 當該韌體更新檔沒有完整覆寫該原始資料儲存區塊中之對應該至少一目標模組的韌體後,發送一更新失敗資訊;以及當該韌體更新檔完整覆寫該原始資料儲存區塊中之對應該至少一目標模組的韌體後,發送一更新完成資訊。 The firmware update method of the embedded system according to claim 1, further comprising: Sending an update failure message after the firmware update file does not completely overwrite the firmware corresponding to the at least one target module in the original data storage block; and when the firmware update file completely overwrites the original data storage After the block corresponds to at least one firmware of the target module, an update completion message is sent. 如請求項1所述之嵌入式系統之韌體更新方法,其中該至少一目標模組在該模組更新表中同時具有該目前韌體版本資料與該更新韌體版本資料,當該目前韌體版本資料與該更新韌體版本資料相同時,不將該韌體更新檔覆寫該原始資料儲存區塊中對應該至少一目標模組的韌體。 The firmware update method of the embedded system of claim 1, wherein the at least one target module has both the current firmware version data and the updated firmware version data in the module update table, when the current firmware is When the volume version data is the same as the updated firmware version data, the firmware update file is not overwritten with the firmware corresponding to at least one target module in the original data storage block. 一種嵌入式系統之韌體更新設備,包含:一儲存裝置,包含一固定存取記憶體與一隨機存取記憶體,其中該固定存取記憶體儲存有一模組更新表,用以儲存一嵌入式系統之複數個功能模組的韌體版本資料;以及一處理器,與該儲存裝置電性連接,其包含:一功能模組執行單元,用以執行該嵌入式系統之該些功能模組;一更新接收單元,用以自一伺服器中接收具有更新版本資料的一韌體更新檔並將該韌體更新檔儲存於該儲存裝置,其中該韌體更新檔用以將該些功能模組中之至少一目標模組更新至一更新韌體版本資料;一登錄單元,用以將該更新韌體版本資料登錄於 該模組更新表中;一覆寫單元,用以將該韌體更新檔覆寫該原始資料儲存區塊中對應該至少一目標模組的韌體並判斷是否完整覆寫;以及一初始單元,當該韌體更新檔完整覆寫該原始資料儲存區塊中之對應該至少一目標模組的韌體時,用以根據原始資料儲存區塊中覆寫後之該至少一目標模組的韌體,重新初始該至少一目標模組及與該至少一目標模組具相依性的該些功能模組。 An embedded system firmware update device includes: a storage device comprising a fixed access memory and a random access memory, wherein the fixed access memory stores a module update table for storing an embedded The firmware version of the plurality of functional modules of the system; and a processor electrically coupled to the storage device, comprising: a functional module execution unit for executing the functional modules of the embedded system An update receiving unit, configured to receive a firmware update file with updated version data from a server and store the firmware update file in the storage device, wherein the firmware update file is used to modify the function At least one target module in the group is updated to an updated firmware version data; a login unit is configured to log the updated firmware version data to In the module update table, an overwrite unit is configured to overwrite the firmware update block with the firmware of the at least one target module in the original data storage block and determine whether the firmware is completely overwritten; and an initial unit When the firmware update file completely overwrites the firmware of the at least one target module in the original data storage block, the at least one target module is overwritten according to the original data storage block. The firmware re-initializes the at least one target module and the functional modules that are dependent on the at least one target module. 如請求項7所述之嵌入式系統之韌體更新設備,其中該處理器進一步包含一備分單元,用以將該韌體更新檔儲存於一隨機存取記憶體以及將該至少一目標模組之韌體備份儲存於該隨機存取記憶體中。 The firmware update device of the embedded system of claim 7, wherein the processor further comprises a backup unit for storing the firmware update file in a random access memory and the at least one target mode The firmware backup of the group is stored in the random access memory. 如請求項8所述之嵌入式系統之韌體更新設備,其中該處理器進一步包含一回寫單元,當該韌體更新檔沒有完整覆寫該至少一目標模組之韌體時,用以將該隨機存取記憶體所儲存之該至少一目標模組之韌體重新寫回該固定存取記憶體中。 The firmware update device of the embedded system of claim 8, wherein the processor further comprises a writeback unit, when the firmware update file does not completely overwrite the firmware of the at least one target module, The firmware of the at least one target module stored in the random access memory is rewritten back into the fixed access memory. 如請求項9所述之嵌入式系統之韌體更新設備,其中該處理器進一步包含一發送單元,用以當該韌體更新檔沒有完整覆寫該原始資料儲存區塊中之對應該至少一目標模組的韌體後,發送一更新失敗資訊;或當該韌體更新 檔完整覆寫該原始資料儲存區塊中之對應該至少一目標模組的韌體後,發送一更新完成資訊。 The firmware update device of the embedded system of claim 9, wherein the processor further comprises a sending unit, configured to: when the firmware update file does not completely overwrite the corresponding one of the original data storage blocks After the firmware of the target module, send an update failure message; or when the firmware is updated After the file completely overwrites the firmware corresponding to at least one target module in the original data storage block, an update completion message is sent. 如請求項7所述之嵌入式系統之韌體更新設備,其中該處理器進一步包含一暫停單元,當所選擇之該至少一目標模組正在執行運作時,用以停止所選擇的該至少一目標模組及與所選擇的該至少一目標模組具相依性的該些功能模組的執行運作。 The firmware updating device of the embedded system of claim 7, wherein the processor further comprises a suspending unit for stopping the selected at least one when the selected at least one target module is performing an operation. The target module and the execution of the functional modules that are dependent on the selected at least one target module.
TW101124215A 2012-07-05 2012-07-05 Method and equipment for upadating firmware of embedded system TWI480799B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101124215A TWI480799B (en) 2012-07-05 2012-07-05 Method and equipment for upadating firmware of embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101124215A TWI480799B (en) 2012-07-05 2012-07-05 Method and equipment for upadating firmware of embedded system

Publications (2)

Publication Number Publication Date
TW201403478A TW201403478A (en) 2014-01-16
TWI480799B true TWI480799B (en) 2015-04-11

Family

ID=50345573

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101124215A TWI480799B (en) 2012-07-05 2012-07-05 Method and equipment for upadating firmware of embedded system

Country Status (1)

Country Link
TW (1) TWI480799B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714220B (en) * 2019-08-16 2020-12-21 致伸科技股份有限公司 Universal serial bus device and firmware update method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131563A1 (en) * 2008-09-24 2011-06-02 Hitachi Solutions, Ltd. Firmware update apparatus and method
CN101425018B (en) * 2008-12-05 2011-11-23 深圳创维数字技术股份有限公司 Embedded firmware upgrading method and device based on sectional form
TW201207731A (en) * 2010-08-06 2012-02-16 Universal Scient Ind Shanghai Embedded system with plural firmware and firmware updating method thereof
TW201216155A (en) * 2010-10-06 2012-04-16 Mitac Int Corp Embedded system and program updating method of the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131563A1 (en) * 2008-09-24 2011-06-02 Hitachi Solutions, Ltd. Firmware update apparatus and method
CN101425018B (en) * 2008-12-05 2011-11-23 深圳创维数字技术股份有限公司 Embedded firmware upgrading method and device based on sectional form
TW201207731A (en) * 2010-08-06 2012-02-16 Universal Scient Ind Shanghai Embedded system with plural firmware and firmware updating method thereof
TW201216155A (en) * 2010-10-06 2012-04-16 Mitac Int Corp Embedded system and program updating method of the same

Also Published As

Publication number Publication date
TW201403478A (en) 2014-01-16

Similar Documents

Publication Publication Date Title
US10127032B2 (en) System and method for unified firmware management
US10019253B2 (en) Systems and methods of updating hot-pluggable devices
US9043776B2 (en) Transferring files to a baseboard management controller (‘BMC’) in a computing system
TWI515660B (en) Firmware variable update method
JP5575338B2 (en) Information processing apparatus, information processing method, and computer program
US8453139B2 (en) Conditional startup process for a game apparatus and information processing apparatus
US8832369B2 (en) Systems and methods for remote raid configuration in an embedded environment
CN111666111B (en) Multi-node storage system and firmware updating method thereof
US9448889B2 (en) BIOS failover update with service processor
EP3690653A1 (en) Bios recovery and update
TW201631498A (en) Apparatus, method and non-transitory computer-readable medium for network basic input/output system management
TWI707274B (en) A computer-implemented method, a computer system, and a computer-readable storage medium for updating the rom code of a system
US20190087131A1 (en) Mechanism for multiple coexisting configurations support in virtual tape applications
TWI450194B (en) Method and system for processing operating system, computer readable storage medium storing the method
TWI553490B (en) Method and system for remote system configuration management and non-transitory computer-readable storage medium
US8086834B2 (en) System and method for populating a dedicated system service repository for an information handling system
JP6515462B2 (en) INFORMATION PROCESSING DEVICE, SETTING METHOD FOR INFORMATION PROCESSING DEVICE, AND SETTING PROGRAM
TWI480799B (en) Method and equipment for upadating firmware of embedded system
JP2009009323A (en) Setting device, electronic equipment, and setting program
KR20180081236A (en) Data storage device and data process system including the same
JP2009193358A (en) Information processor
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
CN106681857A (en) Product data backup/ recovery method
JP2023032245A (en) Information processing apparatus and control method of the same
CN114281351A (en) Application operation method, electronic device and storage medium