CN101526908A - 固件更新装置和方法 - Google Patents
固件更新装置和方法 Download PDFInfo
- Publication number
- CN101526908A CN101526908A CN200810008384A CN200810008384A CN101526908A CN 101526908 A CN101526908 A CN 101526908A CN 200810008384 A CN200810008384 A CN 200810008384A CN 200810008384 A CN200810008384 A CN 200810008384A CN 101526908 A CN101526908 A CN 101526908A
- Authority
- CN
- China
- Prior art keywords
- procedure code
- firmware
- storage element
- electronic installation
- check
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种固件更新装置和方法,用以提供可靠的电子装置固件更新方式,提升使用的便利性。该固件更新装置包含第一储存单元、第二储存单元、检查单元及微控制单元(MCU)。第一储存单元及第二储存单元分别储存电子装置的固件的第一程序码及第二程序码。检查单元用以检查该第二程序码是否有效。微控制单元用以在电子装置启动时,启动检查单元的运作,并依据该第二程序码是否有效,决定是否执行该第二程序码。本发明的固件更新装置及方法避免了因固件更新失败而导致的电子装置无法工作,使用户使用更加安全、可靠,也更方便。
Description
技术领域
本发明是有关于电子装置的固件,尤指一种用于电子装置的固件更新装置和方法。
背景技术
固件(firmware)是许多电子装置运作时需要执行的程序,一般皆存于电子装置内部的特定储存装置。而为了解决电子装置运作上所产生的问题、更改电子装置的硬件设定或是提供新的功能等等,厂商会提供新版本的固件程序码,以供更新。
然而,一般电子装置在进行固件更新时,是将新版本的固件程序码写入该特定储存装置,以取代旧版本程序码。此时,若旧版本的固件程序码并未备份且新版本的固件程序码有问题(例如,在写入过程中出错),往往会造成电子装置运作上的问题,甚至故障,而造成使用者的不便。
发明内容
有鉴于此,本发明的一目的,在于提供一种固件更新装置及方法,以提供可靠的电子装置固件更新方式,提升使用时的便利性。
本发明揭露一种固件更新装置,可用于一电子装置。该固件更新装置包含第一储存单元,用以储存该电子装置的固件的第一程序码;第二储存单元,用以储存该固件的第二程序码;检查单元,耦接至第二储存单元,用以检查该第二程序码是否有效;以及微控制单元(MCU),耦接至第一储存单元、第二储存单元及检查单元,用以在电子装置启动时,启动检查单元的运作,并依据该第二程序码是否有效,决定是否执行该第二程序码。
本发明另揭露一种固件更新方法,可用于一电子装置。该电子装置的固件的第一程序码是储存于该电子装置的第一储存单元。该固件更新方法包含:将该固件的第二程序码储存至电子装置的第二储存单元;重新启动电子装置;启动对第二储存单元中的第二程序码的有效性检查;执行该有效性检查,以判断第二储存单元中的第二程序码是否有效;以及依据该有效性检查的结果,决定是否执行该第二储存单元中的第二程序码。
因此通过前述固件更新装置和更新方法,一方面可检查是否有有效的更新程序码可用,另一方面在没有有效的更新程序码可用时(如因固件更新失败所致),仍可继续使用可靠的既有程序码,来维持电子装置的正常运作。相较于先前技术,本发明的固件更新装置和方法可提供更可靠的固件更新方式。避免了因固件更新失败而导致的电子装置无法工作,使用户使用更加安全、可靠,也更方便。
附图说明
图1是本发明的固件更新装置的一较佳实施例的方块图;
图2是本发明的固件更新方法的一较佳实施例的流程图。
附图标记说明:
1-电子装置;10-固件更新装置;11-第一储存单元;12-第二储存单元;13-检查单元;14-微控制单元;20~25-固件更新方法的一较佳实施例的流程。
具体实施方式
图1是本发明的固件更新装置的一较佳实施例的方块图,其中,固件更新装置10是用于电子装置1中,且包含一第一储存单元11、一第二储存单元12、一检查单元13及一微控制单元(MCU)14。电子装置1可为一显示装置,如监视器、电视或数字相框等。第一储存单元11储存电子装置1的固件的一既有程序码,第二储存单元12则储存该固件的一更新程序码。换言之,该固件的不同版本的程序码是分别储存在不同的储存单元中。第一储存单元11与第二储存单元12可为一快闪存储器(flash memory)或电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM)。检查单元13耦接至第二储存单元12,可检查第二储存单元12所存的更新程序码是否有效。检查单元13使用何种方式来检查,本发明并无限制,因此不影响本发明的范围。在一实施中,检查单元13是执行一循环冗余校验(Cyclic RedundancyCheck,简称CRC)演算法,以检查更新程序码是否有效;在另一实施例中,检查单元13执行一总和校验(checksum)演算法,以检查更新程序码是否有效。循环冗余校验演算法与总和校验(checksum)演算法是本发明所属技术领域中具通常知识者所现有,此处不多赘述。微控制单元14是耦接至第一储存单元11、第二储存单元12及检查单元13,可执行固件的既有程序码或是更新程序码,以控制电子装置1的运作。
在图1的较佳实施例中,该既有程序码是可靠的固件程序码版本,在电子装置1出厂前即写入第一储存单元11中,以确保电子装置1的运作正常,之后,第一储存单元11中所存的既有程序码不作任何更动;电子装置1出厂后,若有任何新版本的更新程序码,则写入第二储存单元12,由检查单元13来检查其是否有效,微控制单元14再依据检查结果决定是否执行。至于如何将更新程序码写入第二储存单元12,本发明并无限制,因此不影响本发明的范围。
固件更新装置10的运作过程如下,在电子装置1启动或重新启动(restart)后,微控制单元14先执行第一储存单元11中的既有程序码,该既有程序码在其开头的部分会指示微控制单元14去启动检查单元13,以检查第二储存单元12是否储存了有效的更新程序码。接着,检查单元13执行检查,并回报微控制单元14检查结果。当检查结果显示第二储存单元12并没有储存有效的更新程序码时,微控制单元14继续执行该既有程序码,而忽略第二储存单元12;当检查结果显示第二储存单元12储存了有效的更新程序码时,微控制单元14开始执行该更新程序码以控制电子装置1的运作,而不继续执行该既有程序码。
换言之,每当电子装置1启动或重新启动时,微控制单元14会先执行既有程序码的一部份(如开头的部分),以启动对第二储存单元12的检查。若第二储存单元12储存了有效的更新程序码,则微控制单元14便开始执行更新程序码,而不需再执行既有程序码;若第二储存单元12未储存有效的更新程序码,则微控制单元14继续执行既有程序码。由于既有程序码是可靠的固件版本,能确保电子装置1的运作正常,因此通过前述固件更新装置10的运作方式,一方面可检查是否有有效的更新程序码可用,另一方面在没有有效的更新程序码可用时(如因固件更新失败所致),仍可继续使用可靠的既有程序码,来维持电子装置1的正常运作。相较于先前技术,本发明的固件更新装置10可提供更可靠的固件更新方式。
图2是本发明的固件更新方法的一较佳实施例的流程图;该固件更新方法是用于一电子装置,如监视器、电视或数字相框等显示装置。该电子装置具有第一储存单元与第二储存单元,分别用来储存不同版本的固件程序码。其中,第一储存单元是储存固件的第一程序码。如图2所示,该固件更新方法包含下列步骤:
步骤20:将固件的第二程序码储存至电子装置的第二储存单元;
步骤21:重新启动电子装置;
步骤22:执行第一程序码,以启动对第二储存单元中的第二程序码的有效性检查;
步骤23:执行该有效性检查,以判断第二储存单元中的第二程序码是否有效,若是则跳至步骤25,否则继续步骤24;
步骤24:不执行第二程序码,继续执行第一程序码;
步骤25:执行第二程序码,停止执行第一程序码。
在步骤23中,该有效性检查是依据一循环冗余检验演算法或总和校验演算法,以判断第二程序码是否有效。在一实施例中,步骤22是执行第一程序码的一部份,以启动对第二储存单元中的第二程序码的有效性检查。
以上对本发明的描述是说明性的,而非限制性的,本专业技术人员理解,在权利要求限定的精神与范围之内可对其进行许多修改、变化或等效,但是它们都将落入本发明的保护范围内。
Claims (17)
1.一种固件更新装置,是用于一电子装置,其特征在于,该固件更新装置包含:
一第一储存单元,用以储存该电子装置的一固件的第一程序码;
一第二储存单元,用以储存该固件的第二程序码;
一检查单元,耦接至该第二储存单元,用以检查该第二程序码是否有效;以及
一微控制单元,耦接至该第一储存单元、该第二储存单元及该检查单元,用以在该电子装置启动时,启动该检查单元的运作,并依据该第二程序码是否有效,决定是否执行该第二程序码。
2.根据权利要求1所述的固件更新装置,其特征在于,该第一程序码为一既有程序码,而该第二程序码为一更新程序码。
3.根据权利要求1所述的固件更新装置,其特征在于,该微控制单元是执行该第一程序码,以启动该检查单元的运作。
4.根据权利要求3所述的固件更新装置,其特征在于,该微控制单元是执行该第一程序码的一部份,以启动该检查单元的运作。
5.根据权利要求1所述的固件更新装置,其特征在于,当该第二程序码无效时,该微控制单元继续执行该第一程序码,而不执行该第二程序码。
6.根据权利要求1所述的固件更新装置,其特征在于,当该第二程序码有效时,该微控制单元开始执行该第二程序码,而停止执行该第一程序码。
7.根据权利要求1所述的固件更新装置,其特征在于,该检查单元执行一循环冗余校验(CRC)演算法或一总和校验(checksum)演算法,以检查该第二程序码是否有效。
8.根据权利要求1所述的固件更新装置,其特征在于,该电子装置是一显示装置。
9.根据权利要求8所述的固件更新装置,其特征在于,该显示装置是一监视器、电视或数字相框。
10.一种固件更新方法,是用于一电子装置,该电子装置的一固件的一第一程序码是储存于该电子装置的一第一储存单元,该固件更新方法包含:
将该固件的第二程序码储存至该电子装置的第二储存单元;
重新启动该电子装置;
启动对该第二储存单元中的该第二程序码的有效性检查;
执行该有效性检查,以判断该第二储存单元中的该第二程序码是否有效;以及
依据该有效性检查的结果,决定是否执行该第二储存单元中的该第二程序码。
11.根据权利要求10所述的固件更新方法,其特征在于,该有效性检查是通过执行该第一程序码而启动。
12.根据权利要求11所述的固件更新方法,其特征在于,该有效性检查是通过执行该第一程序码的一部份而启动。
13.根据权利要求10所述的固件更新方法,其特征在于,当该有效性检查的结果显示该第二程序码无效时,不执行该第二程序码,继续执行该第一程序码。
14.根据权利要求10所述的固件更新方法,其特征在于,当该有效性检查的结果显示该第二程序码有效时,执行该第二程序码,停止执行该第一程序码。
15.根据权利要求10所述的固件更新方法,其特征在于,该有效性检查是依据一循环冗余校验演算法或一总和校验演算法,以判断该第二程序码是否有效。
16.根据权利要求10所述的固件更新方法,其特征在于,该电子装置是一显示装置。
17.根据权利要求16所述的固件更新方法,其特征在于,该显示装置是一监视器、电视或数字相框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100083846A CN101526908B (zh) | 2008-03-06 | 2008-03-06 | 固件更新装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100083846A CN101526908B (zh) | 2008-03-06 | 2008-03-06 | 固件更新装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101526908A true CN101526908A (zh) | 2009-09-09 |
CN101526908B CN101526908B (zh) | 2012-01-11 |
Family
ID=41094779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100083846A Expired - Fee Related CN101526908B (zh) | 2008-03-06 | 2008-03-06 | 固件更新装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101526908B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761689A (zh) * | 2011-04-28 | 2012-10-31 | 佳能株式会社 | 摄像设备、镜头设备及其控制方法 |
CN103455354A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
US9256744B2 (en) | 2012-04-10 | 2016-02-09 | Asmedia Technology Inc. | System-on-chip and booting method thereof |
CN106484475A (zh) * | 2016-10-09 | 2017-03-08 | 珠海全志科技股份有限公司 | 固件启动方法、装置及嵌入式设备 |
CN106874033A (zh) * | 2017-01-05 | 2017-06-20 | 重庆零度智控智能科技有限公司 | 无人机智能电池的固件升级方法、装置及智能电池 |
CN107203391A (zh) * | 2016-03-17 | 2017-09-26 | 日本电气株式会社 | 固件激活设备以及固件激活方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023620A (en) * | 1997-02-26 | 2000-02-08 | Telefonaktiebolaget Lm Ecrisson | Method for downloading control software to a cellular telephone |
CN1908909A (zh) * | 2006-08-24 | 2007-02-07 | 无敌科技(西安)有限公司 | 一种开机程序备援系统及其方法 |
-
2008
- 2008-03-06 CN CN2008100083846A patent/CN101526908B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761689A (zh) * | 2011-04-28 | 2012-10-31 | 佳能株式会社 | 摄像设备、镜头设备及其控制方法 |
US9086611B2 (en) | 2011-04-28 | 2015-07-21 | Canon Kabushiki Kaisha | Image pickup apparatus that controls operation of a lens apparatus mounted thereon, lens apparatus that controls firmware update operation and control methods thereof |
US9256744B2 (en) | 2012-04-10 | 2016-02-09 | Asmedia Technology Inc. | System-on-chip and booting method thereof |
CN103455354A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN103455354B (zh) * | 2013-09-06 | 2017-04-12 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN107203391A (zh) * | 2016-03-17 | 2017-09-26 | 日本电气株式会社 | 固件激活设备以及固件激活方法 |
CN106484475A (zh) * | 2016-10-09 | 2017-03-08 | 珠海全志科技股份有限公司 | 固件启动方法、装置及嵌入式设备 |
CN106874033A (zh) * | 2017-01-05 | 2017-06-20 | 重庆零度智控智能科技有限公司 | 无人机智能电池的固件升级方法、装置及智能电池 |
Also Published As
Publication number | Publication date |
---|---|
CN101526908B (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI389029B (zh) | 韌體更新裝置及方法 | |
US10114655B2 (en) | Rapid start up method for electronic equipment | |
CN101526908B (zh) | 固件更新装置和方法 | |
US8677189B2 (en) | Recovering from stack corruption faults in embedded software systems | |
CN102298545B (zh) | 一种系统启动引导处理方法及装置 | |
US7941658B2 (en) | Computer system and method for updating program code | |
US20080046780A1 (en) | Nonvolatile memory | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
CN101004691A (zh) | 一种固件程序升级的方法与装置 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN113064757B (zh) | 一种服务器固件自恢复系统及服务器 | |
JP5183542B2 (ja) | 計算機システム及び設定管理方法 | |
US20140108859A1 (en) | Core diagnostics and repair | |
US10379946B2 (en) | Controller | |
CN101505331A (zh) | 升级智能手机系统软件的方法和装置 | |
JP5167936B2 (ja) | 情報処理装置 | |
CN111273928A (zh) | 一种自升级的bootloader设计方法 | |
US9529581B2 (en) | Circuit and method for writing program codes of basic input/output system | |
US20100251019A1 (en) | Control device | |
CN112988465A (zh) | 一种单片机升级失败自动恢复运行的方法 | |
CN103106089B (zh) | 一种智能平台管理控制器的升级方法和系统 | |
JP2007172096A (ja) | 情報処理装置、および、その起動制御方法 | |
KR101461650B1 (ko) | 컴퓨팅 디바이스의 파일 시스템 관리 장치 및 방법 | |
CN104216797A (zh) | 嵌入式系统设定值设定系统、方法及电子装置 | |
JP2008090656A (ja) | プログラマブルコントローラ |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120111 Termination date: 20190306 |
|
CF01 | Termination of patent right due to non-payment of annual fee |