固件更新的制作方法

文档序号:11635170阅读:430来源:国知局
固件更新的制造方法与工艺

本发明涉及一种根据独立权利要求1的前序部分的用于准备计算机系统的固件的更新(升级)的方法和一种根据独立权利要求2的前序部分的用于更新计算机系统的固件的方法。本发明同样涉及一种根据权利要求9的具有数据存储器的计算机系统,在所述数据存储器上存储固件更新包。

这样的计算机系统也称为“嵌入式设备(embeddeddevices)”。该计算机系统用所谓的固件驱动运行,所述固件包括用于待运行的技术设备的所有需要的控制和功能数据以及控制和功能规程(过程)。



背景技术:

wo2007005790a2公开一种用于更新技术设备的固件的方法。更新前,固件数据包的本地复制存储在技术设备的存储介质中。在更新可能失败的情况下,更新可借助于复制重新实施。

但是可能出现,用损坏的或者不完全的数据实施更新,而没有立刻显现设备的运行错误。wo2007005790a2的更新方法不能防止这样的错误。



技术实现要素:

本发明的任务在于,提供对固件的可靠的更新。

该任务通过独立权利要求1的特征部分的特征解决。

本发明的有利的构型在从属权利要求中给出。

本发明的核心在于固件的更新方法的两级化。实际的更新方法在前置的方法中准备。

这里提供的方法特别有利地在所谓的交换机中使用。交换机由网络技术得知。

固件(英语firm,“fest”)本领域专业技术人员理解为一种软件,所述软件嵌到电子设备中。其主要存储在闪存存储器中。固件功能固定地与硬件连接,这表示,没有另一个,这一个不能使用。固件具有硬件(也就是设备的物理部分)和应用软件(设备的必要时可更换的程序)之间的中间状态。

固件更新包例如是可解压缩的zip文件,所述zip文件一般由所属的技术设备的制造商提供。这里建议的固件更新包包括文件、协议、脚本和所属的校验和,所述校验和借助于已知的md5算法产生。

本发明有关的固件更新包(在其解压缩后)有利地由三个较小的包组成。第一包包括所有与固件有关的文件。第二包由至少一个所谓的脚本文件组成。从脚本文件中各个指令读出并进行实施。脚本文件尤其用于,将第一包的文件复制到所设置的目标文件夹中。第三包由至少一个校验和组成,所述至少一个校验和配置给第一包的文件并且借助于所述至少一个校验和可以检验该文件的正确性。

当第二包仅仅包括一个脚本文件时,这是惯例,固件更新包由两个包和该脚本文件组成。

下面描述的方法决定性地由该脚本文件进行。

该前置的方法用于准备计算机系统的固件的更新,所述计算机系统嵌入技术设备中。该技术设备配备有易失性存储器元件(模块)(例如ram存储器)和非易失性存储器元件(例如闪存存储器)。该方法以给出的顺序进行下面的方法步骤:

–首先固件更新包被下载到易失性存储器元件中。固件更新包可以例如被存储在usb棒上并且通过usb接口被提供给技术设备。

–接着固件更新包被复制到非易失性存储器元件中。

–然后在非易失性存储器元件中产生指标文件。指标文件的功能下面详细描述。

–最后由技术设备向使用者输出请求,具有如下内容,执行该技术设备的重启。

后续的方法涉及固件的实际的更新过程。所有涉及固件的文件被更换。

用于更新计算机系统的固件的后续方法涉及一种技术设备,所述技术设备具有易失性存储器元件(例如ram存储器)和非易失性存储器元件(例如闪存存储器),所述计算机系统嵌入技术设备中,其中,在非易失性存储器元件中存储固件更新包,固件更新包包括单个文件、协议、脚本和所属的第一校验和。

后续的方法以给出的顺序进行下面的方法步骤:

–首先执行技术设备的重新启动。

–接着检验,指标文件是否存在于非易失性存储器元件中。

指标文件作为指标用于按照顺序并且完全地下载和无错地复制固件的单个文件、协议和脚本。此外下面还显著地强调指标文件的功能。

–当指标文件不存在时,执行该技术设备的固件的启动。该技术设备用现存的固件或者用现存的固件文件运行。在这种情况下,后续的更新方法结束。

–但是当存在指标文件时,固件更新包从非易失性存储器元件复制到易失性存储器元件中。指标文件在这里显示,固件更新包被下载并且可以进行更新。

–接着固件更新包中包括的所有文件在易失性存储器元件中被解压缩并且生成这些文件的所属的第二校验和。

–然后复制的固件更新包的文件的第二校验和和原有的固件更新包的第一校验和彼此比较。

–当文件的第一和第二校验和不一致时,在非易失性存储器元件中的固件更新包被删除。同样然后非易失性存储器元件中的指标文件也被删除。由此确保,技术设备的启动不是用有错误的或者损坏的固件进行。该启动然后用以前的版本,也就是说用旧的固件进行。

–但是当固件更新包和复制的固件更新包的文件的校验和一致时,在易失性存储器元件中存储的固件更新包的所有文件被复制到非易失性存储器元件中。在该步骤中,旧的固件文件、旧的协议和旧的脚本被新的代替。

–接着检查复制过程是否是成功的。这一般通过读出内部的错误协议发生。

–当该复制过程不是成功的时,用于更新固件的方法结束。指标文件以及固件更新包保持不变。在下一次重启之后,重复更新过程。替代地,在这里也可以安装一个计数器,所述计数器在n次复制尝试之后才通过删除指标文件以及固件更新包结束该方法。

–当该复制过程是成功的时,非易失性存储器元件中的固件更新包被删除,因为现在不再需要固件更新包。此外这由于存储器空间的原因也是有利的。此外,非易失性存储器元件中的指标文件被删除。

–然后进行具有新的固件文件、协议和脚本的技术设备的启动。

本发明的主要组成部分在于脚本文件,所述脚本文件包含在固件更新包中。该脚本文件下面也称为安装脚本。固件更新的实施从计算机系统移交到安装脚本上。安装脚本接着实施下面的方法步骤:

●将固件更新包从ram存储器元件复制到flash(闪存)存储器元件中。

●现在计算固件更新包的第一包的第二校验和并且与已经包含的第一校验和比较。

●如果第一和第二校验和一致(相同,identisch),这表明无错的固件文件。

●安装脚本现在将固件文件复制到ram存储器元件中并且安装固件文件。

●为了不通过不必要的写入访问增加flash存储器的压力,当已经安装的固件文件的之前算出的校验和与待安装的固件文件的算出的校验和不一致时,固件文件仅仅被复制。

所述更新方法的主要发明想法是,不仅待安装的固件文件,而且安装脚本都被装载到计算机系统上。由此,实现高水平的安全性,使得技术设备不因为损坏的固件更新包停止运转。

附图说明

在附图中示出和下面详细描述本发明的一个实施例。其示出了:

图1用于准备更新的前置方法的流程图和用于更新技术设备的固件的后续方法的流程图,

图2用于更新技术设备的固件的后续方法的流程图。

附图包括部分简化的、示意的视图。部分地对于相同的元件使用相同的附图标记,但是必要时对于不一致的元件也使用相同的附图标记。相同的元件的不同视图可能以不同的尺度比例示出。

具体实施方式

图1中的前置方法用于准备计算机系统的固件的更新,所述计算机系统嵌在技术设备中。技术设备配备有易失性存储器元件(例如ram存储器)和非易失性存储器元件(例如闪存)。该方法以给出的顺序进行下面的方法步骤:

–固件更新的启动(a)例如通过所谓的指令,例如通过控制台引起。固件观测,例如一定的文件夹,是否存在新的更新。

–然后固件更新包被下载(b)到易失性存储器元件中。固件更新包例如可以被存储在usb棒上和通过usb接口被提供给技术设备。

–接着固件更新包被复制(c)到非易失性存储器元件中。

–然后在非易失性存储器元件中产生(d)指标文件。指标文件的功能下面详细描述。

–最后由技术设备向使用者输出请求,具有如下内容,执行(e)该技术设备的重启。

–最后进行计算机系统的重启,所谓的重新启动(reboot)(f)。该前置的方法由此结束。

在图2中示出用于实际更新计算机系统的固件的后续方法的流程图。该方法以给出的顺序进行下面的步骤:

–首先该技术设备被重新启动(g)。例如对此首先可以由计算机系统向用户请求“重启”。

–然后使该计算机系统起动(开机)(h)。

–接着检验,指标文件是否存在(i)于非易失性存储器元件中。

–当指标文件不存在时,借助于固件或者相应的文件,协议和脚本启动该计算机系统或者该技术设备。也称为固件的启动(j)。在这种情况下,该后续的方法结束。

–但是当存在指标文件时,然后就将固件更新包从易失性存储器元件(ram)复制(k)到非易失性存储器元件(flash)。

–接着包含在固件更新包中的所有文件在易失性存储器元件中被解压缩(l)。

–此后,形成解压缩的文件的所属的第二校验和,然后固件更新包和复制的固件更新包的文件的第一和第二校验和被比较(m)。

–通过校验和的比较来检验,之前的复制过程是否是成功的(n)。

–当固件更新包的文件的第一校验和与复制的固件更新包的第二校验和不一致时,在非易失性存储器元件中的固件更新包被删除(o)。

–接着,非易失性存储器元件中的指标文件也被删除(p)。

–此后,实施技术设备的固件的启动(anstarten)(q)。在这种情况下后续方法结束。

–当固件更新包和复制的固件更新包的文件的校验和一致时(r),

-在易失性存储器元件中保存的固件更新包的所有文件被复制到非易失性存储器元件中(r)。

–此后检查复制过程是否是成功的(s)。

–当该复制过程是成功的时(t),非易失性存储器中的固件更新包被删除(o)。在这里这些方法步骤在该流程图中再次会聚。

–接着,非易失性存储器中的指标文件被删除(p)。

–然后进行技术设备的固件的启动。因此该后续的方法结束。

–当文件的复制过程是不成功的时,技术设备的使用者被请求实施技术设备的重启(t)。该方法必要时可以又重新在方法步骤(g)中开始。

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