CN102722408B - 一种通讯设备软件更新的方法及装置 - Google Patents

一种通讯设备软件更新的方法及装置 Download PDF

Info

Publication number
CN102722408B
CN102722408B CN201110076463.2A CN201110076463A CN102722408B CN 102722408 B CN102722408 B CN 102722408B CN 201110076463 A CN201110076463 A CN 201110076463A CN 102722408 B CN102722408 B CN 102722408B
Authority
CN
China
Prior art keywords
new procedures
updated
area
equipment
programmable logic
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.)
Active
Application number
CN201110076463.2A
Other languages
English (en)
Other versions
CN102722408A (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.)
Mobi Antenna Technologies Shenzhen Co Ltd
Shenzhen Shengyu Wisdom Network Technology Co Ltd
Mobi Technology Xian Co Ltd
Mobi Technology Shenzhen Co Ltd
Xian Mobi Antenna Technology Engineering Co Ltd
Mobi Telecommunications Technologies Jian Co Ltd
Original Assignee
Mobi Antenna Technologies Shenzhen Co Ltd
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 Mobi Antenna Technologies Shenzhen Co Ltd filed Critical Mobi Antenna Technologies Shenzhen Co Ltd
Priority to CN201110076463.2A priority Critical patent/CN102722408B/zh
Publication of CN102722408A publication Critical patent/CN102722408A/zh
Application granted granted Critical
Publication of CN102722408B publication Critical patent/CN102722408B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明适用于通信领域,提供了一种通讯设备软件更新的方法及装置,所述方法包括:以串口中断的方式接收代码更新命令;将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;重启待更新设备,运行新程序。本发明通过串口将需要更新的程序代码发送给待更新设备的方式,使得待更新设备的软件更新不在需要将设备打开,对可编程控制器进行程序的烧写,极大的方便了设备的软件更新。

Description

一种通讯设备软件更新的方法及装置
技术领域
本发明属于通信领域,尤其涉及一种通讯设备软件更新的方法及装置。
背景技术
在通信领域中,普遍使用存储在可编程控制器内的协议软件来实现各种设备的控制和各种设备之间的互联通讯。在实际的使用过程中,可能会不时地对可编程控制器内的软件进行修改和更新。在现有技术中,普遍使用烧写器来对设备中的可编程控制器直接进行程序的重新烧写。这时,就经常需要将设备打开或是额外增加烧写接口来对设备中的可编程控制器进行程序的烧写。如果设备位于一些比较特殊的位置(如塔顶等),更新程序时,更是要将设备从塔顶拆卸下来,十分不便。
发明内容
本发明实施例的目的在于提供一种通讯设备软件更新的方法及装置,旨在解决现有设备在更新软件时,不便于烧写新程序的问题。
本发明实施例是这样实现的,一种通讯设备软件更新的方法,所述方法包括以下步骤:
以串口中断的方式接收代码更新命令;
将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;
重启待更新设备,运行新程序。
本发明实施例的另一目的在于提供一种通讯设备软件更新的装置,所述装置包括:
更新命令接收单元,用于以串口中断的方式接收代码更新命令;
新程序存储单元,用于将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;
新程序运行单元,用于重启待更新设备,运行新程序。
在本发明实施例中,通过串口将需要更新的程序代码发送给待更新设备的方式,使得待更新设备的软件更新不在需要将设备打开,对可编程控制器进行程序的烧写,极大的方便了设备的软件更新。
附图说明
图1是本发明第一实施例提供的通讯设备软件更新的方法流程图;
图2是本发明第二实施例提供的通讯设备软件更新的方法流程图;
图3是本发明实施例提供的通讯设备软件更新的装置示意图;
图4是本发明实施例提供的新程序存储单元的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种通讯设备软件更新的方法,通过串口将需要更新的程序发送给待更新设备,该待更新设备对接收到的程序进行校验,校验成功后,将所接收到的需要更新的程序覆盖原来的程序,并运行接收到的需要更新的程序。
本发明提供了一种通讯设备软件更新的方法及装置:
所述方法包括:
以串口中断的方式接收代码更新命令;
将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;
重启待更新设备,运行新程序。
所述装置包括:
更新命令接收单元,用于以串口中断的方式接收代码更新命令;
新程序存储单元,用于将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;
新程序运行单元,用于重启待更新设备,运行新程序。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
对于待更新设备而言,更新该设备的软件即是将新的程序代码通过通信接口发送并存储至该设备的可编程控制器中,并运行。如图1所示为本发明第一实施例提供的通讯设备软件更新方法的流程图,为了便于说明,仅示出了与本发明实施例相关的部分。
在步骤S101中,接收到串口命令,串口中断被触发,判断该接收到的串口命令是否是代码更新命令,若是则执行步骤S103,否则执行步骤S102。
在本发明实施例中,终端通过串口发送命令至待更新设备的可编程控制器,所述终端包括但不限于电脑等,所述待更新设备包括但不限于通讯设备(如塔放等),所述可编程控制器包括但不限于单片机。可编程控制器接收到串口发送来的命令后,引起串口中断,然后,可编程控制器会停下原有的工作来检查该接收到的串口命令是什么命令,在本发明实施例中,由于是对软件进行更新,因此需判断该串口命令是否是代码更新命令。
在步骤S102中,处理其他命令。
在本发明实施例中,若接收到的串口命令不是代码更新命令,则在确认该命令的类型后,处理相应的命令。
在步骤S103中,将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区中。
在本发明实施例中,若接收到的串口命令是代码更新命令,则开始接收通过串口传输过来的新程序,并将该新程序存储至待更新设备可编程控制器的存储区中。
在步骤S104中,重启待更新设备,运行新程序。
在本发明实施例中,引导程序在重启待更新设备后,运行新程序,完成待更新设备的软件更新。
在本发明实施例中,通过串口将需要更新的程序代码发送给待更新设备的方式,使得待更新设备的软件更新不在需要将设备打开,对可编程控制器进行程序的烧写,极大的方便了设备的软件更新。
实施例二:
由于在新程序传输的过程中,可能会因为各种原因造成传输失败,此时,若将未能完全接收的新程序覆盖原程序后启动,可能造成系统瘫痪,因此,本发明第二实施例提出了一种用于解决此问题的软件更新方法。如图2所示为本发明第二实施例提供的通讯设备软件更新方法的流程图,为了便于说明,仅示出了与本发明实施例相关的部分。
在步骤S201中,将待更新设备中的可编程控制器内部存储区分为多个存储区域。
在本发明实施例中,首先,预先将可编程控制器中存储的程序按功能分为两部分,分别为引导程序和应用程序。其中,引导程序用于判断软件更新是否成功,决定是否启用接收到的新应用程序等,能够实现诸如中断向量在更新程序后重新定位、指针跳转等功能。应用程序即是实际执行的程序主体。
由于可编程控制器中的程序根据功能进行了划分,相应的需要对可编程控制器的内部存储区预先进行分区,分别用于存储不同的程序。其中,将可编程控制器内部存储区划分为多个存储区域,所述存储区域包括一个新程序暂存区,用于暂存新程序,一个主程序区,用于存储主程序,以及用于存储各中断向量地址、引导程序、及用户数据的一种或多种组合的一个或多个存储区域。
作为本发明的一个优选实施例,可将可编程控制器的内部存储区预先分为4个存储区域,第一个区域用于存储各中断向量地址及引导程序;第二个区域为主程序区,用于存储主程序;第三个区域用于暂存接收到的新程序,即新程序暂存区;第四个区域用于存储一些需要保存的用户数据。
作为本发明另一优选实施例,可将可将可编程控制器的内部存储区从地址地位到高位依次分为用于存储各中断向量地址及引导程序的存储区域、主程序区、新程序暂存区及用于存储一些需要保存的用户数据的存储区。
下面以C8051F系列的存储空间为64K的单片机为例来说明。例如:
由于可编程控制器内部存储空间为64K,因此,地址为0x0000到0xffff。第一个区域从0x0000到0x1000,为各中断向量地址区域和引导程序存储区;第二个区域从0x1000到0x7fff,为程序运行区,用于存储实际运行的主程序;第三个区域从0x8000到0xefff,为新程序暂存区,用于暂存接收到的新程序;第四个区域从0xf000到0xffff,用于存储一些需要保存的用户数据。
在步骤S202中,触发串口中断,判断接收到串口命令的是否是代码更新命令,若是则执行步骤S204,否则执行步骤S203。
在步骤S203中,处理其他命令。
在步骤S204中,擦除预设的新程序暂存区,将接收到的新程序存储至该新程序暂存区。
在本发明实施例中,若接收到的命令是代码更新命令,则擦除新程序暂存区。以便于接收到发送过来的需要更新的新程序后,可直接存储至新程序暂存区。所述接收到的新程序包括但不限于电脑等终端通过串口等通信接口发送过来的新程序。
在步骤S205中,校验新程序是否正确,若是则执行步骤S206,否则执行步骤S207。
在本发明实施例中,为了预防传输过程中由于网络、线路等各种问题可能导致的新程序传输失败、传输不完全等问题,因此,需要对新程序进行校验,校验新程序是否正确。所述校验方法可为现有的校验程序的任何一种方法,在此不做限制。
在步骤S206中,置位标志位。
在本发明实施例中,若校验后,新程序完整正确,则置位标志位。
在步骤S207中,判断标志位是否置位,是则执行步骤S209,否则执行步骤S208。
在本发明实施例中,通过判断标志位是否置位,来确定是否有新程序需要更新,标志位被置位,则说明有新程序需要更新;标志位未被置位,则说明没有新程序需要更新。由引导程序来判断是否置位标志位。
在步骤S208中,继续执行原程序。
在本发明实施例中,标志位未置位,说明没有新程序需要更新,则继续执行原程序。
在步骤S209中,将新程序暂存区的新程序复制到主程序区,覆盖主程序区中原有的程序;
在本发明实施例中,由引导程序启动更新过程,将新程序暂存区的程序复制到主程序区,覆盖主程序区中原有的程序。
在步骤S210中,清除标志位。
在本发明实施例中,将新程序暂存区的程序覆盖原有的程序后,需清除标志位,以便于下一次需要更新程序时,重新置位标志位。否则,若不清除标志位,下一次接收的新程序出错了,不需要更新,但由于未清除标志位,更新了错误的新程序,因而造成系统瘫痪。
在步骤S211中,运行新程序。
在本发明实施例中,新程序覆盖原有的程序后,由引导程序重启系统,然后运行新程序。
在本发明实施例中,由于在将新程序覆盖原有程序之前,会先校验新程序,并只有在校验正确后,才会置位标志位。使得新程序的正确性得以保证,错误的新程序不会得到更新,有效防止了由于更新失败而导致的程序失效、系统瘫痪。且采用可编程控制器片内分区而不使用外部存储器芯片,既可以节省成本,也可以防止主芯片和外部芯片在读写时由于受到外部干扰而产生错误的情况。
实施例三:
图3为本发明实施例提供的通讯设备软件更新装置的结构示意,为了便于说明,仅示出了与本发明实施例相关的部份。该装置可以是内置于通信设备可编程控制器中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到这些设备或这些通信设备可编程控制器的应用系统中。其中:
更新命令接收单元31,用于以串口中断的方式接收代码更新命令。
在本发明实施例中,终端发送命令至待更新设备的可编程控制器,所述终端包括但不限于电脑等,所述待更新设备包括但不限于通讯设备(如塔放等),所述可编程控制器包括但不限于单片机。
新程序存储单元32,用于将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区中。
新程序运行单元33,用于重启待更新设备,运行新程序。
在本发明另一实施例中,所述新程序存储单元32还包括以下模块,如图4所示:
存储区分区模块321,用于将待更新设备中的可编程控制器内部存储区分为多个存储区域,所述存储区域包括一个新程序暂存区,用于暂存新程序,一个主程序区,用于存储主程序,以及用于存储各中断向量地址、引导程序、及用户数据的一种或多种组合的一个或多个存储区域。
新程序暂存模块322,用于擦除预设的新程序暂存区,将接收到的程序存储至该新程序暂存区。
在本发明实施例中,若接收到的命令是代码更新命令,则擦除新程序暂存区。以便于接收到发送过来的需要更新的新程序后,可直接存储至新程序暂存区。所述接收到的新程序包括但不限于电脑等终端通过串口等通信接口发送过来的新程序。
新程序校验模块323,用于校验新程序。
标志位置位/清除模块324,用于置位/清除标志位。
标志位判断模块325,用于判断标志位是否置位,若标志位置位,则程序覆盖模块327将新程序暂存区的程序复制到主程序区,覆盖主程序区中原有的程序;若标志位未置位,则继续执行原程序。
原程序执行模块326,用于执行原程序。
程序覆盖模块327,用于将新程序暂存区的程序复制到主程序区,覆盖主程序区中原有的程序。
在本发明实施例中,通过串口将需要更新的程序代码发送给待更新设备的方式,使得待更新设备的软件更新不在需要将设备打开,对可编程控制器进行程序的烧写,极大的方便了设备的软件更新。采用可编程控制器片内分区而不使用外部存储器芯片,既可以节省成本,也可以防止主芯片和外部芯片在读写时由于受到外部干扰而产生错误的情况。且由于在将新程序覆盖原有程序之前,会先校验新程序,并只有在校验正确后,才会置位标志位。使得新程序的正确性得以保证,错误的新程序不会得到更新,有效防止了由于更新失败而导致的程序失效、系统瘫痪。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种通讯设备软件更新的方法,其特征在于,所述方法包括下述步骤:
将待更新设备中的可编程控制器内部存储区分为多个存储区域,所述存储区域包括新程序暂存区、主程序区;
以串口中断的方式接收代码更新命令;
将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;
重启待更新设备,运行新程序;
所述将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区中的步骤具体为:
擦除所述新程序暂存区,将接收到的新程序存储至所述新程序暂存区;
校验所述新程序;
当校验所述新程序正确后,置位标志位;
判断所述标志位是否置位;
若是,则将所述新程序复制到所述主程序区,覆盖所述主程序区的原有的程序;
否则继续执行原程序。
2.如权利要求1所述的方法,其特征在于,在所述将所述新程序复制到所述主程序区,覆盖所述主程序区的原有的程序的步骤之后还包括:
清除所述标志位。
3.如权利要求1至2之一所述的方法,其特征在于,所述可编程控制器内部存储区所划分的存储区域还包括用于存储各中断向量地址、引导程序、及用户数据的一种或多种组合的多个存储区域。
4.一种通讯设备软件更新的装置,其特征在于,所述装置包括:更新命令接收单元、新程序存储单元以及新程序运行单元,
所述新程序存储单元还包括存储区分区模块,用于将待更新设备中的可编程控制器内部存储区分为多个存储区域,所述存储区域包括新程序暂存区、主程序区;
所述更新命令接收单元,用于以串口中断的方式接收代码更新命令;
所述新程序存储单元,用于将通过串口接收到的新程序存储至待更新设备可编程控制器的存储区;
所述新程序运行单元,用于重启待更新设备,运行新程序;
所述新程序存储单元还包括:
新程序暂存模块,用于擦除所述新程序暂存区,将接收到的新程序存储至所述新程序暂存区;
新程序校验模块,用于校验所述新程序;
标志位置位/清除模块,用于当校验所述新程序正确后,置位标志位;
标志位判断模块,用于判断所述标志位是否置位;
原程序执行模块,用于在所述标志位判断模块判断结果为否时,执行原程序;
程序覆盖模块,用于在所述标志位判断模块判断结果为是时,将所述新程序复制到所述主程序区,覆盖所述主程序区的原有的程序。
5.如权利要求4所述的装置,其特征在于,所述可编程控制器内部存储区所划分的存储区域还包括用于存储各中断向量地址、引导程序、及用户数据的一种或多种组合的多个存储区域。
CN201110076463.2A 2011-03-29 2011-03-29 一种通讯设备软件更新的方法及装置 Active CN102722408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110076463.2A CN102722408B (zh) 2011-03-29 2011-03-29 一种通讯设备软件更新的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110076463.2A CN102722408B (zh) 2011-03-29 2011-03-29 一种通讯设备软件更新的方法及装置

Publications (2)

Publication Number Publication Date
CN102722408A CN102722408A (zh) 2012-10-10
CN102722408B true CN102722408B (zh) 2015-06-03

Family

ID=46948187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110076463.2A Active CN102722408B (zh) 2011-03-29 2011-03-29 一种通讯设备软件更新的方法及装置

Country Status (1)

Country Link
CN (1) CN102722408B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808283A (zh) * 2014-12-31 2016-07-27 海洋王照明科技股份有限公司 一种适用于智能照明设备的程序更新方法及装置
CN105653313A (zh) * 2015-12-14 2016-06-08 重庆川仪自动化股份有限公司 一种程序更新方法及装置
CN106293859A (zh) * 2016-09-22 2017-01-04 珠海格力电器股份有限公司 基于控制器的软件升级或烧录方法、装置和系统
CN108270596B (zh) * 2016-12-30 2021-03-19 芯讯通无线科技(上海)有限公司 嵌入式无线通信模块的升级方法
CN107193581B (zh) * 2017-04-01 2020-09-04 深圳市广和通无线通信软件有限公司 固件升级方法、装置、存储介质和计算机设备
CN108304212A (zh) * 2018-01-05 2018-07-20 北京康拓科技有限公司 一种对平台进行监测和维护的方法
CN110209531A (zh) * 2019-05-23 2019-09-06 湖北三江航天险峰电子信息有限公司 一种基于rs422接口的远程arm在线升级系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858707A (zh) * 2006-03-28 2006-11-08 华为技术有限公司 一种移动终端软件自动加载的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3618632B2 (ja) * 2000-03-30 2005-02-09 株式会社デジタル 制御用端末装置、制御システム、および、そのプログラムが記録された記録媒体
US7100011B2 (en) * 2002-03-01 2006-08-29 Arris International, Inc. Method and system for reducing storage requirements for program code in a communication device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858707A (zh) * 2006-03-28 2006-11-08 华为技术有限公司 一种移动终端软件自动加载的方法

Also Published As

Publication number Publication date
CN102722408A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
CN102722408B (zh) 一种通讯设备软件更新的方法及装置
CN106569847B (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN105912356B (zh) 一种支持版本回退的光模块固件程序在线升级方法
CN102033790B (zh) 一种嵌入式系统bootrom的升级方法和装置
CN105354070B (zh) 一种通过i2c升级设备固件的方法
CN109189445B (zh) 一种物联网设备程序升级的方法
CN109117168A (zh) 无人机固件更新方法、装置、无人机及存储介质
CN104360877A (zh) 基于Bootloader自更新的ECU固件更新方法
CN103688268A (zh) 车辆单元和用来操作车辆单元的方法
CN102945173A (zh) 用户程序在线升级系统和升级方法
CN105278998A (zh) 一种单片机固件升级方法
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN105718281A (zh) 一种触摸屏固件升级方法及装置
CN110780909A (zh) 分布式嵌入式系统升级方法及装置
CN111176702A (zh) 固件升级方法、装置、计算机设备和存储介质
CN105468390B (zh) Boot在线升级装置及方法
CN112947977A (zh) 一种软件在线升级方法及系统
CN103092659A (zh) 脱离仿真器支持环境的dsp软件升级系统及其升级方法
CN109766140A (zh) 一种机顶盒启动异常的定位方法及装置
CN113760332A (zh) 软件升级方法和电子设备
CN112433769A (zh) 一种bmc启动方法、装置、计算机设备及存储介质
CN113778739B (zh) 一种一体机的系统修复方法、系统、设备及存储介质
CN105138308A (zh) 一种更新寄存器的方法及装置
CN110532014B (zh) 程序升级方法、装置、终端设备及计算机可读存储介质
EP2733612B1 (en) Information processing device, method, and program

Legal Events

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

Effective date of registration: 20211013

Address after: 518000 Mobi Building, No. 17, Science and Technology North Road, Xili Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: MOBI ANTENNA TECHNOLOGIES (SHENZHEN) Co.,Ltd.

Patentee after: MOBI TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: MOBI TELECOMMUNICATIONS TECHNOLOGIES (JI'AN) Co.,Ltd.

Patentee after: MOBI TECHNOLOGIES (XI'AN) Co.,Ltd.

Patentee after: Shenzhen Shengyu Wisdom Network Technology Co.,Ltd.

Patentee after: Xi'an Mobi Antenna Technology Engineering Co.,Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park North Long Hill Road Building mobi

Patentee before: MOBI ANTENNA TECHNOLOGIES (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right