一种用于网络终端设备的软件远程升级方法

文档序号:9524037阅读:635来源:国知局
一种用于网络终端设备的软件远程升级方法
【技术领域】
[0001]本发明涉及一种用于网络终端设备的软件远程升级方法,主要适用于嵌入式网络设备的软件更新,特别适用于物联网领域的嵌入式网络设备的软件更新。
【背景技术】
[0002]随着信息技术的飞速发展,用户对于产品的使用需求也越来越多样化。如何维护升级市场长的产品也是生产商需要面对的一个问题,目前大多数嵌入式系统是不支持软件升级的,在出现问题后只能现场解决或者产品召回,维护成本较高,并且如果维护不及时则有可能面临被客户替换掉的风险,进而失去客户资源。
[0003]申请号为201410406157.4的中国专利公开了一种嵌入式软件在线升级方法,在嵌入式设备的存储器中设置主分区和更新区,分别用于独立引导设备启动和更新,并根据更新标记来决定启动新的版本或退回升级前的状态。该方法在可操作性、成本、经济效应方面仍有待改善。

【发明内容】

[0004]本发明的目的在于克服现有技术中存在的上述不足,而提供一种用于网络终端设备的软件远程升级方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。
[0005]本发明解决上述问题所采用的技术方案是:一种用于网络终端设备的软件远程升级方法,其特征在于:
在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;
设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转; 该步骤中,设备使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新;
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功。
[0006]本发明所述的设备为多台。
[0007]本发明所述的设备为嵌入式设备。
[0008]本发明所述的设备采用Cortex_M3系列处理器。
[0009]本发明与现有技术相比,具有以下优点和效果:
1、首先是实现了设备的远程升级,满足了技术应用的这一需求;其次是降低了设备成本,最大化的提高了设备的经济效益。
[0010]2、设备支持远程升级,就使远程批量升级设备成为了可能,能够控制批量升级远程的设备对于企业来说是重要的,对于已经发售了万、亿台设备的企业对此需求尤为明显,这对设备的集中管理与控制到了关键的作用,在产品出现软件问题或者用户对产品有新需求时,就能够做到快速、便捷的对设备批量升级,使其支持新需求;
3、设备采用主流的Cortex-M3系列处理器,这个系列的处理器目前已经是很具有竞争力的嵌入式处理器,能够在此系列处理器上开发符合用户使用需求的设备,本身已经做到了经济效益的最大化,经济效益在一定程度上体现了企业的核心竞争力。
【附图说明】
[0011]图1为本发明实施例的系统框架图。
[0012]图2为本发明实施例的设备框架图。
【具体实施方式】
[0013]下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
[0014]本发明是一项基于嵌入式处理器网络升级的方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。网络升级即通过网络数据传输的方式将设备的软件进行更新,更新的目的可以是新功能的添加或者系统BUG的修复。网络升级的技术难点在于:利用嵌入式设备自身有限的资源实现TCP/IP协议通信,利用网络通信收发数据,并保证数据在传输过程中的准确性、完整性、安全性;并且在接收到数据后校验数据,双重保证数据的准确性和完整性,保证设备能够成功升级。
[0015]本发明实施例在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信。LwIP协议栈是一个轻量级的TCP/IP协议栈,它裁剪了标准的TCP/IP协议栈,只保留了一些基本功能,使其能够运行在硬件资源比较紧缺的嵌入式设备上。
[0016]数据传输采用互联网上广泛应用的HTTP协议,传输过程中的准确性、完整性、安全性均有HTTP协议本身来保证。
[0017]设备在运行过程中,一直保持和远端的服务器有Socket连接。服务器管理连接上来的设备,并保存远端设备传输到服务器的数据。服务器存储设备升级固件版本,用于下发固件至设备。
[0018]当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1