一种固件批量升级方法

文档序号:7688082阅读:380来源:国知局
专利名称:一种固件批量升级方法
技术领域
本发明涉及固件(Firmware)的升级方法,具体的说,是涉及一种 固件的批量升级方法。
背景技术
固件是固化在集成电路内部的程序代码,负责控制和协调集成电路 的功能。 一般来说,担任着一个系统最基础、最底层工作的软件才可以 称之为固件,比如我们常说的计算机主板上的BIOS。通常,这些硬件 内所保存的程序,即固件,是无法被用户直接读出或修改的。在集成电 路运用的早期阶段,电子设备设计上不是很灵活, 一般情况下,没有必 要对固件进行任何升级操作,即固件代码是在生产过程中固化的。
随着集成电路运用的不断发展, 一台由集成电路运作的电子设备, 在制造完成后,为了实现系统的扩充或某种功能的需求,需要修改设备 中的固件,以适应不断更新的硬件环境。在设备制造完成后修改固件, 即固件的升级,是现代电子设备非常普遍的需求。
比如,现代的ADSL Modem设备,对于产品制造厂商来说,为了能 够满足客户的需求按时出货,在产品软件,即固件还未编写完成时,需 要先进行产品生产;测试完成后,再将产品的固件升级,成为满足客户 要求的产品。在这种现实需求下,固件的升级效率就变得非常重要。而 之前ADSL Modem产品的固件升级,是通过HTTP方式来实现的,艮P, ADSL Modem充当一台Web服务器,操作人员需要先登录进Modem的Web主页,再修改页面地址到升级页面地址后进行升级。这种传统升级 方式的最大缺陷是,只能一工位一次一台Modem,即只能一台一台的进 行固件升级操作,效率非常低,这给制造厂商的出货造成非常大的压力。 另外,在实验室或者客户那里,有时也有很多台设备进行固件升级的需 求。因此,上述的这种"单台升级"的固件升级方法,已经不能满足设 备制造厂商等具有大批量产品固件升级需求的高效率要求。

发明内容
本发明所要解决的技术问题是,现有的固件升级方法效率太低,不 适合大批量产品的固件升级。
本发明的固件批量升级方法是这样实现的
一种固件批量升级方法,包括了设备端和与设备端网络连接的升级 服务器,其特征在于,包括了如下步骤
(1) 所述设备端的设备在启动时发出请求验证其固件程序版本的 UDP数据包,并进入延时等待状态;
(2) 所述升级服务器接收所述UDP数据包,并将所述设备的固件 程序与所述升级服务器上的固件程序进行比对
(2A)如果所述两个固件程序版本不同,所述升级服务器向所述
设备发出需要升级固件的UDP数据包回应,给所述设备分配一个IP 地址,并向该IP地址发送固件程序; 或者,
(2B)如果所述两个固件程序版本相同,所述升级服务器不向所 述设备发出需要升级固件的UDP数据包;
(3) 在所述步骤(2A)下,所述设备端的设备接收到UDP数据包 回应,更改设备的IP地址为升级服务器分配的地址,并进入等待固件升 级状态;(4) 在所述步骤(2B)下,所述设备端的设备等待一个延时后,启 动进入正常工作状态;
(5) 在所述步骤(3)下,所述设备接收所述升级服务器发送的固 件程序,升级其固件后,重新启动设备。
优选实施方式是,在上述步骤(2)中,所述两个固件程序的比对, 是两个固件程序的循环冗余校验值(CRC值)的比对。
优选实施方式是,在上述步骤(2A)中,所述升级服务器还记录下 所述设备的物理地址(MAC地址)至待升级设备数据库中。
优选实施方式是,在上述步骤(2B)中,所述升级服务器还记录下 所述设备的物理地址(MAC地址)至己升级设备数据库中。
实施本发明的固件批量升级方法,多台待升级设备可以同时接入网 络,加电后即可自动与网络中的升级服务器完成固件的升级; 一台或一 批设备升级完成后,可以接入另一台或另一批待升级的设备至网络中, 从而如此循环不断的完成所有设备的固件升级工作,效率非常高;从事 该项工作任务的工作人员,只需将待升级设备不断的接入网络,以及, 将升级完成的设备一台台脱开网络即可,可以实现流水线方式工作,因 为,这实际就是将网线插入和拔出设备的网络接口这两个先后的动作。 非常适合设备制造厂商等具有大批量产品固件升级需求的场合。


图1是本发明固件批量升级方法的流程示意图。
具体实施例方式
下面,结合附图对本发明作进一步的详细说明。如图1所示,本发明的固件批量升级方法,包括了设备端和升级服 务器,设备端的一台或多台设备(图1中示出了一台设备的工作流程), 是与升级服务器通过网络连接在一起的,比如说由集线器或交换机所连 接的局域网络等。本发明的固件批量升级方法包括了如下步骤
首先,(1)当工作人员将设备接入网络,即将网线插入设备的网络 接口,并接通设备电源开机后,设备在原有的固件的控制下启动,向网 络发出UDP数据包,这个数据包中包含了设备原有的固件程序的版本、 设备的物理地址(MAC地址)等信息,随后,设备进入延时等待状态;
然后,(2)网络中的升级服务器接收到了设备发出的UDP数据包, 并将设备的固件程序与升级服务器上预先设置好的固件程序进行比对。 本发明的优选实施方式是,两个固件程序的比对,是两个固件程序的循 环冗余校验值(CRC值)的比对。
这将产生两种比对结果
(2A)如果两个固件程序的版本不同升级服务器即向所述设备发 出需要升级固件的UDP数据包回应,为该设备分配一个IP地址,并向 该IP地址的设备发送升级服务器上预先设置好的固件程序。本发明的一 个优选实施方式是,在本步骤下,升级服务器还记录下该设备的物理地 址(MAC地址)至待升级设备数据库中。该待升级设备数据库,可以 提供实施了固件升级操作的设备的统计信息。 或者,
(2B)如果两个固件程序的版本相同升级服务器不向所述设备发 出需要升级固件的UDP数据包。本发明的一个优选实施方式是,在本 步骤下,所述升级服务器还记录下所述设备的物理地址(MAC地址) 至已升级设备数据库中。该已升级设备数据库,可以提供未实施固件升 级操作的设备的统计信息。如果将上述待升级设备数据库与这里的已升 级设备数据库进行比对,可以进一步的确认某台设备是否已经正确的完成固件的更新升级。
(3) 在上述(2A)情况下,设备端的该台设备将接收到升级服务器 发出的UDP数据包回应,更改设备的IP地址为升级服务器分配的地址, 并进入等待固件升级状态。此时,设备已经处于如背景技术所描述的传 统的固件升级方法所实施的准备升级状态。
(4) 在上述(2B)情况下,设备端的该台设备在等待一个延时后, 比如10秒钟后,还没有收到升级服务器发出的UDP数据包回应,则该 设备将在当前的固件程序控制下,启动进入正常工作状态。
(5) 在上述步骤(3)下,该台设备接收到升级服务器发送的固件 程序,升级其固件后,重新启动设备。显然,该设备将在新的固件程序 的控制下,再次执行上述流程;不过,该设备将按照上述步骤(4),即 在等待一个延时后,启动进入正常工作状态。此时,工作人员可以将该 台设备脱开网络,即将网线拔出设备的网络接口。
从上述升级流程中可以明显的得出,实施本发明的固件批量升级方 法,多台待升级设备可以同时接入网络,加电后即可自动与网络中的升 级服务器完成固件的升级,不需要人力的额外操作; 一台或一批设备升 级完成后,可以接入另一台或另一批待升级的设备至网络中,从而循环 不断的完成所有设备的固件升级工作,效率非常高。并且,可以将从事 该项工作任务的工作人员分成"接入待升级设备"和"取下已升级设备" 两个工作组前一工作组人员只需将待升级设备不断的接入网络,后一 工作组人员只需将已升级完成的设备一台台的取下脱开网络,实现流水 线方式工作,可以进一步的提高工作效率并降低劳动强度。这种方法非 常适合设备制造厂商等具有大批量产品固件升级需求的应用场合。
总之,上述所描述的实施方式,并不代表本发明所有的实现方式; 以上实施例不是对本发明的具体限定,所有与本发明相类似的技术方 案,都应属于本发明的保护范围。
权利要求
1、一种固件批量升级方法,包括了设备端和与设备端网络连接的升级服务器,其特征在于,包括了如下步骤(1)所述设备端的设备在启动时发出请求验证其固件程序版本的UDP数据包,并进入延时等待状态;(2)所述升级服务器接收所述UDP数据包,并将所述设备的固件程序与所述升级服务器上的固件程序进行比对(2A)如果所述两个固件程序版本不同,所述升级服务器向所述设备发出需要升级固件的UDP数据包回应,给所述设备分配一个IP地址,并向该IP地址发送固件程序;或者,(2B)如果所述两个固件程序版本相同,所述升级服务器不向所述设备发出需要升级固件的UDP数据包;(3)在上述步骤(2A)下,所述设备端的设备接收到UDP数据包回应,更改设备的IP地址为升级服务器分配的地址,并进入等待固件升级状态;(4)在上述步骤(2B)下,所述设备端的设备等待一个延时后,启动进入正常工作状态;(5)在上述步骤(3)下,所述设备接收所述升级服务器发送的固件程序,升级其固件后,重新启动设备。
2、 根据权利要求1所述的一种固件批量升级方法,其特征在于,在 步骤(2)中,所述两个固件程序的比对,是两个固件程序的循环冗余 校验值的比对。
3、 根据权利要求1或2所述的一种固件批量升级方法,其特征在于, 在步骤(2A)中,所述升级服务器还记录下所述设备的物理地址至待升 级设备数据库中。
4、 根据权利要求1或2所述的一种固件批量升级方法,其特征在于, 在步骤(2B)中,所述升级服务器还记录下所述设备的物理地址至已升 级设备数据库中。
全文摘要
本发明涉及一种固件批量升级方法,设备接电启动后发出请求验证其固件程序版本的UDP数据包,并进入延时等待状态;升级服务器接收设备发出的数据包并对设备固件版本进行比对;如果固件版本不一致,则向设备发送需要升级的UPD数据包回应,给设备分配IP地址,并向该IP地址发送新版的固件程序;设备接收该回应数据包,修改设备IP地址,接收固件升级后重启设备;相反的,如果设备在延时时段内没有收到升级服务器的UPD数据包回应,则设备启动至正常工作状态。实施本发明的固件批量升级方法,设备接入网络,加电后即可自动完成固件升级,可实现流水线方式工作,非常适合设备制造厂商等具有大批量产品固件升级需求的场合。
文档编号H04L12/24GK101252458SQ20081006600
公开日2008年8月27日 申请日期2008年1月30日 优先权日2008年1月30日
发明者周贵双, 曾显柱 申请人:深圳市共进电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1