CN112685053B - 单片机程序远程升级控制方法 - Google Patents
单片机程序远程升级控制方法 Download PDFInfo
- Publication number
- CN112685053B CN112685053B CN201910992902.0A CN201910992902A CN112685053B CN 112685053 B CN112685053 B CN 112685053B CN 201910992902 A CN201910992902 A CN 201910992902A CN 112685053 B CN112685053 B CN 112685053B
- Authority
- CN
- China
- Prior art keywords
- program
- upgraded
- singlechip
- version program
- version
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000011084 recovery Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及单片机技术领域,公开了一种单片机程序远程升级控制方法。该方法包括:单片机将待升级设备的初始版本程序读取并存储到外部存储器的第一存储空间中;所述单片机接收远程升级命令,并根据所述远程升级命令远程下载并存储待升级版本程序至所述外部存储器的第三存储空间中;所述单片机将待升级设备的当前版本程序读取并存储到所述外部存储器的第二存储空间中;擦除所述单片机中的当前版本程序,从所述第三存储空间中读取所述待升级版本程序烧录至所述单片机并运行;判断所述待升级版本程序是否启动成功;根据判断结果确定实际运行的程序。由此,能够有效的解决现有技术中新程序启动不起来,原有程序被擦除不启动的问题。
Description
技术领域
本发明涉及单片机技术领域,尤其涉及一种单片机程序远程升级控制方法。
背景技术
单片机程序远程升级可以实现遥测终端机应用程序的远程更新,然而远程升级后需要执行新的软件版本程序时,经常出现新的软件版本程序运行不起来的情况,若出现这种情况,整个遥测终端机将处于“失联”状态,而这种状态将一直持续下去,存在新程序启动不起来,原有程序被擦除不启动的问题,从而造成数据丢失、设备失联等严重后果。
发明内容
本发明提供了一种单片机程序远程升级控制方法,能够解决现有技术中新程序无法启动造成数据丢失、设备失联的技术问题。
本发明提供了一种单片机程序远程升级控制方法,其中,该方法包括:
单片机将待升级设备的初始版本程序读取并存储到外部存储器的第一存储空间中;
所述单片机接收远程升级命令,并根据所述远程升级命令远程下载并存储待升级版本程序至所述外部存储器的第三存储空间中;
所述单片机将待升级设备的当前版本程序读取并存储到所述外部存储器的第二存储空间中,当前版本程序为在所述初始版本程序的基础上已升级但不是待升级版本程序的程序;
擦除所述单片机中的当前版本程序,从所述第三存储空间中读取所述待升级版本程序烧录至所述单片机并运行;
判断所述待升级版本程序是否启动成功;
根据判断结果确定实际运行的程序。
优选地,该方法还包括:
所述单片机接收指示恢复初始版本程序的恢复命令;
根据所述恢复命令擦除所述单片机中的程序,从所述第一存储空间中读取所述初始版本程序烧录至所述单片机并运行。
优选地,判断所述待升级版本程序是否启动成功包括:
在接收到多次复位重启信号的情况下,判断所述待升级版本程序启动不成功;
在没有接收到复位重启信号的情况下,判断所述待升级版本程序启动成功。
优选地,根据判断结果确定实际运行的程序包括:
在判断结果为所述待升级版本程序启动不成功的情况下,擦除所述单片机中的待升级版本程序,从所述第二存储空间中读取待升级设备的当前版本程序烧录至所述单片机并运行;
在判断结果为所述待升级版本程序启动成功的情况下,运行待升级版本程序。
优选地,烧录操作包括将程序烧录至所述单片机的内部flash空间中,擦除操作包括将所述单片机的内部flash空间中的程序擦除。
通过上述技术方案,可以在外部存储器中分配3个存储空间存储不同版本的应用程序,根据需要读取对应版本应用程序并运行;通过自动判断待升级版本程序(新的版本程序)是否执行成功,可以决定读取哪个版本程序并运行(即,确定实际运行的应用程序)。由此,能够有效的解决现有技术中新程序启动不起来,原有程序被擦除不启动的问题。
附图说明
所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的一种单片机程序远程升级控制方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出了根据本发明实施例的一种单片机程序远程升级控制方法的流程图。
如图1所示,本发明实施例提供了一种单片机程序远程升级控制方法,其中,该方法包括:
S100,单片机将待升级设备的初始版本程序读取并存储到外部存储器的第一存储空间中;
其中,初始版本程序例如可以为设备(例如,遥测终端机)出厂时运行的应用程序(可以称为V1.0版本程序)。
S102,所述单片机接收远程升级命令,并根据所述远程升级命令远程下载并存储待升级版本程序(可以称为V3.0版本程序)至所述外部存储器的第三存储空间中;
S104,所述单片机将待升级设备的当前版本程序读取并存储到所述外部存储器的第二存储空间中,当前版本程序为在所述初始版本程序的基础上已升级但不是待升级版本程序的程序;
举例来讲,当前版本程序可以为设备安装之后有过程序更新且长期运行的应用程序(可以称为V2.0版本程序)。
S106,擦除所述单片机中的当前版本程序,从所述第三存储空间中读取所述待升级版本程序烧录至所述单片机并运行;
也就是,先擦除单片机中的程序,保证其中无应用程序存在。
S108,判断所述待升级版本程序是否启动成功;
S110,根据判断结果确定实际运行的程序。
通过上述技术方案,可以在外部存储器中分配3个存储空间存储不同版本的应用程序,根据需要读取对应版本应用程序并运行;通过自动判断待升级版本程序(新的版本程序)是否执行成功,可以决定读取哪个版本程序并运行(即,确定实际运行的应用程序)。由此,能够有效的解决现有技术中新程序启动不起来,原有程序被擦除不启动的问题。
根据本发明一种实施例,该方法还包括:
所述单片机接收指示恢复初始版本程序的恢复命令;
根据所述恢复命令擦除所述单片机中的程序,从所述第一存储空间中读取所述初始版本程序烧录至所述单片机并运行。
也就是,在设备需要恢复出厂状态时,可以自动提取第一存储空间中的V1.0版本程序运行,实现恢复出厂状态的目的。
其中,本发明不对单片机接收到恢复命令的时机进行限定。举例来讲,其在运行V2.0版本程序时接收到恢复命令时,可以对应执行上述的恢复执行V1.0版本程序的操作;其在运行V3.0版本程序时接收到恢复命令时,同样可以对应执行上述的恢复执行V1.0版本程序的操作。也就是,无论单片机何时接收到恢复命令,均可以执行恢复执行V1.0版本程序的操作(单片机中对应的之前烧录的程序被擦除,重新烧录V1.0版本程序)。
根据本发明一种实施例,判断所述待升级版本程序是否启动成功包括:
在接收到多次复位重启信号的情况下,判断所述待升级版本程序启动不成功;
在没有接收到复位重启信号的情况下,判断所述待升级版本程序启动成功。
由此,可以自动判断V3.0版本程序是否执行成功。
举例来讲,可以通过看门狗(程序)自动判断新的版本程序是否启动成功。具体地,启动看门狗,若没有复位重启,则判断新的版本程序启动成功;若出现复位重启并且为多次重启,则认为新的版本程序启动不成功。
根据本发明一种实施例,根据判断结果确定实际运行的程序包括:
在判断结果为所述待升级版本程序启动不成功的情况下,擦除所述单片机中的待升级版本程序,从所述第二存储空间中读取待升级设备的当前版本程序烧录至所述单片机并运行;
在判断结果为所述待升级版本程序启动成功的情况下,运行待升级版本程序。
也就是,在待升级版本程序启动成功的情况下,可以实现该待升级版本程序的运行;而在启动不成功的情况下,可以实现原有程序的还原。
根据本发明一种实施例,烧录操作包括将程序烧录至所述单片机的内部flash空间中,擦除操作包括将所述单片机的内部flash空间中的程序擦除。
其中,V1.0版本程序可以在设备出厂运行时烧录至单片机的内部flash空间中,而V2.0版本程序可以在设备现场使用时烧录至单片机的内部flash空间中。由此,可以在需要时从内部flash空间读取V1.0版本程序或V2.0版本程序并将其存储到外部存储器对应的空间中以便后续使用。
从上述实施例可以看出,本发明上述的方法能够保证新的软件版本程序运行不起来时智能还原旧的软件版本程序去运行,解决了现有技术中远程升级后运行不起来新的软件版本程序造成数据丢失、设备失联的技术问题。
在本发明的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。
为了便于描述,在这里可以使用空间相对术语,如“在……之上”、“在……上方”、“在……上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在……上方”可以包括“在……上方”和“在……下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本发明保护范围的限制。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种单片机程序远程升级控制方法,其特征在于,该方法包括:
单片机将待升级设备的初始版本程序读取并存储到外部存储器的第一存储空间中;
所述单片机接收远程升级命令,并根据所述远程升级命令远程下载并存储待升级版本程序至所述外部存储器的第三存储空间中;
所述单片机将待升级设备的当前版本程序读取并存储到所述外部存储器的第二存储空间中,当前版本程序为在所述初始版本程序的基础上已升级但不是待升级版本程序的程序;
擦除所述单片机中的当前版本程序,从所述第三存储空间中读取所述待升级版本程序烧录至所述单片机并运行;
判断所述待升级版本程序是否启动成功;
根据判断结果确定实际运行的程序;
所述单片机接收指示恢复初始版本程序的恢复命令;
根据所述恢复命令擦除所述单片机中的程序,从所述第一存储空间中读取所述初始版本程序烧录至所述单片机并运行;
判断所述待升级版本程序是否启动成功包括:
在接收到多次复位重启信号的情况下,判断所述待升级版本程序启动不成功;
在没有接收到复位重启信号的情况下,判断所述待升级版本程序启动成功;
根据判断结果确定实际运行的程序包括:
在判断结果为所述待升级版本程序启动不成功的情况下,擦除所述单片机中的待升级版本程序,从所述第二存储空间中读取待升级设备的当前版本程序烧录至所述单片机并运行;
在判断结果为所述待升级版本程序启动成功的情况下,运行待升级版本程序;
烧录操作包括将程序烧录至所述单片机的内部flash空间中,擦除操作包括将所述单片机的内部flash空间中的程序擦除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910992902.0A CN112685053B (zh) | 2019-10-18 | 2019-10-18 | 单片机程序远程升级控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910992902.0A CN112685053B (zh) | 2019-10-18 | 2019-10-18 | 单片机程序远程升级控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685053A CN112685053A (zh) | 2021-04-20 |
CN112685053B true CN112685053B (zh) | 2024-05-14 |
Family
ID=75444949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910992902.0A Active CN112685053B (zh) | 2019-10-18 | 2019-10-18 | 单片机程序远程升级控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685053B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541042B (zh) * | 2023-05-25 | 2024-01-16 | 深圳市航顺芯片技术研发有限公司 | 一种固件升级方法、控制芯片和智能家电 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615404B1 (en) * | 1999-05-13 | 2003-09-02 | Tadiran Telecom Business Systems Ltd. | Method and apparatus for downloading software into an embedded-system |
CN1933416A (zh) * | 2005-09-12 | 2007-03-21 | 中兴通讯股份有限公司 | 一种具有自恢复功能的远程在线升级方法 |
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控系统中设备自升级方法 |
WO2016078263A1 (zh) * | 2014-11-18 | 2016-05-26 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及系统、存储介质 |
CN106484450A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN107179909A (zh) * | 2017-05-16 | 2017-09-19 | 广东美的暖通设备有限公司 | 软件升级方法、装置及计算机可读存储介质 |
CN110147246A (zh) * | 2019-05-10 | 2019-08-20 | 上海擎感智能科技有限公司 | 空间下载技术的版本检查方法及装置、存储介质和终端 |
-
2019
- 2019-10-18 CN CN201910992902.0A patent/CN112685053B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615404B1 (en) * | 1999-05-13 | 2003-09-02 | Tadiran Telecom Business Systems Ltd. | Method and apparatus for downloading software into an embedded-system |
CN1933416A (zh) * | 2005-09-12 | 2007-03-21 | 中兴通讯股份有限公司 | 一种具有自恢复功能的远程在线升级方法 |
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控系统中设备自升级方法 |
WO2016078263A1 (zh) * | 2014-11-18 | 2016-05-26 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及系统、存储介质 |
CN106484450A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN107179909A (zh) * | 2017-05-16 | 2017-09-19 | 广东美的暖通设备有限公司 | 软件升级方法、装置及计算机可读存储介质 |
CN110147246A (zh) * | 2019-05-10 | 2019-08-20 | 上海擎感智能科技有限公司 | 空间下载技术的版本检查方法及装置、存储介质和终端 |
Non-Patent Citations (2)
Title |
---|
嵌入式小基站版本升级与回退机制的设计与实现;周江平,陈令,周世军;移动通信;第41卷(第19期);63 * |
核电厂电气柜的PIC单片机远程程序升级;李永科;;设备管理与维修(05);31-33 * |
Also Published As
Publication number | Publication date |
---|---|
CN112685053A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6390644B2 (ja) | プログラム更新システム、プログラム更新方法及びコンピュータプログラム | |
EP1770512A2 (en) | Method and system for updating software | |
CN101557583B (zh) | 直放站设备嵌入式软件的远程升级与版本切换方法 | |
CN102033790B (zh) | 一种嵌入式系统bootrom的升级方法和装置 | |
CN101329632B (zh) | 一种使用boot启动cpu的方法与装置 | |
CN111142911B (zh) | 具有异常恢复功能的嵌入式系统及其升级方法 | |
CN106610840A (zh) | 一种无线固件升级方法及系统 | |
KR20040008007A (ko) | 무선단말기 펌웨어 업그레이드 방법 | |
CN103544031B (zh) | 多分区外存储设备的Android系统升级方法和系统 | |
CN102662798A (zh) | 一种android系统恢复数据的方法及终端 | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
WO2010025669A1 (en) | Updating firmware with multiple processors | |
CN104007992A (zh) | 程序更新、启动方法及其装置 | |
CN104657161A (zh) | 移动终端固件更新方法及装置 | |
CN102609290B (zh) | 电子产品的软件升级方法 | |
CN105930184A (zh) | 系统升级方法及装置 | |
CN102890638A (zh) | 一种机顶盒升级方法 | |
CN104063256A (zh) | 基于最小操作系统的分区及固件升级方法 | |
CN102938817A (zh) | 一种手机恢复模式下存储挂载的实现方法和装置 | |
CN112685053B (zh) | 单片机程序远程升级控制方法 | |
CN106775874B (zh) | 终端设备的系统升级方法 | |
CN109992280A (zh) | 一种嵌入式软件升级的方法、终端装置及存储装置 | |
CN112416411A (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
CN104991805A (zh) | 智能设备及其系统灾备控制方法 | |
CN110609692A (zh) | 一种数据采集模块及其固件升级方法和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |