TW200923782A - A bootloader self-update system and method thereof - Google Patents

A bootloader self-update system and method thereof Download PDF

Info

Publication number
TW200923782A
TW200923782A TW96145713A TW96145713A TW200923782A TW 200923782 A TW200923782 A TW 200923782A TW 96145713 A TW96145713 A TW 96145713A TW 96145713 A TW96145713 A TW 96145713A TW 200923782 A TW200923782 A TW 200923782A
Authority
TW
Taiwan
Prior art keywords
boot loader
self
loader
program
boot
Prior art date
Application number
TW96145713A
Other languages
Chinese (zh)
Other versions
TWI346895B (en
Inventor
Yang-Min Cheng
Original Assignee
Inventec 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 Inventec Corp filed Critical Inventec Corp
Priority to TW096145713A priority Critical patent/TWI346895B/en
Publication of TW200923782A publication Critical patent/TW200923782A/en
Application granted granted Critical
Publication of TWI346895B publication Critical patent/TWI346895B/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention presented a bootloader self-update system and method thereof. By copying the prime bootloader in the boot block in the random access memory of a micro control unit, and saving as the secondary bootloader into a boot-copy block, then the micro control unit runs the secondary bootloader and the prime bootloader in the boot block is able to update at the same time. After updating, the micro control unit will restart by itself.

Description

200923782 九、發明說明: 【發明所屬之技術領域】 本發明疋-種啟動裝載器(B〇GtlGa㈣自我更新系統及 其方法’特別是指-種可自我更新啟始程式區塊(Boot block)中之啟動裝載器程式的系統及其方法。 【先前技術】 在目前微控制器(Micro Control Unit,MCU)中,因為 功能與低成本的考量,並為防止啟始程式區(B〇〇t bl〇ck)裡 的設定被修改,通常於主機板上焊固排針(jumper)元件,以 禁止對該記憶體的啟始區進行寫入的處理。所以大部分的 技術,疋不允許更新啟始程式區(B〇〇t block)裡的啟動裝載 器(Bootloader)的。 然而在啟動裝載器存放的記憶體區塊中,使用者可進 入啟動裝載模式(Bootloader mode),來更新Runtime程式的 區塊(Runtime Program block),在Runtime程式發生問題時 以便更新。但若是啟動裝載器本身發生問題,如因基本輸 出輸入系統(BIOS)程式版本與主機板硬體資源部分不符而 必須修改時,或所儲存的部分啟始程式或參數需要更新 時,如用以初始化記憶體、南北橋晶片或CPU等硬體資源, 於出貨後為因應客戶需求的改變’則此種對於禁止該記憶 體的啟動裝載器(Bootloader)進行寫入處理的機制,造成電 子裝置出貨廠商的不便。而目前除了透過額外的設備或送 回原廠維修之外,並無簡易的做法可以做到更新啟始程式 200923782 區(B_ M〇Ck)禮的啟動裝載器(Bootloader)。 【發明内容】 有鑑於此,本發明係提出一種啟動裝載器(Bootloader) 自我更新系統及其方法’特別是指—種可自我更新啟始區 塊(B°°tbl°ek)中之啟動裝載器資料的系統及其方法。 本發月之啟動震載器(Bootloader)自我更新系統,至少 包含:—隨機記憶體,係—微控制器(Micro Control Unit, MCU)之記憶體,為_非揮發性記憶體⑽r抓d_ Access M_ry,NVRAM); 一啟始程式區(Β_ M〇ck),為 該ik機。己It體中之—储存區塊,係提供儲存—主啟動褒載 器’啟始程式複製區,為該隨機記憶體最末段之另一儲 存區塊,係提供儲存—副啟動裝載器;以及-程式執行指 標’係於執行初始化程序時,提供—啟始位址,包含資料 區段⑽gment)位址及位移(〇f㈣㈣,以指向該啟始程式 區之該主啟動裝載$或該啟始程式複製區之該副啟動裝載 器。而其中,該副啟動裝載器相同於該主啟動裝載器之複 製=容,係由該主啟動裝載器於進行更新前所複製出的相 本毛月之啟動裝載器(B〇〇tl〇ader)自我更新的方法洛 微控制器(MCU)開冑進入啟動裝載模式(B_〇ader 中’微控制ϋ可以接❹執行各式指令。因此在收到啟動 裝載ϋ «指令時’會進人更新程序並且透過複製 器_取憶體中啟始程式區中之主啟動裝載器,複^ 200923782 動的啟始程式複製區為-副啟 料位址,並執行記憶體末段的副啟動㈣器。藉由執: ==器的同時更新啟始程式區中之主啟動裝载器。 專待啟始程式區中的主啟動裝载器 指回啟始程式區中的主啟動裝載器,完成 =重新啟動微控制器(MCU)。如此,待重新啟動之後,微 作工=(MCU)即以更新後的主啟動裝載器重新進行初始化 【實施方式】 本|x月係為_種啟動裝載器(B副。法r)自我更新系統 ,/、方法。以下配合圖示詳細先說明本發明之内容及技200923782 IX. Description of the Invention: [Technical Field of the Invention] The present invention is a boot loader (B〇GtlGa (four) self-updating system and method thereof], in particular, a self-updating boot program block (Boot block) The system and method for starting the loader program. [Prior Art] In the current Micro Control Unit (MCU), because of the function and low cost considerations, and to prevent the start program area (B〇〇t bl The setting in 〇ck) is modified, and the jumper component is usually soldered on the motherboard to prohibit the writing of the starting area of the memory. Therefore, most of the techniques do not allow updating. The boot loader in the boot block (B〇〇t block). However, in the memory block where the boot loader is stored, the user can enter the bootloader mode to update the runtime program. Runtime Program block, which is updated when there is a problem with the Runtime program, but if there is a problem with the boot loader itself, such as the basic output input system (BIOS) program version and host If the hardware resources of the board do not match and must be modified, or when the stored part of the startup program or parameters needs to be updated, such as to initialize the hardware resources such as memory, north-south bridge chip or CPU, after the shipment, in response to customer needs The change's mechanism for prohibiting the write operation of the memory's bootloader has caused inconvenience to the electronics manufacturer. Currently, in addition to the additional equipment or return to the original factory maintenance, There is no easy way to update the boot loader of the starter program 200923782 (B_M〇Ck). [Invention] In view of this, the present invention proposes a boot loader (self-updating). The system and its method 'specially refers to a system and method for starting the loader data in the self-updating start block (B°°tbl°ek). The launcher of the month is self-updating. The system includes at least: - a random memory, a memory of a Micro Control Unit (MCU), for a non-volatile memory (10) r, d_Access M_ry, NVRAM); A start program area (Β_M〇ck) is the ik machine. In the body of the It-storage block, the storage-main boot loader's start-up program copy area is provided, and the storage-sub-starter loader is provided for another storage block of the last stage of the random memory; And - the program execution indicator 'is provided when the initialization program is provided - the start address, including the data section (10) gment) address and the displacement (〇f (four) (four), to point to the main boot loader or the start of the start program area The secondary boot loader of the program copy area, wherein the secondary boot loader is the same as the copy of the main boot loader, and is copied by the main boot loader before the update. The boot loader (B〇〇tl〇ader) self-updating method The Lom Microcontroller (MCU) opens into the boot load mode (B_〇ader 'micro control' can be executed to execute various instructions. So received Start the load ϋ «Commands' will enter the update program and through the Replicator _ Retrieve the main boot loader in the start program area, the copy of the 200923782 start program copy area is the secondary start address, And execute the end of memory The secondary start (four) device. The master boot loader in the start program area is updated by executing the == device. The main boot loader in the start program area refers back to the master in the start program area. Start the loader, complete = restart the microcontroller (MCU). So, after restarting, the micro-worker = (MCU) is re-initialized with the updated main boot loader [implementation] This | For the _ kind of start loader (B sub. method r) self-updating system, /, method. The following describes the content and technology of the present invention in detail with reference to the drawings

術’再應用本發明方法技術之較佳實施例詳細說明本發明 方法之步驟流程。 X 首先,請先配合參照第1A圖,係為本發明之啟動裝載 益(B〇〇tl〇ader)自我更新系統配置狀態一之示意圖。如第1A 圖所不,本發明戶斤提出之啟動裝載器(Bootloader)自我更新 系統’係應用於電子裝置微控制器(MCU)中之-隨機記憶 體1〇0,係為—非揮發性記憶體(Non-Volatile Rand〇mDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The preferred embodiment of the method of the present invention is used to describe the flow of the steps of the method of the present invention. X First, please refer to Figure 1A first, which is a schematic diagram of the configuration state of the self-updating system of the startup load (B〇〇tl〇ader) of the present invention. As shown in FIG. 1A, the bootloader self-renewal system proposed by the present invention is applied to an electronic device microcontroller (MCU) - random memory 1 〇 0, which is - non-volatile Memory (Non-Volatile Rand〇m

AeeessMemc^y’NVRAM),該隨機記憶體ι〇〇上具有—啟 始#玉式區11G’為该隨機記憶體_中之__儲存區塊,提供 儲存内容包含執行電子裝置之系統初始化作業的程式及參 數的主啟動裝載$ 111 °而言亥隨機記憶體100 _L的啟始程 200923782 式區110以外之記憶體空間,可存有該電子裝置執行之一 般使用者程式131。而程式執行指標14〇,係於執行初始化 作業程序時’提供指向該啟始程式區11()之該主啟動裝栽 态ill的啟始位址,包含指向該主啟動裝載器lu之—資 料區段(segment)位址及一位移(offset)位址之資料。 接著參照第1B圖,係為本發明之啟動裝載器 (Bootloader)自我更新系統配置狀態二之示意圖。在開始進 行初始化作業前,當微控制器(MCU)進入一啟動裝載模式 (Bootloader mode)時’若接收到外部之一啟動裝載器更新指 令,則該系統會複製一份主啟動裝載器U1之資料,並將 複製的資料存入該隨機記憶體1〇〇之一啟始程式複製區 120而成為一副啟動裝載器121,該副啟動裝載器121相同 於該主啟動裝載器111之複製内容’係由該主啟動裝載器 111於進行更新則所複製出的相同資料。同時,更改程式執 行指標14〇以指向該啟始程式複製區12〇之副啟動裝載器 121。此時,該程式執行指標14〇即包含指向該副啟動裝載 态121之一資料區段(segment)位址及一位移(〇ffset)位址之 資料。如此,使該電子裝置於初始化階段中執行該副啟動 裝載器121,同時對啟始程式區11〇中的主啟動裝載器m 進订更新。其中,啟始程式複製區12〇係位於該隨機記憶 體100之最末段,且該啟始程式複製區12〇,係當欲進行啟 動裝載為之更新程序時,才將該隨機記憶體100之最末段 規劃出該啟始程式複製區丨20的暫存空間,以暫時存放副 啟動裝載器121。 200923782 繼續參照第ic圖’係為本發明之啟動裝载器 (Bootloader)自我更新系統配置狀態三之示意圖。待微控制 器(MCU)之啟動裝載器更新程序完成後,於啟始程式區ιι〇 令P存有更新後之主啟動裳載^丨丨丨&。此時,本系統再將 程式執行&標140更改指回啟始程式g UQ巾之更新的主AeeessMemc^y'NVRAM), the random memory ι has a -start #玉区11G' is the __ storage block in the random memory_, providing a system for storing the content including the execution of the electronic device The program and parameters of the main boot load $ 111 ° in the memory of the random memory 100 _L start 200923782 memory area outside the 110 area, there may be a general user program 131 executed by the electronic device. And the program execution index 14〇 is to provide a starting address of the main boot loader ill pointing to the start program area 11() when executing the initialization work program, and includes information pointing to the main boot loader lu. The segment address and the information of an offset address. Referring to FIG. 1B, it is a schematic diagram of the second configuration state of the boot loader self-updating system of the present invention. Before starting the initialization job, when the microcontroller (MCU) enters a bootloader mode, 'If one of the external boot loader update commands is received, the system will copy a master boot loader U1. Data, and the copied data is stored in the start memory copy area 120 of the random memory 1 to become a boot loader 121, which is identical to the copy content of the main boot loader 111. 'The same material copied by the main boot loader 111 after being updated. At the same time, the program execution indicator 14 is changed to point to the secondary boot loader 121 of the start program copy area 12A. At this time, the program execution index 14 includes data indicating a data segment address and a displacement (〇 ffset) address of the secondary boot load state 121. Thus, the electronic device is caused to execute the secondary boot loader 121 in the initialization phase while updating the master boot loader m in the boot program area 11A. The start program copy area 12 is located at the last end of the random memory 100, and the start program copy area 12 is the random memory 100 when the update program is to be started for loading. At the last stage, the temporary storage space of the start program copy area 20 is planned to temporarily store the secondary boot loader 121. 200923782 continues to refer to the ic diagram as a schematic diagram of the bootloader self-updating system configuration state three of the present invention. After the starter loader update program of the micro controller (MCU) is completed, in the start program area ι 〇 令 P 存 存 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 At this point, the system will change the program execution & 140 change back to the main program of the start program g UQ towel update

裝載器111a,然後自動重新開機,以便用更新後的主 啟動裝載Ilia進行初始化程序。當主啟動裝載器⑴更 新成主啟動裝載H Ula後,微控制器(M⑶)將以啟始程式 區1/〇中更新後的主啟動裝載$ llla進行初始化,而該啟 始程式複製區12G巾的儲存内容即可被清除,或被其他使 用者程式131覆寫而覆蓋。 接下來,再配合參照帛2A、2B M,係為本發明之啟 動裝載器(BG“)自我更新方法之步驟流程圖。如第2A 圖所不,湘本發明所提出之啟動裝載器自我更新系統, 而達到更新啟始程式區内之啟動裳載器(B_i()ader)資料之 目的、由於電子裝置開機時’微控制器(mcu)記憶體中啟 =程式區Mock)的啟㈣載器會先對電子裝置之硬體 、原進订初始化作業’首先微控制器進人啟動裝載模式(步 驟),在啟動裝載模式(Boomer咖㈣中微控制器 =U)可接受和執行各項指令。因此當接收到一啟動裝載 :更新指令(步驟叫時,即準備開始進行啟動裝載器的更 =接下來’複製-主啟動裝載胃⑴並存為—副啟動裝 2⑵(步驟220),即複製_啟始程式區ιι〇中的一主啟 载器U1並儲存至-啟始程式複製區120中,而為- 200923782 副啟動裝載器121。然後,執行該副啟動裝載器121並進行 ' 該主啟動裝載器111之更新(步驟230)。最後,重新啟動該 祕控制器(步驟240) ’並結束本流程。如此,待重新啟動之 後’即以更新後的主啟動裝載器Ula重新進行初始化作 業。其中’啟始程式區110為該隨機記憶體丨〇〇中之一儲 存區塊,係提供儲存一主啟動裝載器m;而啟始程式複製 區120’為該隨機記憶體1〇〇中之另一儲存區塊,係位於該 匕機纪憶體之最末段,以提供儲存一副啟動裝載器121。且 該啟始程式複製區120,係當欲進行啟動裝載器之更新程序 時,才將該隨機記憶體100之最末段規劃出該啟始程式複 製區120的暫存空間,以暫時存放副啟動裝載器121。當主 啟動裝載器111更新成主啟動裝載器丨丨^後,微控制器 (MCU)將以啟始程式區11〇中更新後的主啟動裝載器 進行初始化,而該啟始程式複製區12〇中的儲存内容即可 被清除,或被其他使用者程式U1覆寫而覆蓋。 Ο 然而,前述步驟220與步驟230更分別包含一细部流 A與细σ卩〃IL程B,接下來配合圖示作進一步說明如下。 參,第2B圖,於步驟22〇之细部流程a中,複製該主啟 2裝载器111之資料並存至隨機記憶體1〇〇之一啟始程式 複製區120(步驟221),該副啟動裝載器121相同於該主^ 動裝载器m之複製内容,係由該主啟動裝載器⑴於進 :更新前所複製出的相同資料。然後,設定一程式執行指 ^ Ho指向該啟始程式複製區12〇(步驟222卜以指向啟始 私式複製區120中的副啟動裳載器121的啟始位址,該程 10 200923782 式執行指標140包含指向該副啟動裝載器121之一資料區 段(segment)位址及一位移(〇ffset)位址之資料。於步驟奶 後接續至步驟230。當進入步驟23〇之细部流程B,微控制 器(MCU)即依該程式執行指標14〇執行該副啟動裝載器 111(步驟231)。而此時微控制器(MCU)即依據該啟動裝載器 更新指令更新該主啟動裝載器m(步驟232)。待啟始程式 區11〇中之主啟動裝載器更新成主啟動裝載器uia 後,6又疋該程式執行指標丨4〇指向回該啟始程式區11 〇(步 驟233) ’以指向啟始程式區11〇中的主啟動裝載器的 啟始位址,此時程式執行指標14〇包含指向該主啟動裝載 态111之一資料區段(segment:KlL址及一位移(〇ffset)位址之 資料。於步驟233之後再接續至步驟24〇。 藉此以達到可簡易更新電子裝置微控制器(MCU)中 之啟動裝載器(Bootloader)之目的,並實現自我更新啟始程 式區塊⑽㈣叫中之啟動裝載器程式的系統及其方法。 雖然本發明已以-較佳實施例揭露如上,然其並非用 以限疋本發明’任何熟習此技藝者’在不脫離本發明之精 神矛乾圍内,§可作各種之更動與潤飾,因此本發明之保 護範圍當視後附之申請專利範圍所界定者為準。 200923782 【圖式簡單說明】 為讓本發明之上述和其他目的、 能更明顯易懂,所附圖式之詳細說明2;:優點與實施例 第1Α圖,係為本發明之啟動 a ^ ^ τ 衣載 β (Bootloader)自典 更新糸、-先配置狀態一之示意圖。 我 第1Β圖,係為本發明之 Γ 更新系統配置狀態二之示意圖。裝栽—。。一)自我 第1C圖,係為本發明之啟 更新车鲚丙? w d於 裝栽器(Bootloader)自我 更新糸統配置狀態三之示意圖。 ’ H双 第2A、2B圖,係為本發明之啟 自我更新方法之步驟流程圖。 Μ载—oader) 【主要元件符號說明】 100 :隨機記憶體 110 :啟始程式區 111 ··主啟動裝載器 111a :更新之主啟動裝載器 120 :啟始程式複製區 121 :副啟動裝載器 13 1 :使用者程式 14 0 ·程式執行指標 200〜240 :方法步驟 12The loader 111a is then automatically rebooted to load the Ilia initialization program with the updated primary boot. After the main boot loader (1) is updated to the main boot load H Ula, the microcontroller (M(3)) will be initialized with the updated main boot load $llla in the start program area 1/〇, and the start program copy area 12G The contents of the towel can be erased or overwritten by other user programs 131. Next, with reference to the reference 帛 2A, 2B M, is a flow chart of the steps of the boot loader (BG ") self-updating method of the present invention. As shown in Fig. 2A, the boot loader self-updating proposed by the present invention System, and to achieve the purpose of updating the boot loader (B_i() ader) data in the start program area, since the electronic device is powered on, the microcontroller (mcu) memory is activated (the program area Mock) The device will first initiate the initialization operation of the electronic device hardware, 'first the microcontroller enters the loading mode (step), and in the startup loading mode (Boomer coffee (4) in the microcontroller = U) can accept and execute the various Therefore, when a boot load is received: the update command (when the step is called, the ready to start the loader is further = the next copy - the main boot load stomach (1) is saved as the secondary boot load 2 (2) (step 220), ie Copying a master loader U1 in the program area ιι〇 and storing it in the start-up program copy area 120, and is -200923782 sub-start loader 121. Then, the sub-start loader 121 is executed and ' The main boot loader 11 Update of 1 (step 230). Finally, restart the secret controller (step 240) 'and end the process. So, after restarting', the initialization operation is restarted with the updated main boot loader Ula. The start program area 110 is one of the random memory banks, and provides a main boot loader m; and the start program copy area 120' is another one of the random memory files. The storage block is located at the last stage of the crash memory to provide storage of a boot loader 121. The starter copy area 120 is to be updated when the boot loader is to be updated. The last segment of the random memory 100 plans the temporary storage space of the startup program copy area 120 to temporarily store the secondary boot loader 121. When the main boot loader 111 is updated to the main boot loader, the micro The controller (MCU) will be initialized with the updated main boot loader in the start program area 11〇, and the stored content in the start program copy area 12〇 can be cleared or overwritten by other user programs U1. Write and overwrite. Ο However Step 220 and step 230 respectively include a detail stream A and a fine σ 卩〃 IL path B, which are further described below with reference to the figure. Reference, FIG. 2B, in the detail flow a of step 22, copy The data of the main loader 2 is stored in the random program storage unit 120 (step 221), and the sub-boot loader 121 is identical to the copy content of the main loader m. , the same data copied by the main boot loader (1) before the update: Then, a program execution instruction is set to point to the start program copy area 12 (step 222 to point to the start private copy) The start address of the secondary starter 121 in the zone 120, the process 10 200923782 execution indicator 140 includes a data segment address and a displacement (〇 ffset) bit pointing to the secondary boot loader 121. Information on the address. After step milk is continued to step 230. When the flow proceeds to step B of step 23, the micro controller (MCU) executes the sub-start loader 111 in accordance with the program execution index 14 (step 231). At this time, the microcontroller (MCU) updates the main boot loader m in accordance with the boot loader update command (step 232). After the main boot loader in the start program area 11 is updated to the main boot loader uia, the program execution indicator 丨4〇 points back to the start program area 11 (step 233) to point to the start. The starting address of the main boot loader in the program area 11〇, at which time the program execution index 14〇 contains a data section (segment: KlL address and a displacement (〇ffset) address pointing to the main boot loading state 111. After the step 233, the process continues to step 24〇, thereby achieving the purpose of easily updating the boot loader in the electronic device microcontroller (MCU), and implementing the self-updating start block (10) (4) A system for initiating a loader program and method therefor. Although the invention has been disclosed above in the preferred embodiment, it is not intended to limit the invention to anyone skilled in the art without departing from the spirit of the invention. Within the scope of the invention, the various modifications and refinements may be made, and the scope of the invention is defined by the scope of the appended claims. 200923782 [Simplified Description] For the above and other purposes of the present invention It can be more obvious and easy to understand, and the detailed description of the drawing is 2; the advantages and the first embodiment of the present invention are the activation of the invention a ^ ^ τ, the on-load beta (Bootloader) self-dialog update, - the first configuration state one The first diagram, which is the diagram of the invention, is a schematic diagram of updating the configuration state of the system. The loading---a) self-1C diagram is the invention of the invention. w d is a schematic diagram of the self-updating system configuration state in the loader. 'H Double 2A, 2B is a flow chart of the steps of the self-updating method of the present invention. Μ — - oader) [Main component symbol description] 100 : Random memory 110 : Start program area 111 · Main boot loader 111a : Update main boot loader 120 : Start program copy area 121 : Secondary boot loader 13 1 : User program 14 0 · Program execution indicator 200~240: Method step 12

Claims (1)

200923782 十、申請專利範圍: 種啟動裝載器(Bootloader)自我更新系統,至少包 含: 一隨機§己憶體,係一微控制器(Micro Control Unit, MCU)之記憶體; 一啟始程式區(Boot bl〇ck),為該隨機記憶體中之一儲 存£塊,係k供儲存—主啟動裝載器; Ο 7啟始程式複製區,為該隨機記憶體中之另-儲存區 塊,係提供儲存一副啟動裝載器;以及 -程式執行指標’㈣執行初始化程序時,提供一啟 始=,指向賴始料區之該缝動裝㈣或該啟始程 式极製區之該副啟動裝載器; 其中,該副啟動裳載器相同於該主啟動裝載器之複製 内:,係由該主啟動裝載器於進行更新前所複製出的 貧料。 2.如申請專利範圍第i項所述之啟動 系統,其中該隨機記憶體為—非揮發性記憶體°。自我更新 Random Access Memory > NVRAM) 〇 " 〇n-Volatile 3· 圍第丨項所粒啟動 系統,其巾該主㈣裝_及_㈣=。。自我更新 行系統初純作業的程式及參數。 ②’係包含執 13 200923782 4. 如申請專利範圍第1項所述之啟動裝载器自我更新 系統,其中該啟始程式複製區係位於該隨機記憶體之最末 段。 5. 如申請專利範圍第丨項所述之啟動裝載器自我更新 系統,其中該程式執行指標包含儲存該主啟動裝裁器之一 資料區段(segment)位址及一位移(0ffSet)位址。 6_如申請專利範圍第1項所述之啟動裝載器自我更新 系統,其中該程式執行指標包含儲存該副啟動裝載养之一 資料區段(segment)位址及一位移(〇ffset)位址。 7. —種啟動裝載器(Bo〇tl〇ader)自我更新方法,至少包 含步驟: 使一微控制器(Micro Control unit,MCU)進入一啟動 裝載模式; 收到一啟動裝載器更新指令; 複製一主啟動裝載器並存為一副啟動裝載器· 執行該副啟動裝載器並進行該主啟動裳载器之更新; 以及 重新啟動該微控制器。 14 200923782 、8.如中請專利範圍第7項所述之啟動裝載器自我更新 方法’其巾該主啟㈣載器及該副啟動裝制,係包含執 行系統初始化作業的程式及參數。 9.如申請專利範圍第7項所述之啟動裝載器自我更新 方法’其中該副啟動裝載器相同於該主啟動裝載器之複製 内容,係由該主啟動裝載器於進行更新前所複製出的相同 資料。 10.如申請專利範圍第7項所述之啟動裝載器自我更 新方法,其中該複製—主啟動裝載器為一副啟動裝載器的 步驟,更包含步驟: 複製该啟動裝載器之資料並存至一啟始程式複製區; 以及 设定一程式執行指標指向該啟始程式複製區。 11_如申請專利範圍第10項所述之啟動裝載器自我更 新方法,其中該啟始程式複製區為一隨機記憶體中提供儲 存該副啟動裝載器之儲存區塊。 12.如申請專利範圍第u項所述之啟動裝載器自我更 新方法,其中該隨機記憶體為一非揮發性記憶體 (Non-Volatile Random Access Memory > NVRAM) 〇 15 200923782 13.如申請專利範圍帛1〇項所述之啟動裝栽器自我更 新方法,其找啟始程式複製區係位於該隨機記憶 末段。 〜心取 14_如申請專利範圍第1〇項所述之啟動裝载器自我更 新方法,其中該程式執行指標包含儲存該副啟動裝載器之 一資料區段(segment)位址及一位移(〇ffset)位址。 °° 15·如中請專利㈣第7項所述之啟動裝載器自我更 新方法,#中該執行該副啟動裝載器並進行該主啟動裝載 器之更新的步驟’更包含步驟·· 依該程式執行指標執行該副啟動裝載器; 依據該啟動褒載器更新指令更新該主啟動裝載器;以 及 又定該矛王式執行指標指回一啟始程式區〇 |6如申請專職圍第㈣所述之啟動裝载器自我更 新方法纟中该啟始程式區為該隨機記憶體中提供儲存該 主啟動裝載器之儲存區塊。 17.如申請專利範圍帛16項所述之啟動裝載器自我更 新方法’其中α °Χ ^機記憶體為一非揮發性記憶體 (Non-Volatile Ranrl Access Memory,NVR_AM)。 16 200923782 18.如申請專利範圍第15項所述之啟動裝載器自我更 新方法,其中該程式執行指標包含儲存該主啟動裝載器之 一資料區段(segment)位址及一位移(offset)位址。200923782 X. Patent application scope: A bootloader self-updating system, which includes at least: a random § memory, a memory of a Micro Control Unit (MCU); a start program area ( Boot bl〇ck), storing a block for one of the random memories, k for storage - the main boot loader; Ο 7 starting the program copy area, which is another storage block in the random memory Providing a pair of boot loaders; and - program execution indicator '(4) providing an initial start=, indicating the start load (4) of the start zone (the fourth) or the starter load of the starter polar zone The sub-starter is the same as the copy of the main boot loader: the lean material copied by the main boot loader before being updated. 2. The activation system of claim i, wherein the random memory is - non-volatile memory. Self-updating Random Access Memory > NVRAM) 〇 " 〇n-Volatile 3· The starting system of the 丨 丨 item, the towel (the main) (4) _ and _ (four) =. . Self-updating Programs and parameters for the system's initial pure job. The 2' system includes a license. 2009 23782 4. The boot loader self-updating system of claim 1, wherein the starter program copy area is located at the last stage of the random memory. 5. The boot loader self-updating system of claim 3, wherein the program execution indicator comprises storing a data segment address and a displacement (0ffSet) address of the main boot loader. . 6_ The boot loader self-updating system of claim 1, wherein the program execution indicator comprises storing a data segment segment address and a displacement (〇ffset) address of the secondary boot loader. . 7. A boot loader (Bo〇tl〇ader) self-updating method, comprising at least the steps of: causing a microcontroller (Micro Control unit, MCU) to enter a boot load mode; receiving a boot loader update command; A master boot loader is coexisted as a pair of boot loaders. • The slave boot loader is executed and an update of the master boot loader is performed; and the microcontroller is restarted. 14 200923782 8. The start loader self-updating method described in item 7 of the patent scope is the main start (four) carrier and the sub-starting system, and includes the program and parameters for performing the system initialization operation. 9. The boot loader self-updating method of claim 7, wherein the secondary boot loader is identical to the copy content of the primary boot loader, and is copied by the primary boot loader prior to being updated. The same information. 10. The boot loader self-updating method of claim 7, wherein the copy-main boot loader is a step of booting the loader, and further comprising the steps of: copying the boot loader data and storing the data Start the program copy area; and set a program execution indicator to point to the start program copy area. The boot loader self-improvement method of claim 10, wherein the start program copy area provides a storage block for storing the secondary boot loader in a random memory. 12. The method as claimed in claim 5, wherein the random memory is a non-volatile memory (Non-Volatile Random Access Memory > NVRAM) 〇 15 200923782 13. The boot loader self-updating method described in the above paragraph is located at the end of the random memory.取心取14_ The boot loader self-updating method as described in claim 1 wherein the program execution indicator includes storing a data segment address and a displacement of the secondary boot loader ( 〇ffset) address. °° 15· The method of starting the loader self-updating method described in item 7 of the patent (4), the step of executing the sub-starter loader and performing the update of the main start loader is further included. The program execution indicator executes the secondary boot loader; the main boot loader is updated according to the startup loader update command; and the spearman execution indicator is returned to the start program area 6|6, if applying for the full-time division (4) In the boot loader self-updating method, the start program area provides a storage block for storing the main boot loader in the random memory. 17. The boot loader self-improvement method as described in claim 16 wherein the alpha memory device is a non-Volatile Ranrl Access Memory (NVR_AM). The method of claim 5, wherein the program execution indicator includes storing a data segment address and an offset bit of the main boot loader. site. 〇 17〇 17
TW096145713A 2007-11-30 2007-11-30 A bootloader self-update system and method thereof TWI346895B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW096145713A TWI346895B (en) 2007-11-30 2007-11-30 A bootloader self-update system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW096145713A TWI346895B (en) 2007-11-30 2007-11-30 A bootloader self-update system and method thereof

Publications (2)

Publication Number Publication Date
TW200923782A true TW200923782A (en) 2009-06-01
TWI346895B TWI346895B (en) 2011-08-11

Family

ID=44728771

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096145713A TWI346895B (en) 2007-11-30 2007-11-30 A bootloader self-update system and method thereof

Country Status (1)

Country Link
TW (1) TWI346895B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608702A (en) * 2017-10-25 2018-01-19 迈普通信技术股份有限公司 Bootloader program modules update method and device
TWI726524B (en) * 2019-12-09 2021-05-01 新唐科技股份有限公司 Electronic processing devices and memory control methods thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI551479B (en) * 2014-12-31 2016-10-01 橙的電子股份有限公司 A tire pressure monitoring system and upgrading method therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608702A (en) * 2017-10-25 2018-01-19 迈普通信技术股份有限公司 Bootloader program modules update method and device
TWI726524B (en) * 2019-12-09 2021-05-01 新唐科技股份有限公司 Electronic processing devices and memory control methods thereof
US11307795B2 (en) 2019-12-09 2022-04-19 Nuvoton Technology Corporation Electronic processing devices and memory control methods thereof

Also Published As

Publication number Publication date
TWI346895B (en) 2011-08-11

Similar Documents

Publication Publication Date Title
US7490177B2 (en) System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US10754558B2 (en) Vehicular device
US7702896B1 (en) Interactive firmware recovery
TWI296778B (en) Method and system for maintaining smbios
TW201239759A (en) BIOS update method and computer system for using the same
JP2007516535A (en) Method and apparatus for remote correction of system configuration
TW200805159A (en) Method and apparatus for fast boot of an operating system
TW200847021A (en) Automatic backup, restore and update BIOS computer system
TW200837553A (en) Master boot record management
JP2008287505A (en) Information processor and legacy emulation processing stop control method
TWI625672B (en) Updatable integrated-circuit radio
KR100777446B1 (en) Electronic device and booting method thereof
JP2015102889A (en) Method for updating firmware, electronic device, computer and computer program
JP5126686B2 (en) Information processing apparatus, operation method of information processing apparatus, and program thereof
RU2554851C2 (en) Capturing and loading operating system states
CN114020340B (en) Server system and data processing method thereof
JP2008262454A (en) Software update method of thin client terminal, thin client terminal, and thin client system
TW200923782A (en) A bootloader self-update system and method thereof
US10453422B2 (en) Electronic apparatus and driving method thereof
TWI438402B (en) Navigation device for vehicle
TWI518594B (en) Computer system and activation method for computer system
JP6192089B2 (en) Information processing apparatus, control method and control program for information processing apparatus
JP2010277578A (en) Electronic device and booting method
EP1615107A2 (en) Information processing apparatus, memory managing program, and memory managing method
TW201804316A (en) Setting method of accessing system parameters and server using the same

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees