200414049 玖、發明說明: 【發明所屬之技術領域】 本發明係概略地說明電腦系統基本輸入/輸出系統 (BIOS),且更特定言之,本發明係說明使用系統βι〇§更新 嵌入控制器韌體。 【先前技術】 目㈤用以更新嵌入控制器韌體之應用要求在快閃更新期 間此不文限制和獨有地存取所有的嵌入控制器資源。因 此目薊的快閃公用程式需要一,,不將應用程式介面(API) 限制在肷入控制器上”和”容許公用程式阻擋任何作業系統 工作切換作業系統。因此目前的嵌入控制器快閃公用程 式可在涊貫際位址微軟磁碟作業系統)(ms_d〇s),而非視窗 作業系統的控制下被執行。 因現代大部分個人電腦均係配備一不能提供實際位址 MS DOS換式的視窗作業系統,故無法將目前的後入控制器 快閃公用程式用於生產等級個人電腦上、來更新一"正規” 終端用戶環境下的嵌入控制器韌體。 因此,本發明的一目地為提供利用系統BI〇s更新嵌入控 制备初fe、以便可在終端用戶作業系統控制下重新整理生 產等級電腦的嵌入控制器軔體。 【發明内容】 為了達到上述和其它目地’故本發明提供—種在終端用 卢作業系統(像是視窗作業系統)控制下、更新(快閃)生產等 級電腦(像是個人電腦系統)其後入控制器勃體的能力。本發 86636 200414049 明提供更新嵌入控制器韌體之系統、方法及軟體。本發明 亦增加快閃故障保險等級。 本發明利用該電腦系統其基本輸入/輸出系統(BIOS)能 於該個人電腦啟動或開機期間不受限制和獨有地控制所有 個人電腦硬體的事實。本發明亦利用系統BIOS儲存體在該 作業系統控制下不起作用(因而可存取)的事實。 本發明一代表性具體實施例包括:一中央處理單元 (CPU); —系統記憶體;一包括一後入控制器韌體之後入控 制器;及一儲存初始化碼之基本輸入/輸出;系統(BIOS)儲存 區,其中該初始化碼包括一用以初始化該CPU和該系統記 憶體之基本輸入/輸出系統(BIOS),及其中該BIOS儲存區包 含嵌入控制器韌體和一韌體更新通則。利用提供更新嵌入 控制器韌體之軟體及方法執行本發明。 該等系統、軟體及方法比較該嵌入控制器中的韌體識別 資料與該BIOS中的相對應資料;判定是否應更新該嵌入控 制器的嵌入控制器韌體;及使該BIOS執行該更新通則和將 該BIOS儲存區中的嵌入控制器韌體複製到該嵌入控制器 中,以覆寫和更新該嵌入控制器裡的嵌入控制器韌體。一 快閃公用程式用以將一韌體影像檔中更新後的嵌入控制器 韌體寫入該BIOS儲存區中。 【實施方式】 參考該等圖式,圖1為例證說明一收錄一根據本發明原理 之嵌入控制器韌體更新方法30和軟體之代表性電腦系統 1〇(像是一個人電腦系統10)的方塊圖。電腦系統10包括一耦 -7- 86636 200414049 合至一關鍵非揮發性儲存裝置12之中央處理單元(cpu) 11。關鍵非揮發性儲存裝置12可為快閃記憶體、一唯讀記 憶體(ROM)、一可程式僅讀記憶體(PR0M)、一可清除式可 程式僅謂記憶體、一電氣可清除式可程式僅讀記憶體 (EEPROM)、或CPU 11可用以執行一初始指令集之其它裝置 或技藝。 CPU 1 1亦耦合至一系統記憶體13(像是一隨機存取記憶 體13)。CPU 11可藉由一系統匯流排14(例如像是一週邊元 件互接(PCI)匯流排14)和一輸入/輸出(I/O)主控制器19耦合 土一輔助非揮發性餘存裝置20。辅助非揮發性儲存裝置2〇 可為一硬碟機、一光碟機、一數位影像光碟機、一軟性磁 碟驅動器、一 zip磁碟機、一 SuperDisk磁碟機、一磁光碟機、 一 Jazz磁碟機、一高密度軟性磁碟(HiFD)驅動器、快閃記憶 體、唯讀記憶體(ROM)、可程式僅讀記憶體(PR〇M)、可清 除式可程式僅讀記憶體、電氣可清除式可程式僅讀記憶體 (EEPROM)、或如發生一關機情況時其它任何能夠保存資料 之裝置或技藝。 CPU 11亦可藉由一系統匯流排14和I/O主控制器19耦合 至一嵌入控制器(EC) 21。現代的電腦系統通常都將嵌入控 制器2 1執行成一通用微控制器,其中包含其自己的記憶體 22、CPU 23、及儲存嵌入控制器運算碼26之非揮發性(NV) 儲存裝置或儲存區24。 嵌入控制器(EC) 21處理週邊裝置25,像是一鍵盤、一滑 鼠、一電池、一組終端用戶控制之按鈕(像是電源按鈕和睡 86636 200414049 眠按叙)、或其它任何非常遲緩_◦裝置(其中應將該等心 裝置與主CPU U隔離、以防止該整體系統性能降低)。 關鍵非揮發性儲存裝置12的—第—部分儲存—用以初始 化U 11和系統记fe體13之初始化碼。關鍵非揮發性儲存 裝置12的-第二部分儲存—含有—工作表列之分配管理程 式,其中須執行以將電腦系統1〇充分地初始化。該分配管 理程式用以選擇性地載人和重覆地執行若干與完成該電腦 初始化有關的工作。 "於實施期間’當將電腦系統1〇打開時,餘初始化碼則執 行、以初始化CPU 11和系統記憶體13。接著將該分配管理 私式載入系統記憶體13中。該分配管理程式執行包含在其 中、且必射執行工作的表列,使所有需要的㈣(基本輸 入/輸出系統(Bios)模組)載入系統13中。 孩分配官理程式判定是否每一需要的m〇s模組都在系統 記憶體13中。如否,則找出、載入及執行每—需要的b咖 模組。該f BIOS模組可位於關鍵非揮發性儲存裝置Η(快閃 記憶體)或輔助非揮發性儲存裝置2〇中(包含該等任何上面 4别 < 關鍵或輔助非揮發性儲存裝置2〇)。於執行了所有的 BIOS杈組义後,CPU u的控制則從該bi〇s分配管理程式轉 私到一作業系統(像是一視窗作業系統)。 於主CPU 11執行該fBI〇s模組時、欲入控制器21亦同時 執仃儲存在喪人控制器21其非揮發性儲存裝置24中的章刃體 代碼26’以便處理週邊裝置25。嵌入控制器21不僅須在電 腦系統啟始化期間執行㈣代碼,亦須在控制轉移到一: 86636 200414049 業系統之後繼續執行韌體代碼26。 現麥考圖2,為例證說明一根據本發明原理之代表性嵌入 k制w初更新方法3〇之流程圖。將該代表性嵌入控制器 早刃體更新方法30用於一(個人)電腦系統1〇上,其中(個人) 私月每系統ίο擁有一基本輸入/輸出系統(BI〇s)、及執行一作 業系統(像是一視窗作業系統)。該代表性嵌入控制器韌體更 新方法3 0包括以下步驟。 提供一嵌入控制器韌體影像和一韌體更新通則或程序作 為該BIOS的一部分(步驟3 1}。啟動電腦系鐃1〇(步騾32)。於 開機或啟動期間,該系統;81〇3,,自嵌入控制器21中讀取韌體 識別資料”和”比較該韌體識別資料與該為該BI〇s一部分之 早刃體影像中的相對應資料”(步騾33)。該韌體識別資料可為 一固定的韌體驗證簽名檔、該整個韌體影像的一總和檢 查、一韌體版本編號、一韌體建立時間戮記、或其它任何 可識別嵌入控制器韌體26之資料。該系統BIOS根據該等比 較結果決定是否應更新嵌入控制器韌體26 34 (亦參看圖3)。 如決定為”是”(步驟342)時,則該系統BIOS實行35或執行 35該更新通則或程序,其中將儲存在關键非揮發性儲存裝 置12中之系統BIOS中新的韌體影像複製到嵌入控制器韌體 儲存裝置中(步驟24)。接著,該系統BIOS繼續啟動該作業 系統(步騾3 6)。 如決定為’’否’f(步驟341)時,則該系統BIOS繼續啟動該作 業系統(步驟36)。 於啟動該作業系統36之後,該終端用戶可引動一快閃公 -10 - 86636 200414049 ,私式(像是-視窗快閃公用程式),以將該影像檔中該新的 早刃l〜像寫入電腦系統丨0之系統BI〇s儲存區丨2(關鍵非揮 發性儲存裝置12)中(步驟37)。然後,將電腦系統10重新啟 動(步驟:38)。 孩韌體影像檔為一含有更新後嵌入控制器韌體之外部檔 案,其中如需更新該嵌入控制器韌體時,電腦系統1〇的製 造商則將其傳送給該終端用戶。例如可將該更新後的韌體 衫像檔複製到輔助非揮發性儲存裝置2〇上、或使該影像檔 可於一軟式磁碟機上使用、或作為一電子鄭件檔,以便該 快閃公用程式可讀取該影像檔。當該終端用戶引動該快閃 公用程式時,其將該新的韌體影像檔複製到該BI〇s儲存區 (關鍵非揮發性儲存裝置12)中(步驟37),如是覆寫了該目前 的韌體。於重新開機之後,該系統BI〇s則接著將該61〇§儲 存區(關鍵非揮發性儲存裝置12)中該更新後的韌體複製到 嵌入控制器21中(步騾35),同時覆寫了嵌入控制器韌體儲存 裝置2 4中該目前的章刃體。 現參考圖3,為例證說明該圖2中所示之代表性嵌入控制 器勃體更新方法30和軟件編號其決策方塊34之一代表性執 行的流程圖。 於電腦系統啟動期間,該等兩個分別在系統Bi〇s儲存區 i2和後入控制器韌體儲存裝置24中的嵌入控制器韌體影像 通常係相同的。因此,該決策路徑沿著,’決策方塊343_是(轉 出決策方塊344-是(轉出)”及,,決策方塊345-是(轉出),,、 最後行進到該π否決策341-不更新”。如是,電腦系統1〇直接 -11 - 86636 啟動該作業系統’以容斗今故 々、人、、… 奋^終端用戶引動該快閃公用程 式。於孩快閃公用程式將一瓿 .,,RTncr., .斤版本編號的新韌體影像寫入 _區12中、且重新啟動個人電腦系統H)之後, 路徑則沿著”決策方物.是(轉出),,、,,決策方塊344- 疋(+Τ出)、及,’決策方塊34弘否 ^ (钴出)、取後行進到該,’是 決朿342-更新韌體"。結果, 禾邊系統貫行35,且將系統則仍 儲存區12中孩新的韌體影像複 I幻肷入控制器韌體儲存裝 ,:此於終端用戶作業系統控制下、完成了生產等級 其肷入控制器韌體26的兩部分更新。; 因提供該歲入控制哭勤*曲旦彡 別w初肢矽像作為該BIOS的一部分(步 驟31),故該快閃公用程式可同時從-共通影像標之系統來 更新系統;BIOS和嵌入控制器韌體(步驟37)。 如該快閃公用程式於執行該更新時(步驟37)失敗的話,則 则S儲存區12中該軔體影像的驗證簽名構將係無效的,且 孩決策路徑沿著”決策方塊343_否(轉出)”行進到該"否決策 不更新目此,肷入控制器2丄繼續依照該舊的勃體儲 存裝置24執行。電腦系統1〇啟動該作業系統,且該終端用 戶可再/人引動遠快閃公用程式、以從該快閃失敗中恢復過 來。如士於執行該更新通則時(步驟35)、該快閃失敗的話,則 儲存裝置24中的早刃體影像將係無效的,且電腦系統無法 啟動作業系統。然而,於下—次開機期間,該決策路徑 則心著夬策方塊343-是(轉出),,、及”決策方塊34心否(轉 出)”、最後行進到該,,是決策342_更新韌體"。因此,再次執 仃更新(步··驟35.)、以從該快閃失敗中恢復過來。此增加了快 86636 -12- 200414049 閃故障保險等級。 因該電腦系統BIOS能於啟動或開機期間不受限制和獨有 地控制個人電腦系統1〇其所有的硬體元件,且因系統則s 儲存體在料業系馳訂不起相(因而可存取),故可執 行本發明。 /發明容許在終端用戶作業系統(視窗)控制下更新生產 等級個人電腦的嵌入控制器韌體26。必要時,本發明亦容 彳同時更新邊系統BIOS和該嵌入控制器韌體。本發明亦增 加了快閃故障保險等級。 由疋,本發明提供了更新嵌入控制器韌體之系統、方法 及軟體。更特定言之,本發明提供了在終端用戶作業系統 (視窗)控制下更新(快閃)生產等級個人電腦其嵌入控制器 章刃體26知之能力。 本發明更可取的是提供了用於一擁有一基本輸入/輸出 系統(BIOS)、執行一視窗作業系統之電腦1〇上之軟體。該 軟體用以更新電腦10的嵌入控制器韌體。 該軟體包含一程式段,其中該程式段包括使該系統Bi0S 邊夠存取軔體識別資料之歲入控制器勃體26。該軟體包含 一作為啟動電腦10之BIOS其一部分之程式段。該軟體包含 一導致以下事件之程式段:該系統BIOS自該嵌入控制器中 讀取韌體識別資料;比較該韌體識別資料與該系統BIOS儲 存體中的個別資料;及決定是否應將該系統BIOS儲存體中 的嵌入控制器韌體26複製到嵌入控制器21中。 該軟體包含一使該系統BIOS於重新啟動電腦系統10期 -13- 86636 200414049 間、執行該更新通則或程序之程式段,其中該更新通則或 程序將該新的韌體影像寫入電腦系統10的一嵌入控制器章刃 體儲*存裝置2 4中。 孩軟體包含了在個人電腦系統啟動該作業系統之後、可 藉由該終端用戶引動的快閃公用程式(像是該視窗快閃公 用程式),以便將該韌體影像檔中一新的嵌入控制器韌體影 像和更新通則寫入一系統BI〇s儲存區12中。 如是,揭示了更新嵌入控制器韌體之系統、方法及軟體。 尤瞭解,上述具體實施例僅作為許多代表ϋ用本發明原理 <特殊具體貫施例中某些具體實施例的例證。顯然,熟諳 此衣者可在未脫離本發明的範疇下設計許多不同的安排。 【圖式簡單說明】 參考下面的詳述、連同該等伴隨的圖式可更迅速認識到 本發明的種種特性和優點,其中相同的參考號碼標示相同 的結構元件,及其中: 圖1為例證就明一收錄一根據本發明原理之嵌入控制器 早刃姐更新方法之代表性個人電腦系統的方塊圖; 圖為例哎忒明一根據本發明原理之代表性嵌入控制器 早刃體更新方法和軟件編號之流程圖;及 、圖3為例從过明孩圖2中所示之代表性嵌入控制器韌體更 新万法和軟件編號其決策方塊之-代表性執行細節的流程 圖。 【圖式代表符號說明】 1〇 電腦系統/個人電腦系統/電腦 86636 -14- 200414049 30 1卜 12 13 20 14 19 21 22 24 26 25 嵌入控制器韌體更新方法 23 中央處理單元 關键非揮發性儲存裝置/系統BIOS儲存區 系統記憶體/隨機存取記憶體 輔助非揮發性儲存裝置 系統匯流排/週邊元件互接匯流排 輸入/輸出主控制器 嵌入控制器 記憶體 非揮發性儲存裝置/儲存區/嵌入控制器韌體儲 存裝置 嵌入控制器運算碼/韌體代碼/嵌入控制器韌體 週邊裝置 86636 -15-200414049 (1) Description of the invention: [Technical field to which the invention belongs] The present invention outlines the basic input / output system (BIOS) of a computer system, and more specifically, the present invention describes the use of the system βι〇§ to update the firmware of an embedded controller. body. [Previous Technology] The application for updating the firmware of the embedded controller requires that all embedded controller resources be restricted and uniquely accessed during the flash update. Therefore, the flash utility of this project requires one, and does not limit the application programming interface (API) to the controller. "And" allows the utility to block any operating system. Switch operating systems. Therefore, the current flash utility of the embedded controller can be executed under the control of the Microsoft Windows operating system (ms_d0s) instead of the Windows operating system. Since most modern personal computers are equipped with a Windows operating system that cannot provide the actual address MS DOS swap, it is not possible to use the current post-controller flash utility program on a production-grade personal computer to update a " The firmware of the embedded controller in a "regular" end-user environment. Therefore, the purpose of the present invention is to provide the use of the system BIOs to update the embedded control device, so that the production-level computer can be rearranged under the control of the end-user operating system. Controller body. [Summary of the Invention] In order to achieve the above and other objectives, the present invention provides a method for updating (flashing) a production-level computer (such as a personal computer) under the control of a terminal operating system (such as a Windows operating system). Computer system) The ability to subsequently enter the controller body. The present invention 86636 200414049 provides a system, method and software for updating the firmware embedded in the controller. The invention also increases the flash fail-safe level. The invention uses the basics of the computer system The input / output system (BIOS) provides unlimited and exclusive control of all of the PC's startup or startup Human computer hardware. The present invention also makes use of the fact that the system BIOS storage is not functional (and therefore accessible) under the control of the operating system. A representative embodiment of the present invention includes a central processing unit (CPU) -System memory; one includes a controller after the firmware is entered; and a basic input / output that stores an initialization code; a system (BIOS) storage area, where the initialization code includes a CPU and The basic input / output system (BIOS) of the system memory, and the BIOS storage area includes embedded controller firmware and a firmware update rule. The present invention is implemented using software and methods that provide updated embedded controller firmware. And other systems, software, and methods to compare the firmware identification data in the embedded controller with corresponding data in the BIOS; determine whether the embedded controller firmware in the embedded controller should be updated; and cause the BIOS to execute the update general rules and Copy the embedded controller firmware in the BIOS storage area to the embedded controller to overwrite and update the embedded controller firmware in the embedded controller. The flash utility program is used to write the updated embedded controller firmware from a firmware image file into the BIOS storage area. [Embodiment] Referring to the drawings, FIG. Principle of embedded controller firmware update method 30 and software block diagram of a representative computer system 10 (like a personal computer system 10). Computer system 10 includes a coupling-7- 86636 200414049 combined into a key non-volatile storage Central processing unit (CPU) 11 of the device 12. The key non-volatile storage device 12 may be flash memory, a read-only memory (ROM), a programmable read-only memory (PR0M), and a removable memory The program is simply called memory, an electrically erasable programmable read-only memory (EEPROM), or other device or technique that the CPU 11 can use to execute an initial instruction set. The CPU 11 is also coupled to a system memory 13 (such as a random access memory 13). The CPU 11 may be coupled with a system non-volatile residual device via a system bus 14 (such as a peripheral component interconnect (PCI) bus 14) and an input / output (I / O) main controller 19 20. The auxiliary non-volatile storage device 20 may be a hard drive, an optical drive, a digital video drive, a flexible disk drive, a zip drive, a SuperDisk drive, a magneto-optical drive, a Jazz Disk drive, a high-density floppy disk (HiFD) drive, flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory, Electrically erasable and programmable read-only memory (EEPROM), or any other device or technology capable of storing data if a shutdown occurs. The CPU 11 may also be coupled to an embedded controller (EC) 21 through a system bus 14 and an I / O main controller 19. Modern computer systems usually implement the embedded controller 21 as a general-purpose microcontroller, which includes its own memory 22, CPU 23, and a non-volatile (NV) storage device or storage that stores embedded controller operation code 26. District 24. Embedded controller (EC) 21 handles peripherals 25, like a keyboard, a mouse, a battery, a set of end-user-controlled buttons (such as the power button and sleep 86636 200414049 sleep button), or any other very slow _◦ Device (where the isocentric device should be isolated from the main CPU U to prevent degradation of the overall system performance). The key non-volatile storage device 12—partial storage—used to initialize the initialization code of U 11 and system register 13. The key non-volatile storage device 12, the second part of the storage-containment-worklist, is an allocation management process which must be performed to fully initialize the computer system 10. The distribution manager is used to selectively carry people and repeatedly perform some tasks related to completing the initialization of the computer. " During implementation ', when the computer system 10 is turned on, the remaining initialization code is executed to initialize the CPU 11 and the system memory 13. This allocation management is then privately loaded into the system memory 13. The distribution management program executes a list of tasks which must be performed in order to load all necessary ㈣ (basic input / output system (Bios) modules) into the system 13. The child allocation program determines whether each required MOS module is in the system memory 13. If not, find, load, and execute each-required bca module. The f BIOS module may be located in a critical non-volatile storage device (flash memory) or an auxiliary non-volatile storage device 20 (including any of the above 4 types < critical or auxiliary non-volatile storage device 2). ). After executing all the BIOS definitions, the control of the CPU u is transferred from the BIOS management program to an operating system (such as a Windows operating system). When the main CPU 11 executes the fBI0s module, the controller 21 that wants to enter also executes the chapter body code 26 'stored in the non-volatile storage device 24 of the bereaved controller 21 to process the peripheral device 25. The embedded controller 21 must not only execute the code during the initialization of the computer system, but also continue to execute the firmware code 26 after the control is transferred to a 86636 200414049 system. Fig. 2 is a flowchart illustrating an exemplary embedded k-system initial update method 30 according to the principles of the present invention. The representative embedded controller early blade update method 30 is applied to a (personal) computer system 10, where (personal) each system has a basic input / output system (BI0s), and executes a Operating system (like a Windows operating system). This representative embedded controller firmware update method 30 includes the following steps. Provide an embedded controller firmware image and a firmware update rule or program as part of the BIOS (step 3 1). Start the computer system 铙 10 (step 骡 32). During the boot or startup, the system; 81 3. Read the firmware identification data from the embedded controller 21 "and" compare the firmware identification data with the corresponding data in the early blade image that is part of the BI0s "(step 33). The firmware identification data may be a fixed firmware verification signature file, a checksum of the entire firmware image, a firmware version number, a firmware setup time stamp, or any other identifiable embedded controller firmware 26 The system BIOS decides whether to update the embedded controller firmware 26 34 (see also Figure 3) based on the comparison results. If the decision is "Yes" (step 342), the system BIOS executes 35 or executes 35 The update rule or procedure, in which the new firmware image in the system BIOS stored in the key non-volatile storage device 12 is copied to the embedded controller firmware storage device (step 24). Then, the system BIOS continues to initiate the operation system(骡 3 6). If the decision is `` No'f (step 341), the system BIOS continues to start the operating system (step 36). After starting the operating system 36, the end user can activate a flash public -10-86636 200414049, private type (like-window flash utility), to write the new early blade in the image file ~ image to the system BI0s storage area of the computer system 丨 0 丨 2 (the key Non-volatile storage device 12) (step 37). Then, restart the computer system 10 (step: 38). The firmware image file is an external file that contains the updated embedded firmware of the controller. When the controller firmware is embedded, the manufacturer of the computer system 10 transmits it to the end user. For example, the updated firmware shirt image file can be copied to the auxiliary non-volatile storage device 20, or The image file can be used on a floppy disk drive, or as an electronic file, so that the flash utility can read the image file. When the end user activates the flash utility, it updates the new file. Copy the firmware image file to the BIOs storage area (key In the non-volatile storage device 12) (step 37), if the current firmware is overwritten. After restarting, the system BI0s then continues to store the 61〇§ storage area (key non-volatile storage device 12). ) The updated firmware is copied to the embedded controller 21 (step 35), and the current chapter of the embedded controller firmware storage device 24 is overwritten. Now refer to FIG. 3 for an illustration The flowchart of the representative implementation of one of the representative embedded controller update method 30 and the software numbering decision block 34 shown in FIG. 2 is shown in FIG. 2. During computer system startup, these two are stored in the system Bi0s respectively. Zone i2 and the embedded controller firmware image in the rear-entry controller firmware storage device 24 are usually the same. Therefore, the decision path follows, 'Decision block 343_Yes (transfer decision block 344-yes (transfer))', and decision block 345-yes (transfer), and finally proceed to the π-no decision 341 -Do not update ". If so, the computer system 10 directly -11-86636 to start the operating system 'to accommodate the current situation, people ,, ... End user activated the flash utility. Yu flash utility will One ampoule., RTncr., .. After the new firmware image of the version number is written in the _area 12 and the personal computer system is restarted, the path follows the decision-making object. Yes (turn out) ,, ,,, decision block 344- 疋 (+ T out), and, 'decision block 34 Hong No ^ (cobalt out), go to it after taking,' Yes decision 342-update firmware ". As a result, Hebian The system runs through 35, and the system still stores the new firmware image in the storage area 12 into the controller firmware storage device. This is completed under the control of the end-user operating system and has completed the production level. The two parts of the device firmware 26 are updated. Because of providing the annual income control Qin Qin * Qu Dan 彡 Do not w silicon silica of the first limb as Part of the BIOS (step 31), so the flash utility can update the system from the common target system; BIOS and embedded controller firmware (step 37). If the flash utility is performing the update If (step 37) fails, then the verification signature structure of the carcass image in S storage area 12 will be invalid, and the child's decision path will follow the "decision block 343_No (turn out)" to the " No decision does not update the project, enter the controller 2 and continue to execute according to the old body storage device 24. The computer system 10 starts the operating system, and the end user can again / personally activate the far flash utility program to Recovered from the flash failure. If you execute the update rule (step 35), if the flash fails, the early blade image in the storage device 24 will be invalid, and the computer system cannot start the operating system. However, during the next start-up, the decision path focuses on the decision block 343-Yes (turned out), and the "decision block 34 hearted (turned out)", and finally goes to that, it is a decision 342_Update firmware " , Perform the update again (step 35) to recover from the flash failure. This increases the level of flash failure insurance of 86636-12-12200414049. Because the computer system BIOS can The personal computer system 10 is restricted and has exclusive control of all its hardware components, and the system can be implemented because the storage of the system cannot be ordered (and therefore accessible) in the materials industry. / Invention The embedded controller firmware 26 of the production-grade personal computer is allowed to be updated under the control of the end-user operating system (windows). When necessary, the present invention also allows simultaneous updating of the side system BIOS and the embedded controller firmware. The invention also increases the flash fail-safe level. Therefore, the present invention provides a system, method, and software for updating embedded controller firmware. More specifically, the present invention provides the ability to update (flash) a production-grade personal computer under the control of an end-user operating system (windows) of a personal computer embedded in the controller blade body 26. The present invention more preferably provides software for a computer 10 having a basic input / output system (BIOS) and running a Windows operating system. This software is used to update the embedded controller firmware of the computer 10. The software includes a program section, which includes the age controller 26 that enables the system Bi0S to access the carcass identification data. The software includes a program section that is part of the BIOS for starting the computer 10. The software contains a program that causes the system BIOS to read the firmware identification data from the embedded controller; compares the firmware identification data with individual data in the system BIOS storage; and decides whether it should The embedded controller firmware 26 in the system BIOS storage is copied to the embedded controller 21. The software includes a program segment that enables the system BIOS to restart the computer system during the 10th period of -13-86636 200414049 and execute the update rule or procedure, wherein the update rule or procedure writes the new firmware image to the computer system10 One is embedded in the controller's chapter blade storage unit 24. The software includes a flash utility (such as the Windows Flash Utility) that can be activated by the end user after the operating system is started on the personal computer system, in order to add a new embedded control to the firmware image file. The firmware image and update rule are written into a system BIOs storage area 12. If so, systems, methods, and software for updating embedded controller firmware are disclosed. In particular, the specific embodiments described above are merely examples of some specific embodiments in which the principles of the present invention < special specific embodiments are applied. Obviously, those skilled in the art can design many different arrangements without departing from the scope of the present invention. [Brief description of the drawings] With reference to the following detailed description, together with the accompanying drawings, the various features and advantages of the present invention can be more quickly recognized, wherein the same reference numbers indicate the same structural elements, and among them: Figure 1 is an illustration A block diagram of a representative personal computer system incorporating an early controller update method of an embedded controller according to the principles of the present invention is included in Mingyi; the picture shows an example of an early update method of a representative embedded controller according to the principles of the present invention by Mingyi And software number flow chart; and, FIG. 3 is a flowchart of representative execution details of the firmware update method and software number of the representative embedded controller shown in FIG. [Illustration of representative symbols of the figure] 10 computer system / personal computer system / computer 86636 -14- 200414049 30 1 12 13 20 14 19 21 22 24 26 25 embedded controller firmware update method 23 key non-volatile storage of central processing unit Device / System BIOS Storage Area System Memory / Random Access Memory Assisted Non-volatile Storage Device System Bus / Peripheral Component Interconnect Bus Input / Output Main Controller Embedded Controller Memory Non-volatile Storage Device / Storage / Embedded controller firmware storage device Embedded controller opcode / Firmware code / Embedded controller firmware peripheral device 86636 -15-