固件更新系统与方法技术方案

技术编号:2844662 阅读:135 留言:0更新日期:2012-04-11 18:40
披露了一种固件更新系统及其更新方法。此固件更新系统包括一储存装置与一电子装置。储存装置具有一更新程序代码与一备份区,且此备份区供储存一备份程序代码。电子装置连接至储存装置,且电子装置包括一处理器、一第一存储器、及一第二存储器。第一存储器储存一原始程序代码及一回复标记。第二存储器用于暂存原始程序代码以供处理器执行。当更新原始程序代码进行时,通过第二存储器将原始程序代码复制至备份区,作为备份程序代码,且将回复标记设定为开启,并以更新程序代码来取代第一存储器中的原始程序代码。

【技术实现步骤摘要】

本专利技术涉及一种固件更新系统及方法,特别是涉及一种在更新发生错误时,具有回复功能的固件更新系统及方法。
技术介绍
一般的电子装置通常都会提供固件更新的功能来改善装置的稳定性或增进装置的功能,有时也用来修正装置的某些错误(bug)。然而在某些情况下,若在更新固件时发生非预期的错误情形,如电源中断等,会导致系统无法启动,而造成使用者相当大的困扰。有些现有的技术被提供来减低非预期错误发生的可能性,例如台湾专利公告I220962号,披露了一种检查固件程序内容以确保固件更新兼容性的固件更新方法及相关装置。其利用主机或控制电路,在更新固件之前,检查欲更新的程序代码是否符合预定的条件,来判断更新程序代码的兼容性,以避免使用了错误的程序代码而导致非预期的错误。然而,即使确认更新程序代码的兼容性无虞,在更新的过程中仍然可能会有其它非预期错误的可能,尤其是硬件的相关问题,例如断电或电源不稳定而导致更新程序非预期的中断,而这仍然未能被解决。美国专利5,878,256中揭示了一种固件更新的方法与装置,其使用多个非易失性存储器来储存多个相同或不同版本的固件。当更新其中一个存储器的固件时,更将其它的存储器设定成写保护入状态。藉此确保固件的完整性,而非预期错误发生时,以便使系统仍能正常进行作业。然而在这样的系统中,需要使用到两个以上的非易失性存储器供储存固件,相对的增加制造上的成本与复杂度。此外,多个存储器的操作与写保护控制也增加设计的复杂度,需要大幅地改变现有的电路设计。因此,若能提供一种容易实施、低成本、高稳定性的固件更新方法与装置,在更新过程发生非预期错误时,仍能使系统回复为原本的状态而正常的操作,将有所助益。
技术实现思路
本专利技术一方面是提供一种,于固件更新发生错误时,确保可以回复为原始的固件程序代码,不会因为更新失败而导致无法正常开机。本专利技术披露一种固件更新系统。此固件更新系统包括一储存装置与一电子装置。储存装置具有一更新程序代码与一备份区,且此备份区供储存一备份程序代码。电子装置连接至储存装置,且电子装置包括一处理器、一第一存储器、及一第二存储器。第一存储器储存一原始程序代码及一回复标记。第二存储器用于暂存原始程序代码以供处理器执行。当更新原始程序代码进行时,通过第二存储器将原始程序代码复制至备份区,作为备份程序代码,且将回复标记设定为开启,并以更新程序代码来取代第一存储器中的原始程序代码。本专利技术披露一种固件更新方法,用于一电子装置与一储存装置。此电子装置包括第一存储器与第二存储器。第一存储器储存有一原始程序代码,而储存装置储存有一更新程序代码。此方法包括下列步骤(a)设定一暂存区于第二存储器中;(b)设定一备份区于储存装置,供储存一备份程序代码;(c)设定一回复标记为开启于第一存储器中;(d)通过暂存区,将原始程序代码复制至备份区,以作为一备份程序代码;(e)通过暂存区,以更新程序代码取代第一存储器中的原始程序代码。附图说明图1示出了一依照本专利技术实施例的固件更新系统;图2进一步说明图1所示的固件更新系统;图3示出了一依照本专利技术实施例的固件更新方法;图4进一步说明发生更新错误时,而进行回复功能的固件更新系统;以及图5进一步说明发生更新错误时,而进行回复功能的固件更新方法。附图符号说明10固件更新系统100电子装置 110处理器112总线114输入/输出接口 120第一存储器122加载程序 124原始程序126回复标记 140第二存储器142暂存加载程序 144暂存原始程序146第一暂存区148第二暂存区150暂存区200储存装置220更新程序 240备份区242备份程序 300链接具体实施方式图1为一种依照本专利技术实施例的固件更新系统10。固件更新系统10包括电子装置100及储存装置200。电子装置100通过一链接300连接至储存装置200。电子装置100具有处理器110、总线112、输入/输出接口114、第一存储器120、及第二存储器140。处理器110通过总线112而存取分别连接至总线112的输入/输出接口114、第一存储器120与第二存储器140。处理器110可使用各种已知的中央处理单元,包括CISC微处理器、RISC微处理器、嵌入式微处理器、单芯片等其它各种类似的处理器。第一存储器120为非易失性存储器,例如快闪存储器、EPROM、EEPROM、磁性非易失性存储器、及其它类似存储器。第二存储器140则可为高存取速度的存储器,例如SDRAM、SRAM、高速缓存等其它类及的存储器,用于暂存程序代码以供处理器110执行各种功能。输入/输出接口114与链接300则配合储存装置200而可以有各种不同的实施型式。例如在本实施例中,储存装置200为一存储卡,如SD卡、CF卡、MS卡等其它具有类似功能的储存器时,则输入/输出接口114为一卡片阅读机,通过插槽来存取存储卡。在另外一实施例中,储存装置200可以是位于远程的储存服务器,则输入/输出接口114为一通讯接口,而链接300则包括各种有线的链接,如缆线、光纤、电话线、网络线等,以及各种无线的链接,如IEEE 802.11系列的无线链接、WiFi链接、蓝牙链接、GPRS、3G等其它类似的链接。在另一实施例中,储存装置200为一外接式储存装置,例如随身盘、外接硬盘等,则输入/输出接口114为一通用串行端口接口(USB),且链接300为一USB连接线。在此需注意的是,为使本专利技术的特点能更清楚地被了解,图1中所示为固件更新系统10的例示图,而并非意欲限制本专利技术的硬件架构于特定的形式。举例来说,电子装置100还可包括许多其它的组件,例如显示装置、音效装置、输入装置、电源供应装置、或其它依各种不同应用所需的组件与设备等等。或者,虽然图1中实施例所示的储存装置200是以外接的方式来实施,例在其它实施例中,储存装置200亦可实施为内建于系统中的储存装置,例如光驱、软盘机等。图2进一步说明固件更新系统10的细节。需注意的是,因说明方便起见,图2中省略了图1中的部份组件,但本领域的技术人员应当了解此并不影响或限制本专利技术。储存装置200具有更新程序代码220,与备份区240供储存备份程序代码242。第一存储器120储存有加载程序122、原始程序代码124及回复标记126。首先说明开机时程序的加载流程(此为已知技术)。当电源开启时,处理器110先将加载程序122加载至第二存储器140中成为暂存的加载程序142,以执行基本的硬件驱动与初始化。接着处理器110利用加载程序142所提供的更新功能,将原始程序124加载至第二存储器140中成为暂存的原始程序144,以执行开机时所需的各项功能,藉此便完成开机的程序。在此需注意的是,图2中将第二存储器140中所储存的暂存加载程序142分隔于第二存储器140中的其它区域,仅是用于强调载入时的两阶段,在实际实施时,暂存加载程序142与暂存原始程序144可位于同一实体的存储器140中,亦可在同一个逻辑存储器的结构下,分散于不同的物理存储器中。参照图3的流程,当更新程序代码124的程序进行时,处理器110通过第二存储器140将原始程序代码124复制至备份区240,以作为备份程序代码242,并且将回复标记126设定为开启。接着以更新程序代码220来本文档来自技高网
...

【技术保护点】
一种固件更新系统,包含:一储存装置,具有一更新程序代码与一备份区供储存一备份程序代码;以及一电子装置,连接至该储存装置,该电子装置包含:一处理器;一第一存储器,储存一原始程序代码及一回复标记;以及一第 二存储器,暂存该原始程序代码以供该处理器执行;其中,当更新该原始程序代码进行时,通过该第二存储器将该原始程序代码复制至该备份区,作为该备份程序代码,且将该回复标记设定为开启,并以该更新程序代码来取代该第一存储器中的原始程序代码。

【技术特征摘要】
1.一种固件更新系统,包含一储存装置,具有一更新程序代码与一备份区供储存一备份程序代码;以及一电子装置,连接至该储存装置,该电子装置包含一处理器;一第一存储器,储存一原始程序代码及一回复标记;以及一第二存储器,暂存该原始程序代码以供该处理器执行;其中,当更新该原始程序代码进行时,通过该第二存储器将该原始程序代码复制至该备份区,作为该备份程序代码,且将该回复标记设定为开启,并以该更新程序代码来取代该第一存储器中的原始程序代码。2.如权利要求1所述的系统,其中该第二存储器还包含一第一暂存区与一第二暂存区,该原始程序代码通过该第一暂存区而备份至该备份区,该更新程序代码通过该第二暂存区而取代该第一存储器中的原始程序代码。3.如权利要求2所述的系统,其中该原始程序代码包含多个原始区块,该更新程序代码包含相对应的多个更新区块,当该多个原始区块其中之一通过该第一暂存区而备份至该备份区时,该相对应的多个更新区块其中之一通过该第二暂存区而取代所对应的多个原始区块其中之一。4.如权利要求3所述的系统,其中该备份区还储存一备份计数值与一地址信息,该备份计数值指示出该备份区中的一已备份区块数,且该地址信息指示出该储存装置中该备份程序代码的地址。5.如权利要求1所述的系统,其中该第一存储器还包含一加载程序,该加载程序包含一加载模块与一回复模块供该处理器执行,其中当该回复模块检查到该回复标记为开启时,该回复模块读取该储存装置,将该备份程序代码回复至该第一存储器。6.如权利要求5所述的系统,其中当该储存装置的备份区中所备份的程序代码回复至该第一存储器成功时,将该回复标记设定为关闭,并删除该备份程序代码。7.如权利要求1所述的系统,其中当该储存装置的更新程序代码取代该第一存储器的原始程序代码成功时,将该回复标记设定为关闭,并删除该备份程序代码。8.如权利要求3所述的系统,其中该第一存储器还储存一更新计数值与一地址信息,该更新计数值指示出该第一存储器中的一已更新区块数,且该地址信息指示出该储存装置中的该备份程序代码的地址。9.一种固件更新方法,用于一电子装置与一储存装置,该电子装置包含一第一存储器与一第二存储器,该第一存储器储存有一原始程序代码,该储存装置储...

【专利技术属性】
技术研发人员:杨秉忠
申请(专利权)人:明基电通股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1