CN1560739A - 使用存储卡更新固件的方法与装置 - Google Patents

使用存储卡更新固件的方法与装置 Download PDF

Info

Publication number
CN1560739A
CN1560739A CNA2004100073738A CN200410007373A CN1560739A CN 1560739 A CN1560739 A CN 1560739A CN A2004100073738 A CNA2004100073738 A CN A2004100073738A CN 200410007373 A CN200410007373 A CN 200410007373A CN 1560739 A CN1560739 A CN 1560739A
Authority
CN
China
Prior art keywords
firmware
firmware data
data
storer
storage card
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
Application number
CNA2004100073738A
Other languages
English (en)
Other versions
CN1282922C (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN 200410007373 priority Critical patent/CN1282922C/zh
Publication of CN1560739A publication Critical patent/CN1560739A/zh
Application granted granted Critical
Publication of CN1282922C publication Critical patent/CN1282922C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种更新固件的方法与装置,尤其是使用存储卡代替光盘,来更新固件的方法与装置。利用存储卡可重复读写的特性,在更新装置固件的时候,免除光盘烧录的麻烦,此外还能即时储存更新状态信息,在出现错误的时候执行回复补救的措施。

Description

使用存储卡更新固件的方法与装置
技术领域
本发明涉及一种固件更新的方法,尤其是涉及一种用存储卡来代替光盘,更简便更可靠的固件更新的方法。
背景技术
所谓固件(firmware),简单来说,是一种程序,专门用来控制硬件。许多计算机,或内含处理器、单晶片的装置,都会含有固件,储存在只读存储器中。因此从整个只读存储器的观点来看,也有人把固件定义为具有程序码的硬件装置。这样的架构设计,比起把固件制成硬件线路,好处是具有弹性,因为软件的改良升级比硬件线路更容易,成本更低。
为了更新固件,出现了许多技术上的沿革,现今的固件更新已经十分方便,不但自动化,免拆装,而且还可以在系统不中断的情况下进行。然而针对一些功能很单纯,没有完整的人机互动界面的装置,要完成固件更新的动作,颇需要费一番功夫。举例来说,一台DVD光盘机,要更新固件,必须事先备好一片含有更新版固件的光盘,放入之后进入开机→初始化→判断是否固件光盘→判断内容是否正确→显示信息在面板上→使用者确定更新→写入新固件数据。如图1所示,一光盘装置103内含一固件更新器104和一存储器105,该固件更新器104代表处理固件更新程序的功能方块,可以说是现今已知固件更新技术的一象征图,而存储器105则代表装置中专门储存固件程序数据的地方。
要更新存储器105中的固件的时候,先准备一片光盘101,把新版的固件数据102烧录进去,然后放入光盘装置103中,藉由一特定的方式比如说按下更新固件钮,或自动检测,来使该装置的固件更新器104初始化,并开始读取光盘101中的固件数据102,经过固件更新器做正确性及版本检查,确认无误后,写入存储器105中,完成更新的程序。
然而光盘本身是一种只读的媒体,需要特定的材质与装置才能写入数据。在更新的过程中,如果有任何不预期的状况,系统无法将信息透过任何方式显示给使用者知道,故难以辨别更新程序的成功或失败。此外,固件数据本身的数据量,相对于光盘的容量,小了很多,为每次更新程序耗用一片光盘,执行一次烧录程序,显然有些杀鸡用牛刀的数据浪费现象。并且,由于烧录程度较为耗时与消耗电脑资源,以及分派光盘的程序耗时,使用光盘作为更新的媒介,总是不能最佳化地及时更新。
发明内容
有鉴于此,本发明提供一种更简便快速的方法来更新光盘装置中的固件。
本发明提供一存储卡,以及一欲更新固件的装置。其中,存储卡是用来储存固件数据,以及储存更新结果;而欲更新固件的装置内含一存储器;其中更新的步骤就是,将固件数据,写入存储器。
其中存储器通常是快闪存储器或其它在电源关闭时不会流失数据的存储器,而存储卡通常是一种具有可携性的存储器装置,如Memory Stick(MS卡)、Safe Digital(SD卡)、Smart Media(SM卡),xD-Pictrue(xD卡)等。欲更新固件的装置通常是为一种用以存取光盘的装置,如光盘烧录机、DVD播放机等。
为了确保固件的正确性,固件数据还可以更进一步包含:一版本信息,用以在更新时检查版本的新旧;一检查码,用以检查固件数据的完整性(特别是写入固件数据的程序前后);以及一长度码,用以检查固件数据的长度。
在将固件数据写入存储器前,还可以先对固件数据进行一正确性检查,确认无误后才能进行下一步动作。此外,还可以先将存储器中一旧固件数据备份到存储卡中,藉以若发生任何错误,至少能够确保原来的数据还在。在将固件数据写入存储器后,也还可以对已写入存储器中的固件数据进行一正确性检查,并且将一状态信息写入存储卡中,用以记录结果。藉以在当结果显示更新固件的过程有发生错误时,将旧固件数据回复到存储器中,以确保旧系统的正常。
本发明也提供一用简便快速方法来升级固件的装置,此装置内包含有读卡机、存储器和固件更新器。其中,读卡机是用来读取一固件数据;存储器是用来储存固件数据;而固件更新器则是用来将固件数据写入存储器。固件更新器将会执行上述的固件更新方法,来达到改良。
因此,在本发明,固件数据用存储卡来储存,免除光盘烧录的材料与时间成本,同时具有可读写的特性,可将更新过程的信息回馈到存储卡中,供后续处理,使得固件更新的程序更加简便,更加可靠。
为使本发明的上述内容、特征和优点能更明显易懂,下文特举数较佳实施例,并配合附图,详细说明如下。
附图简述
图1是为传统使用光盘升级固件的方法;
图2是为本发明使用存储卡升级固件的方法;以及
图3是为固件数据的结构图。
附图符号说明
101~光盘
102~固件数据
103~光盘装置
104~固件更新器
105~存储器
106~数据输入路径
201~存储卡
202~固件数据
203~光盘装置
204~固件更新器
205~存储器
206~数据输入路径
207~数据输出路径
208~读卡机
301~固件数据
302~版本信息、检查码、长度码
303~二进位数据
具体实施方式
以下请配合参考图2与图3,说明根据本发明的数较佳实施例。
如图2所示,一光盘装置203内含一固件更新器204和一存储器205,该固件更新器204代表处理固件更新程序的功能方块,可以说是本发明的固件更新技术的一象征图;而存储器205则代表装置中专门储存固件程序数据的地方(在此,固件更新器204与存储器205可以是分别与习知技术的固件更新器104与存储器105相同,特别是当没有要执行某些本发明所提出的特殊功能时)。此外还有一读卡机208,用来读取存储卡201。该光盘机装置203中执行固件程序的装置可以是处理器或者计算晶片。然必须强调地是,虽此实施例是为光盘装置203,但本发明的应用应可不限于此,而应以图2与图3所显示的特征为限。
在一较佳实施例中,要更新存储器205中的固件的时候,先把新版的固件数据202存放进去一存储卡201;然后将存储卡201放入光盘装置203中,藉由一特定的方式(比如说按下更新固件钮,或自动检测)来使装置的固件更新器204初始化,首先,将存储器205中的旧版固件数据,经由数据输出途径207,备份到存储卡201上,接着,开始读取存储卡201中固件数据202,经过固件更新器做正确性及版本检查,确认无误后,写入存储器205中,完成更新程序。
在一较佳实施例中,在将固件数据202写入存储器205后,固件更新器204还会对该数据进行一次正确性检查,以确认写入无误,并将一检查结果透过数据输出路径207写入存储卡201中。若是检查结果发现写入存储器205的固件数据202的正确性出了问题,就提供两种选择,一是重新写入一次新版的固件数据202,一种是回复旧版的固件数据。由于先前已将旧版的固件数据备份在存储卡中,因此可以确保光盘装置203一定能够恢复到正常的状态。
因此,本发明使用存储卡更新固件,比起传统使用光盘的好处之一是存储卡具有可写入(特别是重复写入更新)的功能,不像传统的光盘只能存入死的数据,用完之后就不具有价值。存储卡可以将更新的结果记录起来,供后续侦错,也可以将旧版的固件数据备份起来,将来出现更新版的数据,存储卡本身亦能重复利用。可谓好处多多。
在另一较佳实施例中,固件数据在传送的过程中并非一直保持着原始数据的格式。真正要写入存储器中存放的数据只占一部分,此外为了让固件更新器辨认正确的固件数据,还夹带了文件头数据,依照一定格式排列封装;为了让固件数据能正确的在存储卡与装置之间传输,还可以封装成可分片的文件格式,内含文件文件头与区块文件头。至于文件头数据的格式,多是为了检查数据内容的完整性而设计。
如图3所示,对固件数据301的内部数据结构,必须有一预先制订的格式,包含版本信息、检查码、长度码的文件头302,与一个二进位数据区段303。任何传输过程中造成的数据错误,都可从正确性检查中发现。
在另一较佳实施例中,如图2所示,提供一光盘装置203,具有一读卡机208,将存储卡201插入之后,不做固件数据202写入存储器205的动作(亦即可以没有存储器205),而是切换成另一模式,直接执存储卡201中的固件数据202。如此的好处是固件的版本控制更加的弹性化了,脱离了传统必须要储存到存储器205中才能使用的限制,随时随地都可以使用不同版本的固件来工作。而固件更新器204在这种模式下的任务,自然包括了读取固件数据202并检查正确性、处理文件头信息、解开封包取得固件核心以供内部的中央处理器执行该程序等。
在一更进一步的较佳实施例中,存储卡201里提供了复数个版本的固件数据,在光盘装置203启动之后,进入一选择模式,供使用者决定要使用哪一个版本的固件,或者是决定要将哪一个版本的固件更新到光盘装置203的存储器205中,或者是单纯的备份光盘装置203中的存储器205。因此本发明中的存储卡201本身存在的意义可以说是一种具有可携带性、可读写性的固件储存装置,突破了传统固件只读存储器的限制,进入了一种可发挥无限功能的境界。而固件更新器204,也更进一步成为光盘装置203中控制固件的重要角色。没有固件,光碾装置203便无法运作。固件更新器204在初始化后,必须立即执行:判断有无存储卡201→若无则执行存储器205中的固件→若有存储201则判断其中是否有一个或一个以上的固件数据202,如果有则执行使用者选择界面,如果没有则直接执行存储器205中的固件→选定之后将固件程序供应给处理器或晶片去执行。甚至在更进一步的实施例中,该固件更新器当中的固件管理系统,也是来自于固件数据202中的一程序。因此初始化时该固件更新器204必定先执行存储器205中的一既定版本,才开始后续的更新与控管工作。在不需重新启动装置的情况下线上更新固件的技术,需准备一存储器,将新版的固件数据载入后,告诉处理器或晶片组,把一指位器指向该程序的起点,即可启用新版固件。至于一些数据结构或相关技术细节,自当由各家熟悉此技艺的人士发挥。
综上所述,本发明使用存储卡并搭配固件更新器,比起传统的光盘,可以让存储卡同时兼具存储器的功能,在不需烧录只读存储器、改变旧有固件数据的状况下,动态的执行新版的固件,甚或是让使用者选择要执行的版本,加上存储卡本身的可重复利用性与可携性,本发明大大的增加了系统的升级弹性与可靠度,以及资源节省度、使用效率等。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何熟习此项技艺者,在不脱离本发明的精神和范围内,当可做各种的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。

Claims (10)

1.一更新固件的方法,包含下列步骤:
储存一固件数据于一存储卡;以及
将该固件数据,写入欲更新固件的一装置的一存储器。
2.如权利要求1所述的方法,该固件数据更进一步包含:
一版本信息,用以在更新时检查版本的新旧;
一检查码,用以检查该数据的完整性;以及
一长度码,用以检查该数据的长度。
3.如权利要求1所述的方法,更进一步包含下列步骤:
在将该固件数据写入该存储器前,将该存储器中的一旧固件数据备份到该存储卡中;
在将该固件数据写入该存储器之前,先对该固件数据进行一正确性检查;
在将该固件数据写入该存储器后,对已写入该存储器中的固件数据进行一正确性检查;
将一状态信息写入该存储卡中,用以记录一结果;以及
当该结果显示写入该存储器的该固件数据有错误时,将该旧固件数据回复到该存储器中。
4.一可更新固件的装置,包含下列元件:
一读卡机,用以读取一存储卡而得到一固件数据;
一存储器,用以储存一固件数据;以及
一固件更新器,用以将该固件数据写入该存储器。
5.如权利要求4所述的装置,该固件数据更进一步包含:
一版本信息,用以在更新时检查版本的新旧;
一检查码,用以检查该数据的完整性;以及
一长度码,用以检查该数据的长度。
6.如权利要求4所述的装置,该固件更新器,更进一步用以执行下列步骤:
在将该固件数据写入该存储器前,将该存储器中的一旧固件数据备份到该存储卡中;
在将该固件数据写入该存储器之前,先对该固件数据进行一正确性检查;
在将该固件数据写入该存储器后,对已写入该存储器中的固件数据进行一正确性检查;
将一状态信息写入该存储卡中,用以记录一结果;以及
当该结果显示写入该存储器的该固件数据有错误时,将该旧固件数据回复到该存储器中。
7.一更新固件的方法,包含下列步骤:
将一存储器连接至欲更新固件的一装置,该存储卡至少储存一固件数据;以及
直接执行位于该存储卡中的该固件数据。
8.如权利要求7所述的方法,更进一步包含下列步骤:
当该存储卡储存有复数个版本的固件数据时,是选择性执行其中某一版本的固件数据;以及
尚可以在读取该固件数据外,检查该存储卡中该固件数据的正确性。
9.一可更新固件的装置,包含下列元件:
一读卡机,用以读取至少储存有一固件数据的一存储卡;以及
一固件更新器,用以执行位于该存储卡的该固件数据。
10.如权利要求9所述的装置,该固件更新器尚可进行至少下列动作的某一者:
当该存储卡储存有复数个版本的固件数据时,选择性执行其中某一版本的固件数据;以及
检查该存储卡中该固件数据的正确性。
CN 200410007373 2004-03-02 2004-03-02 使用存储卡更新固件的方法与装置 Expired - Lifetime CN1282922C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410007373 CN1282922C (zh) 2004-03-02 2004-03-02 使用存储卡更新固件的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410007373 CN1282922C (zh) 2004-03-02 2004-03-02 使用存储卡更新固件的方法与装置

Publications (2)

Publication Number Publication Date
CN1560739A true CN1560739A (zh) 2005-01-05
CN1282922C CN1282922C (zh) 2006-11-01

Family

ID=34439854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410007373 Expired - Lifetime CN1282922C (zh) 2004-03-02 2004-03-02 使用存储卡更新固件的方法与装置

Country Status (1)

Country Link
CN (1) CN1282922C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359469C (zh) * 2005-07-22 2008-01-02 上海华为技术有限公司 单片机升级方法
CN100456246C (zh) * 2007-01-23 2009-01-28 北京映翰通网络技术有限公司 一种固件程序升级的方法与装置
CN101714104B (zh) * 2008-10-08 2012-09-05 英业达股份有限公司 计算机的固件烧录装置
CN103197943A (zh) * 2013-04-11 2013-07-10 航天科工深圳(集团)有限公司 一种单片机在线升级方法和系统
CN111610427A (zh) * 2020-04-15 2020-09-01 广东乐心医疗电子股份有限公司 一种成品测试方法、电路板测试方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359469C (zh) * 2005-07-22 2008-01-02 上海华为技术有限公司 单片机升级方法
CN100456246C (zh) * 2007-01-23 2009-01-28 北京映翰通网络技术有限公司 一种固件程序升级的方法与装置
CN101714104B (zh) * 2008-10-08 2012-09-05 英业达股份有限公司 计算机的固件烧录装置
CN103197943A (zh) * 2013-04-11 2013-07-10 航天科工深圳(集团)有限公司 一种单片机在线升级方法和系统
CN111610427A (zh) * 2020-04-15 2020-09-01 广东乐心医疗电子股份有限公司 一种成品测试方法、电路板测试方法及装置

Also Published As

Publication number Publication date
CN1282922C (zh) 2006-11-01

Similar Documents

Publication Publication Date Title
US7426633B2 (en) System and method for reflashing disk drive firmware
US8135914B2 (en) Managing cache data and metadata
US8341386B2 (en) Method for updating basic input/output system and method for repairing thereof
US20060224874A1 (en) Method for updating system management basic input output system (SMBIOS) data
CN101634960A (zh) 一种修改bios参数及重新生成校验和的方法
CN101271396A (zh) 电子装置及其在线更新固件的方法
CN101373433A (zh) 更新bios的方法以及使用该方法的电脑与系统
CN1464386A (zh) 嵌入式系统中固件程序在线升级的实现方法
US6985996B1 (en) Method and apparatus for relocating RAID meta data
EP0602869B1 (en) Updating processor control code
US8065497B2 (en) Data management method, and storage apparatus and controller thereof
US6446139B1 (en) Multiple chip single image BIOS
CN102023910A (zh) 固件切换的检测方法
CN1282922C (zh) 使用存储卡更新固件的方法与装置
US10691569B2 (en) System and method for testing a data storage device
CN104866397A (zh) 计算机系统与控制方法
CN104657232A (zh) Bios自动恢复系统及方法
CN105630523A (zh) 计算机bios资料恢复系统及方法
US6636992B1 (en) Method for renewing program code in an embedded micro-controller unit
CN115562593A (zh) 一种异常raid成员盘处理方法、装置及介质
US20070016761A1 (en) Method, apparatus, and computer program product for implementing enhanced system behavior control
JP2002229742A (ja) アクセス切替制御装置、および、アクセス切替制御方法
CN101169754B (zh) 计算机系统及其控制方法
US20050021934A1 (en) Method for loading operating system
CN201804319U (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
CX01 Expiry of patent term

Granted publication date: 20061101

CX01 Expiry of patent term