固件更新方法

文档序号:6405017阅读:321来源:国知局
专利名称:固件更新方法
技术领域
本发明涉及一种更新方法,且特别涉及一种固件的更新方法。
背景技术
由于电子产品进步的速度很快,往往产品到达使用者手上后,又需添加新的功能,或是发现某些错误。一般是以更新固件的方式改正错误或增加新的功能。
固件更新的过程中,需有固件更新执行文件及固件程序代码(firmwarecode)。固件更新执行文件是在操作系统中执行,操作系统例如是Windows、DOS或Linux,以将固件程序代码写入电子产品中的闪存。
然而,一般的固件更新过程中,一次仅能就一个电子产品进行更新,因此若有数个不同型号的电子产品需更新时,需花费数次更新的时间。
另外,进来的电子产品的固件也愈来愈大,例如是DVD烧录机,其固件程序代码即大于1M bits,因此无法在DOS操作系统下进行更新。

发明内容
有鉴于此,本发明的目的就是在提供一种在内存受限的操作系统下执行,且可以一次更新多项电子产品的固件更新方法。
根据本发明的目的,提出一种固件更新方法,用以更新多个电子装置。首先,提供一个具有多个固件程序代码的固件更新文件,此些固件程序代码分别对应至此些电子装置。接着,解压缩固件更新文件的一部分,并写入对应的电子装置。接着,检查是否有写入错误。最后,检查是否更新完毕,若否,则重复写入步骤。
根据本发明的另一目的,提出一种固件更新文件制作方法。首先,提供多个固件程序代码。接着,输入各固件程序文件的一版本参数及一型号参数,并进行确认。最后,决定是否要将这些固件程序代码压缩,并据以产生固件更新文件。
为让本发明的上述目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下。


图1示出了依照本发明一较佳实施例的一种固件更新文件制作方法的流程图。
图2示出了依照本发明的实施例的一种固件更新方法流程图。
图3示出了应用本实施例的方法的计算机系统示意图。
附图符号说明300计算机系统310、312、314、316光驱320计算机主机具体实施方式
请参照图1,其示出了依照本发明一较佳实施例的一种固件更新文件制作方法流程图。本实施例中的制作方法是以一个程序而自动制作包括多个固件程序代码的更新文件,以便在同时更新多个电子装置,例如是DVD ROM、DVD烧录机、主机板等等。首先,如步骤10所示,接收多个固件程序代码,使用者可在本程序中输入多个固件程序代码。接着,如步骤12所示,确认各固件程序代码的版本及所对应的电子装置的制造厂商、型号等参数。由于不同的电子装置所使用的固件程序代码是不相同的,因此在制作此更新文件时需加以确认固件程序代码所适用的电子装置,以便在往后更新时,避免更新到错误版本或错误的型号。
接着,如步骤14所示,决定是否要将这些固件程序代码压缩。压缩的好处是,一方面可以在DOS环境下执行,另一方面可以使更新文件可以容纳更多种的固件程序代码。在DOS环境下,只有640Kbytes的内存可以使用,但是一般的DVD烧录机的固件即大于1Mbytes,因此不进行压缩的话无法在DOS环境下使用。因此使用者可以依据执行更新时的操作系统,或所需的固件程序代码的数目而做是否压缩的考虑。在本实施例中,压缩后的固件程序代码为未压缩时的一半,因此可以容纳更多的固件程序代码。
最后,如步骤16所示,产生包含上述固件程序代码的更新文件。此更新文件是可以更包括或不包括更新执行文件,端视使用者的考虑而定。
产生包括多个固件程序代码的更新文件后,即可开始据以更新电子产品的固件。图2示依照本发明的实施例的一种固件更新方法流程图。首先,如步骤20所示,检查是否需对此更新文件中的固件程序代码进行解压缩,也就是检查此更新文件在制作过程中是否压缩固件程序代码。若需解压缩,则执行步骤21,否则执行步骤25。
在步骤21中,解压缩更新文件中的固件程序代码。此解压缩动作是可以先解一部份,或一次全解例如在DOS环境下可能仅先解一部份。接着,在步骤22中,将步骤21所解压缩的数据写入对应的电子装置。在此步骤更可以检查固件程序代码的版本与电子装置中的固件版本,及检查固件程序代码是否与对应的电子装置相符合。
接着,在步骤23中,检查是否有写入错误。在此步骤是将在步骤22写入的数据读出来,并加以比对,以确认是否写入成功。若有写入错误,则回到步骤21重新将此部分的数据解压缩后重新写入,或是回到步骤22重新写入。接着在步骤24中检查更新是否结束。若尚未更新结束,则回到步骤21继续解压缩固件程序代码。更新结束后即结束本方法。
在不需解压缩固件程序代码的情形下,执行步骤25,直接将更新文件中的固件程序代码写入对应的电子产品。步骤25中是可以使用多任务绪(multi-thread)的方式,同时将多个固件程序代码分别写入对应的电子产品。接着,在步骤26中,检查是否有写入错误。若有,则回到步骤25将错误的固件程序代码重新写入,否则结束本方法。
图3是应用本实施例的方法的计算机系统示意图。计算机系统300包括计算机主机320及多台光驱310、312、314及316。若这些光驱310-316是为不同型号,且需要进行固件更新,利用本实施例的方法可以一次更新完所有光驱的固件,节省人力操作及宝贵的时间。例如是计算机维修部门或电子装置的生产部门,利用本实施例的方法可以增进工作效率进而降低成本。
本发明上述实施例所揭露的固件更新方法可以一次更新多台电子装置,节省人力操作及时间,并且可以在内存有局限的操作系统下执行。
综上所述,虽然本发明已以一较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。
权利要求
1.一种固件更新方法,用以更新多个电子装置,该方法包括(a)提供一个具有多个固件程序代码的固件更新文件,这些固件程序代码分别对应至这些电子装置;(b)解压缩该固件更新文件的一部分,并写入对应的该电子装置;(c)检查是否有写入错误;以及(d)检查是否更新完毕,若否,则重复步骤(b)。
2.如权利要求1所述的更新方法,其中,步骤(c)中,是从对应的该电子装置中读出在步骤(b)中所写入的该部分,以判断是否有写入错误。
3.如权利要求1所述的更新方法,其中,在步骤(c)中,若发现有写入错误则将该部分重写入对应的该电子装置。
4.如权利要求1所述的更新方法,其中,各该固件程序代码中,是具有一型号参数,依据该型号参数即可知该固件程序代码所对应的电子装置。
5.如权利要求1所述的更新方法,其中,各该固件程序代码中,是具有一版本参数,依据该版本参数即可比较该固件程序代码是否比对应的电子装置中的固件版本还新。
6.如权利要求1所述的更新方法,其中,该固件更新文件的制作方法包括提供该些固件程序文件;输入各该些固件程序文件的一版本参数及一型号参数,并进行确认;压缩该些固件程序文件;以及依据该些压缩的固件程序文件产生该固件更新文件。
7.如权利要求6所述的更新方法,其中,该固件更新文件更包括一固件更新执行文件。
8.如权利要求1所述的更新方法是用于DOS操作系统。
9.一种固件更新方法,用以更新多个电子装置,该方法包括提供一个具有多个固件程序代码的固件更新文件,这些固件程序代码分别对应至这些电子装置;以多执行绪的方式,同时将各该固件程序代码写入对应的该电子装置;以及检查是否有写入错误。
10.如权利要求9所述的更新方法,其中,检查步骤是从对应的该电子装置中读出在写入步骤中所写入的该固件程序代码,以判断是否有写入错误。
11.如权利要求9所述的更新方法,其中,在检查步骤中,若发现有写入错误则将该固件程序代码重写入对应的该电子装置。
12.如权利要求9所述的更新方法,其中,各该固件程序代码中,是具有一型号参数,依据该型号参数即可知该固件程序代码所对应的电子装置。
13.如权利要求9所述的更新方法,其中,各该固件程序代码中,是具有一版本参数,依据该版本参数即可比较该固件程序代码是否比对应的电子装置中的固件版本还新。
14.如权利要求9所述的更新方法,其中,该固件更新文件的制作方法包括提供这些固件程序文件;输入各该些固件程序文件的一版本参数及一型号参数,并进行确认;及依据这些固件程序文件产生该固件更新文件。
15.如权利要求14所述的更新方法,其中,该固件更新文件更包括一固件更新执行文件。
16.如权利要求9所述的更新方法是用于Windows操作系统。
17.一种固件更新文件制作方法,包括提供多个固件程序代码;输入各该些固件程序文件的一版本参数及一型号参数,并进行确认;及决定是否要将该些固件程序代码压缩,并据以产生该固件更新文件。
18.如权利要求17所述的制作方法,其中,决定压缩步骤中,是依据该更新文件所应用的一操作系统而决定是否压缩。
19.如权利要求18所述的制作方法,其中,若该操作系统为Windows,则不需对这些固件程序代码进行压缩。
20.如权利要求18所述的制作方法,其中,若该操作系统为DOS,则需对这些固件程序进行压缩。
全文摘要
一种固件更新方法,用以更新多个电子装置。首先,提供一个具有多个固件程序代码的固件更新文件,这些固件程序代码分别对应至这些电子装置。接着,解压缩固件更新文件的一部分,并写入对应的电子装置。接着,检查是否有写入错误。最后,检查是否更新完毕,若否,则重复写入步骤。
文档编号G06F9/445GK1702618SQ20041004590
公开日2005年11月30日 申请日期2004年5月24日 优先权日2004年5月24日
发明者王俊程 申请人:建兴电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1