CN101854393A - 一种嵌入式***软件升级方法 - Google Patents
一种嵌入式***软件升级方法 Download PDFInfo
- Publication number
- CN101854393A CN101854393A CN 201010185723 CN201010185723A CN101854393A CN 101854393 A CN101854393 A CN 101854393A CN 201010185723 CN201010185723 CN 201010185723 CN 201010185723 A CN201010185723 A CN 201010185723A CN 101854393 A CN101854393 A CN 101854393A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- equipment
- upgrade
- server
- system software
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明是一种嵌入式***软件升级方法,包括主站/服务器、设备,包括如下步骤:A:主站/服务器提取配置信息和设备链表,设置升级网络,打开日志,启动升级流程;B:升级模块接收来自于主站/服务器的升级文件,升级过程信息随时更新到非易失区域。C:验证、存储并归档升级文件,并设置运行切换数据;D:切换主辅运行区,试运行新版本程序,正常则运行;异常,则报告状态码并切换主辅运行区,运行上一正常运行版本的程序;E:设备生成本地日志,主站/服务器保存升级日志。
Description
技术领域
本发明涉及一种嵌入式***软件升级方法。
背景技术
随着科技的进步以及技术的发展,现在嵌入式设备的智能成分越来越高,同时对设备的需求也越来越具体,需求的更新周期也变的越来越短,甚至设备在生命周期内就面临着功能扩展或者升级的需求。嵌入式设备的分布一般比较分散(例如终端类产品),甚至有些产品比较偏远,如果人工现场进行升级或更新,将耗费大量的人力和工期。
随着无线通信网络技术的发展,无线通信本身的速率和可靠性越来越高,所以开始出现了一些依附于无线网络进行升级的技术或者方法,例如使用公网GPRS或者民用无限射频进行升级的技术。在现有的技术或者方法中,存在着如下的问题:
1:升级过程中,会影响设备当前的运行功能,严重的会导致一些实时数据的错误。
2:升级过程中,如果设备出现异常(例如复位、死机等)或者设备运行环境出现异常(断电、强电磁干扰等),会导致设备的完全瘫痪,必须人工现场维修或更换。
3:升级完成后,如果程序有异常(例如升级文件不完整、有错误甚至频繁复位等),设备不能本地自我恢复上一版本的正常运行程序,而且也不能告知服务器端本设备的确切状态。只能人工现场查看设备状态并维修或更换。
4:升级文件和***文件之间不独立,不利于设备本地的文件管理和版本管理。
发明内容
考虑到上述的问题,本发明提供了一种新的嵌入式***软件升级的方法。
一种嵌入式***软件升级方法,包括主站/服务器、设备,包括如下步骤:
A:主站/服务器提取配置信息和设备链表,设置升级网络,打开升级日志,启动升级流程;升级网络包含无线或者有线网络,无线网络设置通常需要探测、依附、连接、登录等步骤,有线网络设置通常需要读取配置、写寄存器、确认状态等步骤。设备链表不仅可以实现一次全部终端/装置升级,而且可以实现单个或者多个分批分次升级,同时设备链表的提取保证了级联升级功能的实现。级联升级的优点在于不仅最大程度上利用了通信信道,而且解决了级联终端的程序升级问题。
B:升级模块接收来自于主站/服务器的升级文件,升级过程信息随时更新到非易失区域;升级文件的存储不仅在逻辑上是和***文件独立的,而且在物理存储上也是独立于***文件的。升级文件存储时,头部带有版本、大小、格式等特征信息以及压缩、校验算法;这些特征信息以及压缩算法在非易失区域都有相应的备份。
C:设备验证、存储、归档升级文件,并设置运行切换数据;在升级过程中,预定义大小的升级数据块本身携带有特征码和校验码,设备在接收完一个完整的数据块以后会对其进行校验,并将特征码保存。升级完成后,设备根据保存的所有特征码,使用文件头部的校验算法对接收到的完整文件再次进行校验。升级文件的归档即是把通过验证的完整的升级文件的头部特征信息以及算法等更新到非易失区域并将完整的升级文件在FLASH等物理介质上备份。运行切换数据包括参数表地址、大小以及变量表地址、大小等初始运行数据。
D:切换主辅运行区,试运行新版本程序,正常则运行;异常,则报告状态码并切换主辅运行区,运行上一正常运行版本的程序;
E:设备生成本地日志,主站/服务器保存升级日志。
所述步骤B具体来说是可以这样实现的:
B1:开辟接收缓冲区,配置并启动DMA模块。
B2:DMA自动处理接收缓冲区和数据存储区之间的数据转移。
B3:在升级数据块完成转移之后,设备更新升级信息到非易失区域,重复这样的操作,直到全部数据接收、转移完毕。
所述步骤D是这样实现的:
D1:设备复位,运行辅运行区域的新版本程序;
D2:同时运行状态监视线程启动,监视其他任务运行状态;如果满足预先设定的异常条件,修改装置运行切换数据,启动装置复位;如果正常,继续运行;
D3:在装置运行新程序异常的情况下,装置复位后,运行主区域的程序,如果主区域程序运行异常,从归档文件中恢复程序,并上报预定义的状态码。
上述主站/服务器和设备之间通过有线或无线的方式进行通信。例如GPRS、CDMA或者本地串口等。
本发明提供的嵌入式***软件升级方法,具有如下优点:
1.基于通信网络(例如GPRS、CDMA等)进行远程升级,减少维护人员现场操作,节省了时间,节约了成本。
2.可对装置(设备)进行批量升级,也可针对某一台或者某一批进行升级操作.升级方式灵活,能满足用户不同需求,方便现场应用。
3.升级过程不影响装置(设备)正常工作,保证设备在严格复杂条件下的应用。
4.采用铁电以及电池供电RAM双重备份保存升级相关信息,可以保证在运行异常发生后,升级信息不丢失,实现断点续传、文件恢复等功能。
5.升级程序区域和运行程序区域之间运行切换使用激活模式,而且具有本地文件恢复功能。这样不仅可以实现升级完成后快速运行,而且可以实现***在最坏情况下仍能恢复原先运行程序,保证了该升级方法的继续可用性,大大提高了装置(设备)的可靠性.
具体实施方式
下面以非限定的实施方式来进一步解释、说明本技术方案。
一种嵌入式***软件升级方法,包括主站/服务器、设备,即通过主站/服务器来对设备进行升级,主站/服务器和设备之间可以通过现有的各种通信方式进行通信,不影响本发明的保护范围。具体来说是这样的:
首先开始于步骤A:主站/服务器提取配置信息和设备链表,设置升级网络,打开升级日志,启动升级流程。即主站/服务器首先提取设备的配置信息和设备链表,如果通信网络为无线网络,一般需要探测、依附、连接、登录等步骤,然后打开升级日志,进行升级过程。由于采用设备链表的方式提取设备信息,不仅可以全部或者分批次升级,而且也解决了级联终端的程序升级问题,最大程度的利用了通信信道。
然后进入升级步骤B:升级模块接收来自于主站/服务器的升级文件,升级过程信息随时更新到非易失区域,非易失区域为Flash、电池供电SRAM、FRAM等。具体来说本步骤是这样实现的:
B1:开辟接收缓冲区,配置并启动DMA模块。
B2:DMA自动处理接收缓冲区和数据存储区之间的数据转移。数据存储区是设备内部本地的一个物理空间,用来存放接收到的升级文件,其介质一般为FRAM等。
B3:在升级数据块完成转移之后,设备(具体为设备的CPU)更新升级信息到非易失区域,如电池供电RAM、铁电等。重复这样的操作,直到全部数据接收、转移完毕。
然后进入步骤C:设备校验、存储并归档升级文件,并设置运行切换数据。在升级过程中,预定义大小的升级数据块本身携带有特征码和校验码,设备在接收完一个完整的数据块以后会对其进行校验,并将特征码保存。升级完成后,设备根据保存的所有特征码,使用文件头部的校验算法对接收到的完整文件再次进行校验。升级文件的归档即是把通过验证的完整的升级文件的头部特征信息以及算法等更新到非易失区域并将完整的升级文件在FLASH等物理介质上备份。运行切换数据包括参数表地址、大小以及变量表地址、大小等初始运行数据。
然后进入试运行的步骤D:切换主辅运行区,试运行新版本程序,正常则运行;异常,则报告状态码并切换主辅运行区,运行上一正常运行版本的程序;具体来说是这样的:
D1:设备复位,运行辅运行区域的新版本程序;
D2:同时运行状态监视线程启动,监视其他任务运行状态;如果满足预先设定的异常条件,修改装置运行切换数据,启动装置复位;如果正常,继续运行;
D3:在装置运行新程序异常的情况下,装置复位后,运行主区域的程序,如果主区域程序运行异常,从归档文件中恢复程序,并上报预定义的状态码。
然后试运行结束后,进入步骤E:设备生成本地日志,主站/服务器保存升级日志。即完成了整个升级过程。
Claims (6)
1.一种嵌入式***软件升级方法,包括主站/服务器、设备,其特征在于包括如下步骤:
A:主站/服务器提取配置信息和设备链表,设置升级网络,打开升级日志,启动升级流程;
B:升级模块接收来自于主站/服务器的升级文件,升级过程信息随时更新到非易失区域;
C:设备验证、存储并归档升级文件,并设置运行切换数据;
D:切换主辅运行区,试运行新版本程序,正常则运行;异常,则报告状态码并切换主辅运行区,运行上一正常运行版本的程序;
E:设备生成本地日志,主站/服务器保存升级日志。
2.根据权利要求1所述的嵌入式***软件升级方法,其特征在于:所述步骤D是这样实现的:
D1:设备复位,运行辅运行区域的新版本程序;
D2:同时运行状态监视线程启动,监视其他任务运行状态;如果满足预先设定的异常条件,修改装置运行切换数据,启动装置复位;如果正常,继续运行;
D3:在装置运行新程序异常的情况下,装置复位后,运行主区域的程序,如果主区域程序运行异常,从归档文件中恢复程序,并上报预定义的状态码。
3.根据权利要求1所述的嵌入式***软件升级方法,其特征在于:所述步骤B是这样实现的:
B1:开辟设备的接收缓冲区,配置并启动DMA模块;
B2:DMA模块自动处理接收缓冲区和数据存储区之间的数据转移:
B3:在升级数据块完成转移之后,设备更新升级信息到非易失区域,重复这样的操作,直到全部数据接收、转移完毕。
4.根据权利要求3所述的嵌入式***软件升级方法,其特征在于:所述非易失区域包括RAM和铁电。
5.根据权利要求1所述的嵌入式***软件升级方法,其特征在于:所述升级网络为无限网络或有限网络。
6.根据权利要求1所述的嵌入式***软件升级方法,其特征在于:所述升级过程信息包括版本、大小、格式和压缩、校验算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010185723 CN101854393A (zh) | 2010-05-28 | 2010-05-28 | 一种嵌入式***软件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010185723 CN101854393A (zh) | 2010-05-28 | 2010-05-28 | 一种嵌入式***软件升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101854393A true CN101854393A (zh) | 2010-10-06 |
Family
ID=42805657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010185723 Pending CN101854393A (zh) | 2010-05-28 | 2010-05-28 | 一种嵌入式***软件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101854393A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520996A (zh) * | 2011-12-07 | 2012-06-27 | 上海市共进通信技术有限公司 | 嵌入式设备中跨平台通用升级镜像信息生成及升级方法 |
CN102520974A (zh) * | 2011-10-26 | 2012-06-27 | 京信通信***(中国)有限公司 | 自动恢复直放站射频数据表的方法及装置 |
CN104090796A (zh) * | 2014-07-08 | 2014-10-08 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和*** |
CN104506367A (zh) * | 2014-12-24 | 2015-04-08 | 上海斐讯数据通信技术有限公司 | 一种升级管理*** |
CN104750527A (zh) * | 2015-03-27 | 2015-07-01 | 广州快飞计算机科技有限公司 | 一种嵌入式***升级方法及*** |
CN107832079A (zh) * | 2017-11-15 | 2018-03-23 | 中国石油天然气股份有限公司 | 油气井监控器的升级方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021797A (zh) * | 2007-04-06 | 2007-08-22 | 中兴通讯股份有限公司 | 一种用于嵌入式***的软件修复和升级方法 |
CN101079732A (zh) * | 2007-05-21 | 2007-11-28 | 武汉虹信通信技术有限责任公司 | 基于ftp协议的嵌入式***软件远程升级方法 |
CN101184309A (zh) * | 2007-12-21 | 2008-05-21 | 深圳国人通信有限公司 | 直放站设备嵌入式***远程升级方法 |
US20090138870A1 (en) * | 2004-03-23 | 2009-05-28 | Amir Shahindoust | System and method for remotely securing software updates of computer systems |
-
2010
- 2010-05-28 CN CN 201010185723 patent/CN101854393A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090138870A1 (en) * | 2004-03-23 | 2009-05-28 | Amir Shahindoust | System and method for remotely securing software updates of computer systems |
CN101021797A (zh) * | 2007-04-06 | 2007-08-22 | 中兴通讯股份有限公司 | 一种用于嵌入式***的软件修复和升级方法 |
CN101079732A (zh) * | 2007-05-21 | 2007-11-28 | 武汉虹信通信技术有限责任公司 | 基于ftp协议的嵌入式***软件远程升级方法 |
CN101184309A (zh) * | 2007-12-21 | 2008-05-21 | 深圳国人通信有限公司 | 直放站设备嵌入式***远程升级方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520974A (zh) * | 2011-10-26 | 2012-06-27 | 京信通信***(中国)有限公司 | 自动恢复直放站射频数据表的方法及装置 |
CN102520974B (zh) * | 2011-10-26 | 2014-11-19 | 京信通信***(中国)有限公司 | 自动恢复直放站射频数据表的方法及装置 |
CN102520996A (zh) * | 2011-12-07 | 2012-06-27 | 上海市共进通信技术有限公司 | 嵌入式设备中跨平台通用升级镜像信息生成及升级方法 |
CN104090796A (zh) * | 2014-07-08 | 2014-10-08 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和*** |
CN104090796B (zh) * | 2014-07-08 | 2017-06-09 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和*** |
CN104506367A (zh) * | 2014-12-24 | 2015-04-08 | 上海斐讯数据通信技术有限公司 | 一种升级管理*** |
CN104750527A (zh) * | 2015-03-27 | 2015-07-01 | 广州快飞计算机科技有限公司 | 一种嵌入式***升级方法及*** |
CN107832079A (zh) * | 2017-11-15 | 2018-03-23 | 中国石油天然气股份有限公司 | 油气井监控器的升级方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101854393A (zh) | 一种嵌入式***软件升级方法 | |
CN104090796A (zh) | 一种嵌入式设备程序更新方法和*** | |
CN103782279B (zh) | 文件管理***和文件管理方法 | |
CN102782639B (zh) | 使复制目标能够回收瘦供给存储***上未使用的存储空间的***和方法 | |
CN202694325U (zh) | 智能型手机数据备份装置 | |
CN102779080B (zh) | 生成快照的方法、利用快照进行数据恢复的方法及装置 | |
CN103559054A (zh) | 智能终端多操作***的实现、删除方法和装置 | |
CN104407847A (zh) | 一种批处理的方法及装置 | |
KR101327680B1 (ko) | 전력량계의 펌웨어 업그레이드 장치, 시스템 및 방법 | |
CN102609304B (zh) | 一种Android手机内置第三方应用的管理方法 | |
CN102625281A (zh) | 无线通信模块及其升级方法 | |
CN101521730A (zh) | 一种电视自动升级方法、***及电视机 | |
CN103064712A (zh) | 一种更新配置参数的方法、装置及终端设备 | |
CN102915249A (zh) | 远程地实现固件升级的方法和装置 | |
CN101216789A (zh) | 数据更新方法、装置及*** | |
CN102722394A (zh) | 一种嵌入式设备的启动升级方法 | |
CN102902561A (zh) | 数据存储方法及数据存储*** | |
CN102404366A (zh) | 一种实现无线远程升级文件***的方法 | |
CN108958978A (zh) | 一种mcu数据恢复方法和*** | |
CN104657161A (zh) | 移动终端固件更新方法及装置 | |
CN106055420A (zh) | 一种数据校验方法、装置及设备 | |
CN104516796A (zh) | 一种基于命令集的网元备份与恢复方法及装置 | |
CN107169053A (zh) | 日志信息导出方法及装置 | |
CN1677346A (zh) | 可编程器件程序更新方法及可更新程序的板卡 | |
CN104142838A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101006 |
|
RJ01 | Rejection of invention patent application after publication |