TW200414049A - Using system bios to update embedded controller firmware - Google Patents

Using system bios to update embedded controller firmware Download PDF

Info

Publication number
TW200414049A
TW200414049A TW092119817A TW92119817A TW200414049A TW 200414049 A TW200414049 A TW 200414049A TW 092119817 A TW092119817 A TW 092119817A TW 92119817 A TW92119817 A TW 92119817A TW 200414049 A TW200414049 A TW 200414049A
Authority
TW
Taiwan
Prior art keywords
firmware
embedded controller
bios
update
embedded
Prior art date
Application number
TW092119817A
Other languages
Chinese (zh)
Other versions
TWI314703B (en
Inventor
Aleksandr Frid
Original Assignee
Phoenix Tech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phoenix Tech Ltd filed Critical Phoenix Tech Ltd
Publication of TW200414049A publication Critical patent/TW200414049A/en
Application granted granted Critical
Publication of TWI314703B publication Critical patent/TWI314703B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Systems, methods and software that update (flash) embedded controller firmware in production level computers under end-user operating system control, such as systems running a Windows operating system. An exemplary system comprises a central processing unit (CPU), a system memory, an embedded controller that comprises embedded controller firmware, and a BIOS storage area that stores initialization code comprising a basic input/output system (BIOS) that is operative to initialize the CPU and the system memory and which includes embedded controller firmware and a firmware update algorithm. Embedded controller firmware updating is implemented by comparing firmware identification data from the embedded controller with corresponding data in the BIOS, determining whether the embedded controller firmware in the embedded controller should be updated, and causing the BIOS to run the update algorithm and copy the embedded controller firmware from the BIOS storage area into the embedded controller to overwrite and update the embedded controller firmware therein. A flash utility is operative to write the updated embedded controller firmware from the firmware image file into the BIOS storage area.

Description

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-

Claims (1)

200414049 拾、申請專利範園: 1. 一種供以更新嵌入控制器韌體之系統,包括: (1) 一中央處理單元(CPU); (2) —耦合至該CPU之系統記憶體; (3) 一耦合至該CPU、儲存初始化碼之BIOS儲存區, 其中該初始化碼包括一用以初始化該CPU和該系統記 憶體之基本輸入/輸出系統(BIOS),及其中該BIOS儲存 區包含嵌入控制器韌體和一韌體更新通則; 0 (4) 一耦合至該CPU、包括嵌入控制器軏體之嵌入控 制器;及 (5) —提供嵌入控制器韌體更新之軟體,其中包括: 一用以將更新後的嵌入控制器韌體寫入該BIOS儲存 區中以覆寫該目前的韌體影像之快閃公用程式; 一比較該嵌入控制器中韌體識別資料與該BIOS中相 對應資料之程式段; 一判定是否應更新該嵌入控制器的嵌入控制器韌體 @ 之程式段;及 一使該BIOS執行該更新通則和將該BIOS儲存區中的 嵌入控制器韌體複製到該嵌入控制器中、以覆寫和更新 該嵌入控制器裡的嵌入控制器韌體之程式段。 2. 如申請專利範圍第1項之系統,其中該快閃公用程式包 括一在一視窗作業系統下執行之快閃公用程式。 3. 如申請專利範圍第1項之系統,其中該判定是否應更新 該嵌入控制器的嵌入控制器韌體之程式段包括: 86636 200414049 一判定該BIOS中的一韌體驗證簽名檔是否正確之程 式段; 如該BIOS中的該韌體驗證簽名檔係正確的,則一判 定該嵌入控制器中的一韌體驗證簽名檔是否正確、且如 不正確時則容許執行該更新通則之程式段;及 如該韌體驗證簽名檔係正確的,則一判定該BIOS中 一版本編號是否與自該嵌入控制器中所讀取的該韌體 版本編號相匹配、且如不匹配時則容許執行該更新通則 $ 之程式段。 4. 一種用於一電腦系統上、供以更新嵌入控制器韌體之方 法,其中該電腦系統包含一基本輸入/輸出系統 (BIOS)、一作業系統、及一嵌入控制器,及其中該嵌入 控制器包括嵌入控制器韌體,該方法包括以下步騾: 提供嵌入控制器韌體和一韌體更新通則、作為該 BIOS的一部分; 啟動該電腦系統; ◦ 引動一快閃公用程式,以將更新後的嵌入控制器韌體 寫入該BIOS儲存區中、以覆寫該目前的韌體影像; 比較該嵌入控制器中的韌體識別資料與該BIOS中的 相對應資料; 判定是否應更新該嵌入控制器的嵌入控制器韌體;及 執行該更新通則,以將該BIOS中的嵌入控制器韌體 複製到該嵌入控制器中、以覆寫和更新該嵌入控制器韌 體0 - 86636 200414049 5. 如申請專利範圍第4項之方法,其中該作業系統為一視 窗作業系統;及該快閃公用程式為一在一視窗作業系統 下執行之公用程式。 6. 如申請專利範圍第4項之方法,其中該判定是否應更新 該嵌入控制器的嵌入控制器韌體之步騾包括: 判定該BIOS中的一韌體驗證簽名檔是否正確; 如該BIOS中的該韌體驗證簽名檔係正確的話,則判 定該嵌入控制器中的一韌體驗證簽名檔是否正確,且如 | 不正確的話,則執行該更新通則;及: 如該韌體驗證簽名檔係正確的話,則判定該BIOS中 的一版本編號是否與自該嵌入控制器中所讀取的該韌 體版本編號相匹配,且如不匹配的話,則執行該更新通 則。 7. 一種用於一電腦系統上、供以更新嵌入控制器韌體之軟 體,其中該電腦系統包含一基本輸入/輸出系統 (BIOS)、一作業系統、及一嵌入控制器,及其中該嵌入 〇 控制器包括嵌入控制器韌體,該軟體包括: 一包括嵌入控制器韌體之BIOS程式段; 一包括一韌體更新通則之BIOS程式段; 一啟動該電腦之程式段; 一將更新後的嵌入控制器韌體寫入該BIOS儲存區中 以覆寫該目前的韌體影像之快閃公用程式段; 一比較該嵌入控制器中韌體識別資料與該BIOS中相 對應資料之程式段; 86636 200414049 一判定是否應更新該嵌入控制器的嵌入控制器韌體 之程式段;及 一執行該更新通則,以將該BIOS中的嵌入控制器韌 體複製到該嵌入控制器中以覆寫和更新該嵌入控制器 韌體之程式段。 8. 如申請專利範圍第7項之軟體,其中該作業系統為一視 窗作業系統;及該快閃公用程式為一在一視窗作業系統 下執行之公用程式。 φ 9. 如申請專利範圍第7項之軟體,其中該判定是否應更新 該嵌入控制器的嵌入控制器韌體之程式段包括: 一判定該BIOS中的一韌體驗證簽名檔是否正確之程 式段; 如該BIOS中的該韌體驗證簽名檔係正確的,則一判 定該嵌入控制器中的一韌體驗證簽名檔是否正確,且如 不正確時則容許執行該更新通則之程式段;及 如該韌體驗證簽名檔係正確的,則一判定該BIOS中 〇 一版本編號是否與自該嵌入控制器中所讀取的該韌體 版本編號相匹配,且如不匹配時則容許執行該更新通則 之程式段。 86636 -4-200414049 Patent application park: 1. A system for updating embedded controller firmware, including: (1) a central processing unit (CPU); (2) — system memory coupled to the CPU; (3 ) A BIOS storage area coupled to the CPU and storing an initialization code, wherein the initialization code includes a basic input / output system (BIOS) for initializing the CPU and the system memory, and the BIOS storage area includes embedded control Device firmware and a firmware update general rule; 0 (4) an embedded controller coupled to the CPU, including an embedded controller carcass; and (5) — software providing embedded controller firmware updates, including: a A flash utility for writing the updated embedded controller firmware into the BIOS storage area to overwrite the current firmware image; comparing the firmware identification data in the embedded controller with the corresponding BIOS Data segment; a segment that determines whether the embedded controller firmware @ of the embedded controller should be updated; and a section that causes the BIOS to execute the update rule and copy the embedded controller firmware in the BIOS storage area The embedded controller, to overwrite and update the embedded controller in the embedded controller firmware program segment. 2. If the system of item 1 of the patent scope is applied, the flash utility program includes a flash utility program running under a window operating system. 3. If the system of claim 1 is applied for, the program for determining whether the embedded controller firmware of the embedded controller should be updated includes: 86636 200414049-determining whether a firmware verification signature file in the BIOS is correct Program segment; if the firmware verification signature file in the BIOS is correct, a determination is made as to whether a firmware verification signature file embedded in the controller is correct, and if it is incorrect, a program segment that allows the update general rule to be executed ; And if the firmware verification signature file is correct, a determination is made as to whether a version number in the BIOS matches the firmware version number read from the embedded controller, and if not, execution is allowed The update section $. 4. A method for updating embedded controller firmware on a computer system, wherein the computer system includes a basic input / output system (BIOS), an operating system, and an embedded controller, and the embedded therein The controller includes embedded controller firmware. The method includes the following steps: Provide the embedded controller firmware and a firmware update rule as part of the BIOS; start the computer system; ◦ launch a flash utility to The updated embedded controller firmware is written into the BIOS storage area to overwrite the current firmware image; compare the firmware identification data in the embedded controller with the corresponding data in the BIOS; determine whether it should be updated The embedded controller firmware of the embedded controller; and executing the update rule to copy the embedded controller firmware in the BIOS to the embedded controller to overwrite and update the embedded controller firmware 0-86636 200414049 5. The method of claim 4 in the scope of patent application, wherein the operating system is a window operating system; and the flash utility is a window operating system Run the utility. 6. The method of claim 4 in the patent application, wherein the step of determining whether the embedded controller firmware of the embedded controller should be updated includes: determining whether a firmware verification signature file in the BIOS is correct; such as the BIOS If the firmware verification signature file in is correct, then it is determined whether a firmware verification signature file embedded in the controller is correct, and if | is incorrect, the update general rule is executed; and if the firmware verification signature is If the file is correct, it is determined whether a version number in the BIOS matches the firmware version number read from the embedded controller, and if it does not match, the update general rule is executed. 7. A software for updating the embedded controller firmware on a computer system, wherein the computer system includes a basic input / output system (BIOS), an operating system, and an embedded controller, and the embedded therein 〇The controller includes embedded controller firmware, the software includes: a BIOS program segment including embedded controller firmware; a BIOS program segment including a general firmware update rule; a program segment for starting the computer; The embedded controller firmware is written into the BIOS storage area to overwrite the flash utility program segment of the current firmware image; a program segment comparing the firmware identification data in the embedded controller with the corresponding data in the BIOS 86636 200414049 a program to determine whether the embedded controller firmware of the embedded controller should be updated; and a general rule of the update to copy the embedded controller firmware in the BIOS to the embedded controller to overwrite And update the block of embedded controller firmware. 8. If the software in the scope of patent application No. 7, wherein the operating system is a window operating system; and the flash utility is a utility running under a window operating system. φ 9. If the software of the scope of patent application item 7, wherein the program section for determining whether the embedded controller firmware of the embedded controller should be updated includes: a program for determining whether a firmware verification signature file in the BIOS is correct If the firmware verification signature file in the BIOS is correct, a determination is made as to whether a firmware verification signature file embedded in the controller is correct, and if it is incorrect, a program segment of the update general rule is permitted; And if the firmware verification signature file is correct, it is determined whether the 01 version number in the BIOS matches the firmware version number read from the embedded controller, and if it does not match, execution is allowed. The program section of the general update. 86636 -4-
TW092119817A 2002-08-06 2003-07-21 Using system bios to update embedded controller firmware TWI314703B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/213,550 US20040030877A1 (en) 2002-08-06 2002-08-06 Using system BIOS to update embedded controller firmware

Publications (2)

Publication Number Publication Date
TW200414049A true TW200414049A (en) 2004-08-01
TWI314703B TWI314703B (en) 2009-09-11

Family

ID=31494475

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092119817A TWI314703B (en) 2002-08-06 2003-07-21 Using system bios to update embedded controller firmware

Country Status (4)

Country Link
US (1) US20040030877A1 (en)
AU (1) AU2003259139A1 (en)
TW (1) TWI314703B (en)
WO (1) WO2004017195A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI602124B (en) * 2017-01-20 2017-10-11 神雲科技股份有限公司 Substrate management controller firmware update method for fan speed control

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089547B2 (en) * 2002-09-13 2006-08-08 International Business Machines Corporation Firmware updating
US20040076043A1 (en) * 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
US7353323B2 (en) * 2003-03-18 2008-04-01 American Megatrends, Inc. Method, system, and computer-readable medium for updating memory devices in a computer system
US7080243B2 (en) * 2003-05-15 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system for comparing firmware images
US7487345B2 (en) * 2003-10-10 2009-02-03 Dell Products L.P. Method of comparing build capability flags of replacement BIOS with boot capability flags of current BIOS to determine compatibility between BIOS revisions and installed hardware during flash update
US7533274B2 (en) * 2003-11-13 2009-05-12 International Business Machines Corporation Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
US7017040B2 (en) * 2003-12-04 2006-03-21 Intel Corporation BIOS update file
KR100987628B1 (en) * 2004-02-07 2010-10-13 엘지전자 주식회사 Firmware update method of embedded controller and firmware storage medium for update
JP2005309957A (en) * 2004-04-23 2005-11-04 Denso Corp Microcomputer, in-vehicle system
JP2006260058A (en) * 2005-03-16 2006-09-28 Fujitsu Ltd Firmware update method for computer server system
US20060224874A1 (en) * 2005-03-30 2006-10-05 Inventec Corporation Method for updating system management basic input output system (SMBIOS) data
US7426633B2 (en) * 2005-05-12 2008-09-16 Hewlett-Packard Development Company, L.P. System and method for reflashing disk drive firmware
US8352718B1 (en) * 2005-11-29 2013-01-08 American Megatrends, Inc. Method, system, and computer-readable medium for expediting initialization of computing systems
US7600055B2 (en) * 2006-01-03 2009-10-06 International Business Machines Corporation Apparatus, system, and method for firmware update of redundant controllers
TWI317905B (en) * 2006-01-09 2009-12-01 Wistron Corp A method for executing booting process under a abnormal situation and a control chip for booting process
US8429418B2 (en) 2006-02-15 2013-04-23 Intel Corporation Technique for providing secure firmware
US20070260790A1 (en) * 2006-04-03 2007-11-08 Jerry Chen Embedded controller and method for updating the firmware thereof
US7730295B1 (en) * 2006-09-05 2010-06-01 Western Digital Technologies, Inc. Updating firmware of a peripheral device
KR101079592B1 (en) * 2006-11-03 2011-11-04 삼성전자주식회사 Display apparatus and information update method thereof
US8271968B2 (en) * 2006-12-12 2012-09-18 Dell Products L.P. System and method for transparent hard disk drive update
US20080235501A1 (en) * 2007-03-19 2008-09-25 James Ray Bailey Method For Detecting and Correcting Firmware Corruption
US8601460B2 (en) * 2007-07-25 2013-12-03 International Business Machines Corporation Systems and methods for firmware cloning
US8225078B2 (en) * 2007-08-30 2012-07-17 International Business Machines Corporation Document viewing mode for battery powered computing devices
TWI349882B (en) * 2007-09-04 2011-10-01 Quanta Comp Inc Firmware update system and method for update the same
US8812854B2 (en) * 2009-10-13 2014-08-19 Google Inc. Firmware verified boot
US8112505B1 (en) * 2009-10-20 2012-02-07 Wanova Technologies, Ltd. On-demand block-level file system streaming to remote desktops
GB2476931A (en) * 2010-01-12 2011-07-20 Fujitsu Serv Ltd Firmware update system using a system monitoring chip with associated memory
CN102436388A (en) * 2011-12-22 2012-05-02 华为技术有限公司 Embedded system software upgrading method and device
US9417889B2 (en) 2011-12-29 2016-08-16 Vmware, Inc. Fast provisioning of a centralized virtual desktop using linked clones with overlaid centralized virtual desktop layers
JP6132009B2 (en) * 2012-03-31 2017-05-24 インテル・コーポレーション Method and system for confirming proper operation of computing device after system change
JP5943681B2 (en) * 2012-04-09 2016-07-05 キヤノン株式会社 Information processing apparatus, firmware update method for information processing apparatus, and program
CN102637134B (en) * 2012-04-26 2015-01-21 网经科技(苏州)有限公司 Software loading and storing method under embedded asymmetric multiprocessing architecture
US9519786B1 (en) * 2012-10-05 2016-12-13 Google Inc. Firmware integrity ensurance and update
TWI510903B (en) 2012-11-19 2015-12-01 Wistron Corp Computer system and data recovery method thereof
JP6101073B2 (en) * 2012-12-27 2017-03-22 日本電産サンキョー株式会社 Peripheral device, peripheral device control method, firmware download system, and program
KR20140099757A (en) * 2013-02-04 2014-08-13 삼성전자주식회사 Electronic device and method for upgrading firmware
TWI493333B (en) * 2013-04-16 2015-07-21 Acer Inc Computer device and power saving method thereof
WO2014175861A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
US10733288B2 (en) * 2013-04-23 2020-08-04 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
WO2014175865A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Repairing compromised system data in a non-volatile memory
US9189631B2 (en) * 2013-06-07 2015-11-17 Dell Inc. Firmware authentication
EP2930641B1 (en) * 2014-04-07 2019-04-03 Nxp B.V. Method of Programming a Smart Card, Computer Program Product and Programmable Smart Card
US9317691B2 (en) * 2014-05-08 2016-04-19 Dell Products L.P. Pre-boot software verification
CN105335248B (en) * 2014-06-27 2018-08-31 联想(北京)有限公司 Information processing method and electronic equipment
CN106462400A (en) 2014-07-02 2017-02-22 惠普发展公司,有限责任合伙企业 Firmware update
US10360051B2 (en) * 2014-12-22 2019-07-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
WO2016175756A1 (en) * 2015-04-28 2016-11-03 Hewlett Packard Enterprise Development Lp Hardware for system firmware use
US10867045B2 (en) * 2015-09-30 2020-12-15 Hewlett-Packard Development Company, L.P. Runtime verification using external device
US10127032B2 (en) * 2015-11-05 2018-11-13 Quanta Computer Inc. System and method for unified firmware management
US10223094B2 (en) * 2016-09-30 2019-03-05 Intel Corporation Initializing a system on a chip
CN107741855A (en) * 2017-09-05 2018-02-27 广东虹勤通讯技术有限公司 A hardware program updating method, computing device and readable storage medium
JP6584487B2 (en) * 2017-12-20 2019-10-02 キヤノン株式会社 Information processing apparatus, control method thereof, and program
US10853472B2 (en) * 2018-06-28 2020-12-01 Intel Corporation System, apparatus and method for independently recovering a credential
US10430181B1 (en) * 2018-08-20 2019-10-01 Quanta Computer Inc. Retrieving updated firmware code
CN109491951B (en) * 2018-09-28 2022-05-10 超聚变数字技术有限公司 A method of configuring data and a computing device
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
US11016755B2 (en) * 2019-07-31 2021-05-25 Dell Products L.P. System and method to secure embedded controller flashing process
TWI779257B (en) * 2019-12-26 2022-10-01 聚眾聯合科技股份有限公司 Firmware update method and firmware update system thereof
CN111045709B (en) * 2019-12-26 2021-12-24 联想(北京)有限公司 Firmware upgrading method and firmware upgrading device
CN113127018A (en) * 2019-12-30 2021-07-16 聚众联合科技股份有限公司 Firmware updating method and firmware updating system thereof
EP4097593A4 (en) 2020-01-27 2023-10-04 Hewlett-Packard Development Company, L.P. FIRMWARE CORRUPTION RECOVERY
CN111796848A (en) * 2020-07-08 2020-10-20 中国第一汽车股份有限公司 Bootloader software updating method and device, embedded controller and storage medium
CN113391831A (en) * 2021-06-11 2021-09-14 深圳市同泰怡信息技术有限公司 BIOS firmware updating method and system based on four-way server and computer readable storage medium
WO2023009146A1 (en) * 2021-07-30 2023-02-02 Hewlett-Packard Development Company, L.P. Bioss with oprom managers
TWI793998B (en) * 2022-01-27 2023-02-21 飛捷科技股份有限公司 Firmware architecture and boot method for the control system
CN114942794A (en) * 2022-06-20 2022-08-26 南京大鱼半导体有限公司 Embedded system firmware processing method, device, equipment and storage medium
US20250045400A1 (en) * 2023-08-02 2025-02-06 Dell Products, L.P. Secure firmware updates in heterogeneous computing platforms
CN117931246B (en) * 2024-03-19 2024-06-14 天固信息安全系统(深圳)有限公司 Method and device for upgrading EC firmware, electronic equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056532A1 (en) * 1996-08-16 2001-12-27 Barnes Cooper Method and apparatus for fault tolerant flash upgrading
GB2383151A (en) * 2001-12-14 2003-06-18 Inventec Corp Automatic keyboard bios updating method
TW591524B (en) * 2002-03-13 2004-06-11 Insyde Software Corp Updating method of keyboard controller in notebook computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI602124B (en) * 2017-01-20 2017-10-11 神雲科技股份有限公司 Substrate management controller firmware update method for fan speed control

Also Published As

Publication number Publication date
US20040030877A1 (en) 2004-02-12
WO2004017195A1 (en) 2004-02-26
TWI314703B (en) 2009-09-11
AU2003259139A1 (en) 2004-03-03

Similar Documents

Publication Publication Date Title
TW200414049A (en) Using system bios to update embedded controller firmware
TWI515660B (en) Firmware variable update method
US7322029B2 (en) Method and system for recovering program code in a computer system
TWI710952B (en) Firmware update method and computer system
KR100283243B1 (en) How to boot the operating system
US8601255B2 (en) Approaches for updating bios
CN103999041B (en) The backup firmware during equipment initializes
US20060242398A1 (en) Booting from non-volatile memory
JP2004145886A (en) Reliable and secure updating and recovery of firmware from mass storage device
TW201502764A (en) Specialized boot path for speeding up resume from sleep state
WO2007045133A1 (en) A computer system and a method which can perform integrity checking
TW200805159A (en) Method and apparatus for fast boot of an operating system
TW201222554A (en) Handling errors during device bootup from a non-volatile memory
TW200847021A (en) Automatic backup, restore and update BIOS computer system
TW200414041A (en) Method and system for maintaining firmware versions in a data processing system
CN101031890A (en) Self-monitoring and updating of firmware over a network
US20070094656A1 (en) Self-modifying copier for downloading executable code in a non-disruptive manner
US20180095693A1 (en) Information processing apparatus, information processing system, and method for controlling information processing apparatus
TW202433278A (en) Firmware update method
JP2000010666A (en) Computer system and flash ROM rewriting method
US20220066784A1 (en) Disabling software persistence
JP6775651B1 (en) Information processing equipment, control methods, and programs
US20050060530A1 (en) Method for displaying information of updating BIOS
CN100462926C (en) A processor system and method using multiple boot program memories
TW479201B (en) Method for updating BIOS of the computer system

Legal Events

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