CN100543676C - 固件更新的方法 - Google Patents

固件更新的方法 Download PDF

Info

Publication number
CN100543676C
CN100543676C CNB2003101247022A CN200310124702A CN100543676C CN 100543676 C CN100543676 C CN 100543676C CN B2003101247022 A CNB2003101247022 A CN B2003101247022A CN 200310124702 A CN200310124702 A CN 200310124702A CN 100543676 C CN100543676 C CN 100543676C
Authority
CN
China
Prior art keywords
firmware
execution
firmware update
indication
stored
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CNB2003101247022A
Other languages
English (en)
Other versions
CN1629808A (zh
Inventor
卢明毅
曾皇龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tatung Co Ltd
Original Assignee
Tatung Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tatung Co Ltd filed Critical Tatung Co Ltd
Priority to CNB2003101247022A priority Critical patent/CN100543676C/zh
Publication of CN1629808A publication Critical patent/CN1629808A/zh
Application granted granted Critical
Publication of CN100543676C publication Critical patent/CN100543676C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明是关于一种固件更新的方法,可用于微处理器内部固件的更新,微处理器内部组设有一应用储存器、一负载储存器、及一暂存储存器,于负载储存器内储存固件更新程序以及固件检测程序,于每次开机时,检测固件是否正确,另外,能在固件更新的过程中,确保更新的正确性及完整性,如果在固件更新的过程中,发生固件更新失败的情况,处理机将重复执行固件更新程序,并提示使用者重新执行固件更新的动作,直到成功完成固件更新为止。

Description

固件更新的方法
技术领域
本发明是关于一种固件更新的方法,尤指一种用于微处理器的固件更新。
背景技术
电脑***中是由微处理器来执行运算处理,微处理器通常会先执行储存于储存设备(例如:ROM)中的程序以作为中介程序或驱动程序,以作为微处理器与外界沟通的桥梁。储存于储存设备的程序一般又称的为固件,如果固件是为错误,其结果将造成微处理器无法运作,辛好,在使用者正常地使用下,固件是由制造商所决定,且都是完整可执行的。如图1所示,整合性微处理器10是具有应用储存器(Application Memory)11、负载储存器(Load Memory)12、及暂存储存器13,整合性微处理器10可存取外部储存器14并与周边装置15进行相关的资料传输。其中,负载储存器12内部储存固件更新程序,当使用者欲进行固件更新的处理时,固件更新程序依序将新版的固件载入至应用储存器中,当电脑***重置后,整合性微处理器10载入应用储存器11内部所储存的固件,使整合性微处理器10可与外部储存器14及周边装置15进行沟通。暂存储存器13是用以储存暂存值或储存旗标(Flag),而旗标可作提供整合性微处理器10进行组态(configuration)设定的判断。
由于功能上的精进或是进行除虫(debug)处理,使用者需执行固件更新程序以取得较新或功能较多的新版本固件。使用者执行固件更新程序以更新整合性微处理器10所使用的固件,如果,在使用者更新固件的过程中,发生非预期的状况,例如:断电、固件传输中断、或固件程序码错误等情形,因为整合性微处理器10尚未完成固件更新的步骤,此时整合性微处理器10所储存的固件可能为不完整或错误的固件,当电脑***重置时,由于固件无法有效地载入至整合性微处理器10或无法执行,电脑***将进入当机的模式,此时.,使用者亦无法得知电脑***所产生的问题所在。因此,现有的固件更新方法并无法有效保护整合性微处理器10进行固件更新时的***安全,而有予以改进的必要。
发明内容
本发明的主要目的是在提供一种固件更新的方法,以便能于固件更新的过程中,如果发生固件更新失败时,将重复执行固件更新的程序,直到完成固件更新为止。
本发明的次要目的是在提供一种固件更新的方法,以便能于固件更新的过程中,如果发生固件更新失败时,微处理机能提示使用者重新执行固件更新的动作。
为达成上述目的,本发明揭露一种固件更新的方法,可用于微处理器内部固件的更新,微处理器内部组设有应用储存器、负载储存器、及暂存储存器,其包括下列步骤:(A)电脑***开机;(B)读取负载储存器所储存的固件,并执行;(C)判断是否存在更新指示,如果成立则执行步骤(I);(D)判断是否存在错误指示,如果成立则执行步骤(I);(E)判断应用储存器所储存的固件是否正确,如果不成立则执行步骤(K);(F)读取应用储存器所储存的固件,并执行;(G)判断是否欲更新应用储存器所储存的固件,如果不成立则重复执行步骤(G);(H)储存更新指示并执行步骤(B);(I)执行固件更新的程序;(J)判断应用储存器所储存的固件是否正确,如果成立则执行步骤(L);(K)储存错误指示并执行步骤(B);以及(L)清除更新指示以及该错误指示,并执行步骤(B);其中更新指示及错误指示是储存于暂存储存器。
附图说明
图1是电脑***的方块图;
图2是本发明固件更新方法的流程图。
具体实施方式
为能更了解本发明的技术内容,特举一较佳具体实施例说明如下。
在图电脑***的架构下,并于负载储存器12内部储存固件,此固件是包括:固件更新程序以及固件检测程序。固件检测程序是用以检测应用储存器11所储存的固件程序码是否正确,其检测的方式较佳是使用错误检查码(checksum code)以检测固件程序码是否正确,当然,使用者亦可于固件程序码中加入假程序码(pseudo code)以供固件检测程序进行固件程序码的检测。
请参阅图2所示,本发明固件更新的方法是应用于整合性微处理器10,并需要应用储存器11、负载储存器12、及暂存储存器13的配合运作,其包括下列步骤:
步骤S20:电脑***开机。
步骤S21:读取负载储存器12所储存的固件,并执行。每当电脑***开机时,整合性微处理器10将会读取负载储存器所储存的固件,并执行此固件。
步骤S22:判断是否存在更新指示?整合性微处理器10检查暂存储存器13的旗标,以判断是否存在更新指示。假设,暂存储存器13中的一个旗标是作为更新旗标,且其预设值为0。如果更新旗标的值为1时,则执行步骤S28,否则执行步骤S23。
步骤S23:判断是否存在错误指示?整合性微处理器10检查暂存储存器13的旗标,以判断是否存在错误指示。假设,暂存储存器13中的另一个旗标是作为错误旗标,且其预设值为0。如果错误旗标的值为1时,则执行步骤S28,否则执行步骤S24。
步骤S24:判断应用储存器所储存的固件是否正确?整合性微处理器10呼叫固件检测程序以检测应用储存器11所储存的固件时,如果固件程序码为正确,则不变更错误旗标的值,并执行步骤S25;当固件检测程序执行固件检测时,检测的结果是表示固件程序码错误,则执行步骤S30。
步骤S25:读取应用储存器11所储存的固件,并执行。当读取应用储存器11所储存的固件是为正确且完整时,整合性微处理器10开始读取应用储存器11所储存的固件,并执行。
步骤S26:判断是否欲更新应用储存器所储存的固件?如果使用者欲更新固件,则执行步骤S27,否则,重复执行步骤S26。
步骤S27:储存更新指示。整合性微处理器10将更新旗标的值由0变更至1,以储存更新指示,并执行步骤S21。
步骤S28:执行固件更新的程序。整合性微处理器10呼叫负载储存器12内部所储存的固件更新程序以进行固件更新的程序,并执行步骤S29。可想而知,此时使用者需提供新版的固件程序码,固件更新程序方能完成固件更新的程序。
步骤S29:判断应用储存器所储存的固件是否正确?整合性微处理器10呼叫负载储存器12内部所储存的固件检测程序以判断应用储存器所储存的固件是否正确。如果固件是为完整且正确,则执行步骤S31,否则执行步骤S30。
步骤S30:储存错误指示。整合性微处理器10将错误旗标的值由0变更至1,以储存错误指示,并执行步骤S21。
步骤S31:清除更新指示及错误指示。整合性微处理器10将更新旗标及错误旗标的值,皆由1变更至0,以清除更新指示及错误指示,并执行步骤S21。
如此一来,电脑***于每次开机时,由固件检测程序来检查固件是否正确,如果固件出现异常的情形,则由使用者界面而告知使用者此固件异常的情况,并执行步骤S28以更新固件。如此一来,可确保更新固件过程的完整性和正确性,避免使用者因为固件错误而导致电脑***无法开机的情形。
上述实施例仅是为了方便说明而举例而已,本发明所主张的权利范围自应以申请专利范围所述为准,而非仅限于上述实施例。

Claims (2)

1.一种固件更新的方法,可用于微处理器内部应用储存器上的固件的更新,微处理器内部组设有该应用储存器、一负载储存器、及一暂存储存器,其特征在于,其包括下列步骤:
(A)电脑***开机;
(B)读取该负载储存器所储存的固件,并执行;
(C)判断是否存在一更新指示,如果成立则执行步骤(I);
(D)判断是否存在一错误指示,如果成立则执行步骤(I);
(E)判断该应用储存器所储存的固件是否正确,如果不成立则执行步骤(K);
(F)读取该应用储存器所储存的固件,并执行;
(G)判断是否欲更新该应用储存器所储存的固件,如果不成立则重复执行步骤(G);
(H)储存该更新指示并执行步骤(B);
(I)执行固件更新的程序;
(J)判断该应用储存器所储存的固件是否正确,如果成立则执行步骤(L);
(K)储存该错误指示并执行步骤(B);以及
(L)清除该更新指示以及该错误指示,并执行步骤(B);其中
该更新指示及该错误指示是储存于该暂存储存器。
2.如权利要求1所述的方法,其特征在于,所述该更新指示及该错误指示是以旗标的形态,储存于该暂存储存器。
CNB2003101247022A 2003-12-18 2003-12-18 固件更新的方法 Expired - Fee Related CN100543676C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2003101247022A CN100543676C (zh) 2003-12-18 2003-12-18 固件更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2003101247022A CN100543676C (zh) 2003-12-18 2003-12-18 固件更新的方法

Publications (2)

Publication Number Publication Date
CN1629808A CN1629808A (zh) 2005-06-22
CN100543676C true CN100543676C (zh) 2009-09-23

Family

ID=34845053

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101247022A Expired - Fee Related CN100543676C (zh) 2003-12-18 2003-12-18 固件更新的方法

Country Status (1)

Country Link
CN (1) CN100543676C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI475486B (zh) * 2012-06-06 2015-03-01 Acer Inc 執行按鍵功能的方法及電子裝置
TWI478061B (zh) * 2012-04-03 2015-03-21 Asrock Inc 更新韌體的方法
TWI498822B (zh) * 2012-12-27 2015-09-01 Giga Byte Tech Co Ltd 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893112B2 (en) * 2009-12-21 2014-11-18 Intel Corporation Providing software distribution and update services regardless of the state or physical location of an end point machine
CN104239109A (zh) * 2014-09-30 2014-12-24 上海瑞猫自动化控制技术有限公司 嵌入式***固件在线管理方法
CN111766797A (zh) * 2019-04-02 2020-10-13 海盗船存储器公司 微控制器、存储模块及用于更新微控制器的韧件的方法
CN111651297B (zh) * 2020-05-21 2023-10-03 深圳市同泰怡信息技术有限公司 一种sps固件监测方法和监测***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI478061B (zh) * 2012-04-03 2015-03-21 Asrock Inc 更新韌體的方法
TWI475486B (zh) * 2012-06-06 2015-03-01 Acer Inc 執行按鍵功能的方法及電子裝置
TWI498822B (zh) * 2012-12-27 2015-09-01 Giga Byte Tech Co Ltd 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法

Also Published As

Publication number Publication date
CN1629808A (zh) 2005-06-22

Similar Documents

Publication Publication Date Title
US20070074201A1 (en) Method and system for updating software and computer readable recording medium storing the method
US7512749B2 (en) Safe software revision for embedded systems
US20040205745A1 (en) Method and system for identifying compatibility between firmware images
US20030037225A1 (en) Apparatus and method for microcontroller debugging
US20140136826A1 (en) Method and apparatus for updating boot loader
US20140201726A1 (en) Updating firmware compatibility data
CN101373451B (zh) 保护双基本输出入***程序的计算机***及其控制方法
CN111142911B (zh) 具有异常恢复功能的嵌入式***及其升级方法
CN103761112A (zh) 一种车载多媒体装置及其控制方法
CN104335186A (zh) 处理器辅助设施
CN108197476B (zh) 一种智能终端设备的漏洞检测方法及装置
CN103019787A (zh) 函数调用关系确定方法、热补丁升级方法及装置
CN107678762B (zh) 一种***版本升级方法及装置
CN103777971A (zh) 电子装置、更新固件的方法与电脑可读取记录媒体
EP3977288B1 (en) Executable code branch annotations for objective branch verification
CN100543676C (zh) 固件更新的方法
CN112379932A (zh) 电子设备的Boot方法、Boot装置和电子设备
CN106201640A (zh) 一种升级BootLoader程序的方法及装置
CN100570560C (zh) 启动芯片软件版本信息设置方法和装置
JP5167936B2 (ja) 情報処理装置
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
CN113238790B (zh) 基于sd卡和eeprom的固件程序更新方法及***
CN113138791A (zh) 基于嵌入式***的升级处理方法、装置及电子设备
CN111857785B (zh) 一种mcu的启动方法、装置及终端设备
CN111352764A (zh) 一种芯片修复的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090923

Termination date: 20111218