固件更新侦错系统的制作方法

文档序号:14714008发布日期:2018-06-16 00:58阅读:87来源:国知局
固件更新侦错系统的制作方法

本发明是有关于一种固件更新侦错系统,特别是指防止配置设定错误的固件更新侦错系统。



背景技术:

在目前的电子产品中,固件(firmware)一般为储存于快闪存储器或只读存储器中的程序码及资料。为了改善系统内硬件的运作效率、修复错误、或是新增功能等,经常会需要对固件进行更新。然而,更新固件通常会有一定的风险性。举例来说,在执行更新的固件期间,仍需要从存储器中载入对应其固件版本的配置设定或设定参数,其中配置设定或设定参数是相关于系统内硬件状态与运作的设定值,若存储器内的配置设定并未被正确更新、配置设定并不存在存储器内或者是与目前所执行的固件版本不兼容(不对应),则固件可能误载入了不同版本的配置设定,造成固件的运作发生错误或停滞。



技术实现要素:

因此,本发明的目的在于提供一种改良的固件更新侦错系统,可避免因更新不兼容的固件版本而造成运行出错的情况。

于是,本发明提供一种固件更新侦错系统,包括存储器单元以及处理单元。存储器单元用以储存固件资料以及配置资料,而处理单元用以载入固件资料以执行并耦接至存储器单元。处理单元根据固件资料的存取识别码判断配置资料中是否存在更新配置设定,当存取识别码所对应的更新配置设定不存在时,处理单元取得配置资料中的初始配置设定,并根据初始配置设定执行固件资料。

在一些实施例中,所述固件资料更包括一预设存取识别码,所述处理单元根据所述预设存取识别码取得所述配置资料中的所述初始配置设定。

在一些实施例中,当所述存取识别码所对应的所述更新配置设定存在时,所述处理单元更判断所述存储器单元中储存的所述更新配置设定的一储存档案校对码是否与所述存取识别码所对应的一存取档案校对码相同。

在一些实施例中,当所述更新配置设定的所述储存校对码与所述存取识别码的所述存取校对码相同时,所述处理单元将所述更新配置设定载入以继续执行所述固件资料。

在一些实施例中,当所述更新配置设定的所述储存校对码与所述存取识别码的所述存取校对码不相同时,所述处理单元取得所述配置资料中的所述初始配置设定,并根据所述初始配置设定执行所述固件资料。

在一些实施例中,所述固件资料更包括一预设存取识别码,所述处理单元根据所述预设存取识别码取得所述配置资料中的所述初始配置设定。

在一些实施例中,更包括耦接至所述处理单元的一版本侦测单元,且所述固件资料更包括分别对应至不同固件版本的复数识别码,其中,所述处理单元根据所述版本侦测单元的一选择信号决定所述识别码之一者作为所述存取识别码。

在一些实施例中,当所述存取识别码所对应的所述更新配置设定存在时,所述处理单元将所述更新配置设定载入以继续执行所述固件资料。

本发明的有益效果为:当本发明的固件更新侦错系统判断该特定存储器区段存在更新配置设定时,进一步检测存储器单元中该更新配置设定的储存版本是否对应于目前的固件资料所指示存取的配置设定的存取版本:当二者比对一致,则载入该更新配置设定以继续执行固件资料的运作程序。反之,当二者不一致,则根据预设存取识别码改以载入初始配置设定作为替代以继续执行固件资料的运作程序。以此方法避免取得的配置设定的储存版本与固件资料所指示的存取版本不一致造成固件执行错误。

【附图说明】

图1为显示根据本发明一实施例所述的固件更新侦错系统的示意图;以及

图2为显示根据本发明图1所示的固件更新侦错系统的运作流程图。

【具体实施方式】

以下所述以特定方式表达显示于图示中的实施例或例子。但应了解该实施例或例子并非用以限制。任何本发明实施例的替换以及修改,以及本发明原则的任何进一步应用,对于本发明领域具有通常技术者能参考本发明说明书内容而完成。

图1为显示根据本发明一实施例所述的固件更新侦错系统100的示意图。固件更新侦错系统100包括存储器单元102、处理单元104以及版本侦测单元106。存储器单元102用以储存固件资料(例如,固件镜像文件(image file))以及配置资料(例如,组态设定档(configuration file)),且配置资料中可包括有复数个配置设定。配置设定是相关于系统内硬件状态与运作的设定值,例如特定硬件的数量或功能的设定。配置资料内包括有出厂时预先设定的初始配置设定,以及随着固件版本更新或因应相关硬件变动而新增或修改的更新配置设定。处理单元104耦接至存储器单元102,并用以由该存储器单元102载入并执行所载入的固件资料。版本侦测单元106耦接至处理单元104,用以提供选择信号至处理单元104,处理单元104则根据版本侦测单元106提供的选择信号来决定更新配置设定的存取版本。举例来说,版本侦测单元106可以为切换器(switch)或上拉/下拉电路(pull-high/pull-low circuit)等元件,用以提供不同信号来指示处理单元104所需使用的配置设定的存取版本。以上电路结构仅用以举例,本发明并非限制于此。

在本发明的一些实施例中,处理单元104从存储器单元102载入固件资料后,开始执行对应的运作程序。在处理单元104执行固件资料的期间,处理单元104会根据固件资料内的指令或程序码来取得存储器单元102中的配置资料的更新配置设定,并依据所取得的更新配置设定继续执行相应的运作程序。举例来说,固件资料内包括了用以指示取得更新配置设定的指令以及指示取得更新配置设定的位址的存取识别码,一旦处理单元104执行到该指令时,则根据存取识别码由存储器单元102取得对应的更新配置设定。在一些实施例中,存取识别码可为参数(parameter)或存储器位址及大小等,用以指示存储器单元102内特定位址的资料。

根据本发明的一些实施例,处理单元104执行取得更新配置设定的指令之前,会先根据该存取识别码先判断存储器单元102是否具有对应且正确的更新配置设定。举例来说,当存取识别码指向存储器单元102中的特定位置或存储器区段,处理单元104则侦测此特定位置或存储器区段是否存在更新配置设定。若处理单元104判断该特定位置或存储器区段不存在更新配置设定,则可再通过固件资料内用以指示取得初始配置设定的指令以及指示取得初始配置设定的位址的预设存取识别码载入存储器单元102中的初始配置设定,并继续执行对应的运作程序。换句话说,当处理单元104在尚未开始执行更新配置设定前,若确认于该存储器单元102不存在正确的更新配置设定时,处理单元104则在尚未开始执行更新配置设定前,改以取得存储器单元102中的初始配置设定做为替代。因此,可避免处理单元104未取得可搭配现有固件资料而被正确执行的配置设定而使得固件资料的执行发生错误或停滞。

另一方面,若处理单元104判断该特定存储器区段存在更新配置设定而非空白区段,则进一步检测存储器单元102中该更新配置设定的储存版本是否对应于目前的固件资料所指示存取的配置设定的存取版本,以避免取得的配置设定的储存版本与固件资料所指示的存取版本不一致造成固件执行错误。在一些实施例中,存储器单元102内的配置设定各自具有储存档案校对码(例如Cyclic Redundancy Check码;CRC码),而处理单元104可根据固件资料所指示存取的配置设定的存取档案校对码来比对目前所存取的更新配置设定的储存档案校对码。当二者比对一致,则处理单元104判断存取识别码所指示的配置设定的储存版本与固件资料的存取版本相同,并载入该更新配置设定以继续执行固件资料的运作程序。反之,当二者不一致,则处理单元104可判断存取识别码所指示的配置设定的储存版本与固件资料的存取版本不相同,并根据预设存取识别码改以载入初始配置设定作为替代以继续执行固件资料的运作程序。

在本发明一些实施例中,处理单元104执行固件资料的期间,可在取得更新配置设定的指令之前,先根据版本侦测单元106的选择信号来决定要存取的更新配置设定的存取版本。若存储器单元102中有复数个配置设定的储存版本均可正确的搭配处理单元104所执行的固件资料,则固件资料中的指令执行顺序,可在取得配置设定的指令/程序码之前,包括有判断版本侦测单元106选择信号的指令。因此,处理单元104则可根据选择信号判断配置设定要存取的存取版本,并对应地决定取得更新配置设定的指令的存取识别码。以下以较简化的例子来说,若有第一配置设定与第二配置设定均可正确的与目前所执行的固件资料的固件搭配执行,版本侦测单元106的选择信号则至少可包括有第一信号位准对应至第一配置设定、第二信号位准对应至第二配置设定。处理单元104在存取存储器单元102内的配置设定之前,判断版本侦测单元106的选择信号的信号位准,当版本侦测单元106的选择信号为第一信号位准时,处理单元104则根据固件资料的第一存取辨识码存取存储器单元102内的第一配置设定。而当版本侦测单元106的选择信号为第二信号位准时,处理单元104则根据固件资料的第二存取辨识码存取存储器单元102内的第二配置设定。应了解到,处理单元104在决定所要存取的更新配置设定的存取版本后,亦同于本发明前述实施例,仍会根据其指示的存取识别码先判断存储器单元102是否具有对应的更新配置设定,以及检测该更新配置设定的储存版本是否对应于目前的固件资料所指示存取的配置设定的存取版本。以上实施例仅用以简化说明,在一些实施例中,版本侦测单元106亦可侦测系统上所安装的硬件单元来决定需使用的配置设定。

以下以图2来说明本发明的固件更新侦错系统100的运作流程。在步骤S202中,处理单元104从存储器单元102载入固件资料以执行,开始执行对应的运作程序。在步骤S204中,处理单元104则根据版本侦测单元106所提供的选择信号来决定需要存取的更新配置设定的存取版本以及存取该更新配置设定的存取识别码。

接着在步骤S206中,处理单元104根据存取识别码判断存储器单元102所对应的存储器位置中是否存在有更新配置设定。若处理单元104判断该存储器位置中存在有更新配置设定,则继续步骤S208。若处理单元104判断该存储器位置中不存在更新配置设定,则继续步骤S210,处理单元104则载入存储器单元102中的初始配置设定并继续执行固件资料的运作程序。应了解到,在一些实施例中,固件资料中可包括有用以指示取得初始配置设定的指令以及指示取得初始配置设定的位址的预设存取识别码,一旦不存在更新配置设定,处理单元104则可改以此预设存取识别码存取存储器单元102中的初始配置设定。

接着在步骤S208中,进一步检测存取识别码所指示的更新配置设定是否正确,举例来说,处理单元104判断存取识别码所指示的配置设定的存取档案校对码是否和固件资料所记录的储存档案校对码相同,以避免所存取的更新配置设定的储存版本与固件资料的存取版本不一致造成固件资料执行错误。若处理单元104判断存取识别码所指示的更新配置设定的储存版本不正确,则继续步骤S210,处理单元104则改以载入存储器单元102中的初始配置设定作为替代并继续执行固件资料的运作程序。若处理单元104判断存取识别码所指示的更新配置设定的储存版本正确,则继续步骤S212,处理单元104则由存储器单元102中载入存取识别码所指示的更新配置设定,并继续执行固件资料的运作程序。

应了解到,本发明的所述实施方式仅用以例示,并非用以限制本发明,亦可省略或修改部分步骤,例如在一些特殊的实施方式下可省略步骤S204,处理单元则直接根据固件资料所决定存取识别码来存取更新配置设定。

本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可以包含于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如计算机可读取)储存媒体,亦或不限于外在形式的计算机程序产品,其中,当程序码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置。程序码也可以透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。

上面结合附图对本发明的具体实施方式和实施例做了详细说明,但不能以的限定本发明的范围,在本发明申请专利范围内所作的均等修饰和变化,皆应该属于本发明专利范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1