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

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

Info

Publication number
CN105279001A
CN105279001A CN201510806194.9A CN201510806194A CN105279001A CN 105279001 A CN105279001 A CN 105279001A CN 201510806194 A CN201510806194 A CN 201510806194A CN 105279001 A CN105279001 A CN 105279001A
Authority
CN
China
Prior art keywords
equipment
firmware
server
subregion
upgrade
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510806194.9A
Other languages
English (en)
Other versions
CN105279001B (zh
Inventor
李臣明
吕坡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengjia (Shanghai) Investment Co., Ltd
Original Assignee
Yeeuu Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yeeuu Inc filed Critical Yeeuu Inc
Priority to CN201510806194.9A priority Critical patent/CN105279001B/zh
Publication of CN105279001A publication Critical patent/CN105279001A/zh
Application granted granted Critical
Publication of CN105279001B publication Critical patent/CN105279001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种用于网络终端设备的软件远程升级方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;当设备接收到升级指令后,进行升级步骤。

Description

一种用于网络终端设备的软件远程升级方法
技术领域
本发明涉及一种用于网络终端设备的软件远程升级方法,主要适用于嵌入式网络设备的软件更新,特别适用于物联网领域的嵌入式网络设备的软件更新。
背景技术
随着信息技术的飞速发展,用户对于产品的使用需求也越来越多样化。如何维护升级市场长的产品也是生产商需要面对的一个问题,目前大多数嵌入式系统是不支持软件升级的,在出现问题后只能现场解决或者产品召回,维护成本较高,并且如果维护不及时则有可能面临被客户替换掉的风险,进而失去客户资源。
申请号为201410406157.4的中国专利公开了一种嵌入式软件在线升级方法,在嵌入式设备的存储器中设置主分区和更新区,分别用于独立引导设备启动和更新,并根据更新标记来决定启动新的版本或退回升级前的状态。该方法在可操作性、成本、经济效应方面仍有待改善。
发明内容
本发明的目的在于克服现有技术中存在的上述不足,而提供一种用于网络终端设备的软件远程升级方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。
本发明解决上述问题所采用的技术方案是:一种用于网络终端设备的软件远程升级方法,其特征在于:
在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;
设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,设备使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新;
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功。
本发明所述的设备为多台。
本发明所述的设备为嵌入式设备。
本发明所述的设备采用Cortex-M3系列处理器。
本发明与现有技术相比,具有以下优点和效果:
1、首先是实现了设备的远程升级,满足了技术应用的这一需求;其次是降低了设备成本,最大化的提高了设备的经济效益。
2、设备支持远程升级,就使远程批量升级设备成为了可能,能够控制批量升级远程的设备对于企业来说是重要的,对于已经发售了万、亿台设备的企业对此需求尤为明显,这对设备的集中管理与控制到了关键的作用,在产品出现软件问题或者用户对产品有新需求时,就能够做到快速、便捷的对设备批量升级,使其支持新需求;
3、设备采用主流的Cortex-M3系列处理器,这个系列的处理器目前已经是很具有竞争力的嵌入式处理器,能够在此系列处理器上开发符合用户使用需求的设备,本身已经做到了经济效益的最大化,经济效益在一定程度上体现了企业的核心竞争力。
附图说明
图1为本发明实施例的系统框架图。
图2为本发明实施例的设备框架图。
具体实施方式
下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
本发明是一项基于嵌入式处理器网络升级的方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。网络升级即通过网络数据传输的方式将设备的软件进行更新,更新的目的可以是新功能的添加或者系统BUG的修复。网络升级的技术难点在于:利用嵌入式设备自身有限的资源实现TCP/IP协议通信,利用网络通信收发数据,并保证数据在传输过程中的准确性、完整性、安全性;并且在接收到数据后校验数据,双重保证数据的准确性和完整性,保证设备能够成功升级。
本发明实施例在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信。LwIP协议栈是一个轻量级的TCP/IP协议栈,它裁剪了标准的TCP/IP协议栈,只保留了一些基本功能,使其能够运行在硬件资源比较紧缺的嵌入式设备上。
数据传输采用互联网上广泛应用的HTTP协议,传输过程中的准确性、完整性、安全性均有HTTP协议本身来保证。
设备在运行过程中,一直保持和远端的服务器有Socket连接。服务器管理连接上来的设备,并保存远端设备传输到服务器的数据。服务器存储设备升级固件版本,用于下发固件至设备。
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或应答网络请求。
套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新,大大降低了升级出错的概率,保证了网络升级设备的可靠性;
步骤(4)主要是为了校验获取网络数据的完整性、准确性。错误的数据造成的结果就是数据更新失败,设备运行不正常。所以,首先检验数据的准确性,然后在将正确的数据更新至将要运行的区域,然后跳转至该运行区域执行。正在运行的区域是不能够更新固件的,因为这样会导致正在运行的设备出错。必须将固件更新到非运行的区域,然后通过Boot区检测新固件区域,进而执行新区域的固件代码。
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功。
上述设备可为多台。
上述设备为嵌入式设备;设备电路包含三块:MCU(主控芯片)、网卡芯片、存储芯片。
MCU为主控核心,主要用于处理业务逻辑,接收命令、返回执行状态等。网卡芯片主要辅助主控芯片收发网络数据。存储芯片主要用于暂存网络接收到的升级包,节省主控的存储资源。
上述设备采用Cortex-M3系列处理器。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所作的举例说明。

Claims (4)

1.一种用于网络终端设备的软件远程升级方法,其特征在于:
在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;
设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,设备使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新;
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功;
所述的设备为嵌入式设备。
2.根据权利要求1所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备为多台。
3.根据权利要求1或2所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备采用Cortex-M3系列处理器。
4.根据权利要求1或2所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备为嵌入式设备。
CN201510806194.9A 2015-11-20 2015-11-20 一种用于网络终端设备的软件远程升级方法 Active CN105279001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510806194.9A CN105279001B (zh) 2015-11-20 2015-11-20 一种用于网络终端设备的软件远程升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510806194.9A CN105279001B (zh) 2015-11-20 2015-11-20 一种用于网络终端设备的软件远程升级方法

Publications (2)

Publication Number Publication Date
CN105279001A true CN105279001A (zh) 2016-01-27
CN105279001B CN105279001B (zh) 2018-09-07

Family

ID=55148056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510806194.9A Active CN105279001B (zh) 2015-11-20 2015-11-20 一种用于网络终端设备的软件远程升级方法

Country Status (1)

Country Link
CN (1) CN105279001B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126297A (zh) * 2016-06-30 2016-11-16 西安诺瓦电子科技有限公司 基于Android操作系统的系统升级方法
CN106681766A (zh) * 2016-12-26 2017-05-17 广东芬尼克兹节能设备有限公司 远程固件升级控制方法及系统
CN109388418A (zh) * 2018-10-09 2019-02-26 郑州云海信息技术有限公司 带外刷新box节点服务器的固件和fru的方法及系统
CN109600451A (zh) * 2018-12-28 2019-04-09 厦门中控智慧信息技术有限公司 一种基于Websocket长连接的终端设备固件升级方法及系统
CN110391931A (zh) * 2019-04-27 2019-10-29 深圳普智远科技有限公司 一种管理服务器与远端嵌入式设备的通信方法
CN111934911A (zh) * 2020-07-15 2020-11-13 北京自动化控制设备研究所 一种基于网络分发的fpga固件批量升级系统及方法
CN112291323A (zh) * 2020-10-22 2021-01-29 上海电科智能系统股份有限公司 一种基于mqtt通讯协议的单片机固件升级通讯方法
CN112351070A (zh) * 2020-09-30 2021-02-09 宇龙计算机通信科技(深圳)有限公司 文件传输方法、装置、存储介质及电子设备
CN113347044A (zh) * 2021-06-28 2021-09-03 积成电子股份有限公司 一种基于LwIP协议栈远程维护STM32设备的方法与系统
CN114546456A (zh) * 2020-11-24 2022-05-27 中移物联网有限公司 一种升级方法、装置及电子设备
CN114979297A (zh) * 2022-05-26 2022-08-30 重庆长安汽车股份有限公司 一种车辆软件版本大跨度ota升级方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101820447A (zh) * 2010-03-31 2010-09-01 青岛海信宽带多媒体技术有限公司 软件升级方法及升级装置
CN102736926B (zh) * 2011-04-14 2016-06-15 中兴通讯股份有限公司 一种基于任务模板的升级方法及装置、批量升级系统
CN104461668A (zh) * 2015-01-04 2015-03-25 上海雷尼威尔技术有限公司 基于lwip协议栈的用户程序升级方法及系统
CN104572217A (zh) * 2015-01-27 2015-04-29 广东欧珀移动通信有限公司 穿戴式智能设备的升级方法及系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126297A (zh) * 2016-06-30 2016-11-16 西安诺瓦电子科技有限公司 基于Android操作系统的系统升级方法
CN106681766B (zh) * 2016-12-26 2021-04-27 广东芬尼克兹节能设备有限公司 远程固件升级控制方法及系统
CN106681766A (zh) * 2016-12-26 2017-05-17 广东芬尼克兹节能设备有限公司 远程固件升级控制方法及系统
CN109388418A (zh) * 2018-10-09 2019-02-26 郑州云海信息技术有限公司 带外刷新box节点服务器的固件和fru的方法及系统
CN109600451A (zh) * 2018-12-28 2019-04-09 厦门中控智慧信息技术有限公司 一种基于Websocket长连接的终端设备固件升级方法及系统
CN110391931A (zh) * 2019-04-27 2019-10-29 深圳普智远科技有限公司 一种管理服务器与远端嵌入式设备的通信方法
CN111934911A (zh) * 2020-07-15 2020-11-13 北京自动化控制设备研究所 一种基于网络分发的fpga固件批量升级系统及方法
CN112351070A (zh) * 2020-09-30 2021-02-09 宇龙计算机通信科技(深圳)有限公司 文件传输方法、装置、存储介质及电子设备
CN112291323A (zh) * 2020-10-22 2021-01-29 上海电科智能系统股份有限公司 一种基于mqtt通讯协议的单片机固件升级通讯方法
CN112291323B (zh) * 2020-10-22 2023-05-05 上海电科智能系统股份有限公司 一种基于mqtt通讯协议的单片机固件升级通讯方法
CN114546456A (zh) * 2020-11-24 2022-05-27 中移物联网有限公司 一种升级方法、装置及电子设备
CN114546456B (zh) * 2020-11-24 2024-05-24 中移物联网有限公司 一种升级方法、装置及电子设备
CN113347044A (zh) * 2021-06-28 2021-09-03 积成电子股份有限公司 一种基于LwIP协议栈远程维护STM32设备的方法与系统
CN114979297A (zh) * 2022-05-26 2022-08-30 重庆长安汽车股份有限公司 一种车辆软件版本大跨度ota升级方法
CN114979297B (zh) * 2022-05-26 2023-06-27 重庆长安汽车股份有限公司 一种车辆软件版本大跨度ota升级方法

Also Published As

Publication number Publication date
CN105279001B (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN105279001A (zh) 一种用于网络终端设备的软件远程升级方法
CN111770169B (zh) 设备固件升级的方法、装置、设备以及存储介质
CN104102518B (zh) 一种双cpu系统及其程序升级方法
EP2328088A1 (en) Home network system, gateway device, and firmware update method
CN101694622A (zh) 一种多设备组合装置的固件远程升级方法及系统
RU2554570C2 (ru) Способ и система выполнения услуг на сервере и клиенте клиент-серверной архитектуры
CN110651256B (zh) 用于在软件更新期间防止服务中断的系统和方法
CN106325876A (zh) 一种在线图形化编程及控制嵌入式设备的方法、系统
CN101710288A (zh) 升级处理方法和系统、升级服务器以及升级设备
CN105812426A (zh) 一种多业务接入平台升级系统及升级方法
TW201319941A (zh) 基本輸入輸出系統網路接取技術
US20170351503A1 (en) Method and system for installing software
CN112118318A (zh) 车辆升级方法、终端设备、车辆和计算机存储介质
CN109614131A (zh) 一种广播设备升级控制系统
CN102855149B (zh) 一种片内操作系统升级方法、装置和系统
CN112764772A (zh) 更新文件的预下载方法、加载方法、装置、设备及介质
JP6308604B1 (ja) 応募者管理装置、応募者管理システム、応募者管理方法および応募者管理プログラム
CN109766131B (zh) 基于多线程技术实现软件智能化自动升级的系统及方法
WO2015154578A1 (zh) 单板的boot程序远程升级方法、装置及系统
US9207928B2 (en) Computer-readable medium, apparatus, and methods of automatic capability installation
US20190146771A1 (en) Self-updating method and apparatus for remote assistance
CN115309457A (zh) 应用实例的重启方法、装置、电子设备及可读存储介质
CN111193777B (zh) 一种基于断点续传的文件下载方法、装置及存储介质
CN114840238A (zh) 软件升级方法、装置、电子设备及计算机可读存储介质
CN113424153A (zh) 一种自动化运维方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200212

Address after: 201103 Wuzhong Road, Minhang District, Shanghai, No. 699

Patentee after: Chengjia (Shanghai) Investment Co., Ltd

Address before: Hangzhou City, Zhejiang province 310000 Yuhang Wuchang Street No. 998 West Sea Park building 18 room 704

Patentee before: YEEUU INC.

TR01 Transfer of patent right