CN105511929A - 一种设备远程无线升级方法 - Google Patents
一种设备远程无线升级方法 Download PDFInfo
- Publication number
- CN105511929A CN105511929A CN201511013704.3A CN201511013704A CN105511929A CN 105511929 A CN105511929 A CN 105511929A CN 201511013704 A CN201511013704 A CN 201511013704A CN 105511929 A CN105511929 A CN 105511929A
- Authority
- CN
- China
- Prior art keywords
- program
- rompaq
- district
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种设备远程无线升级方法,运行bootloader区的程序;判断是否有升级程序数据,若有,更新升级程序区的程序;若升级成功,运行升级程序区的程序;若没有升级程序数据或升级失败,则运行备份程序区的程序。本发明处理器包括bootloader区、升级程序区和备份程序区;处理器可以分别运行bootloader区、升级程序区和备份程序区的程序,设备启动时,首先运行bootloader区的程序,可在升级成功或失败的情况下运行在备份程序区,以保证设备在升级失败的情况下仍然能够正常运行。
Description
技术领域
本发明涉及一种设备远程升级的技术领域,特别是一种设备远程无线升级方法。
背景技术
随着信息技术的发展,远程无人值守设备广泛应用于各个领域中。由于技术的发展和更新,无人职守设备需要进行定期升级,但是,现场升级工作强度大、难度高,而远程自动升级则很好的解决这个问题。
现有设备远程无线升级方法为:处理器包括两个存储区:bootloader区和APP区,处理器上电后,首先运行在bootloader区,满足升级的条件时,则对APP区的程序进行升级,升级完成后,处理器重新启动;如果不满足升级的条件时,程序指针直接跳转到APP区,开始执行存放在APP区的程序。但是此种升级方法一旦程序升级失败,原APP区中的程序已经被覆盖,导致设备无法正常运行,需要人工去现场处理。
发明内容
本发明的目的在于提供一种设备远程无线升级方法,解决了现有升级方法存在程序升级失败会直接导致设备无法正常运行的技术问题。
为达到解决上述技术目的,本发明采用如下技术方案予以实现:
一种设备远程无线升级方法,所述方法包括:运行bootloader区的程序;判断是否有升级程序数据,若有,更新升级程序区的程序;若升级成功,运行升级程序区的程序;若没有升级程序数据或升级失败,则运行备份程序区的程序。
如上所述的设备远程无线升级方法,所述处理器设置有更新程序标志位,通过更新程序标志位判断是否有更新程序。
如上所述的设备远程无线升级方法,所述处理器设置有升级成功标志位,通过升级成功标志位判断是否升级成功。
如上所述的设备远程无线升级方法,包括以下步骤:
B1、运行bootloader区的程序,查询更新标志位;
B2、判断更新程序标志位是否为置位,若是,进入步骤B3,否则,进入步骤B5;
B3、拷贝存储器中的升级程序数据至升级程序区,拷贝完毕后将更新程序标志位复位,升级成功标志位复位,并跳转至升级程序区进行升级;
B4、判断是否升级成功,若是,进入步骤B6,否则,进入步骤B1;
B5、判断升级成功标志位是否为置位;若是,进入步骤B6,否则,进入步骤B7;
B6、运行升级程序区的程序,将升级成功标志位置位;
B7、运行备份程序区的程序。
如上所述的设备远程无线升级方法,处理器在运行升级程序区或备份程序区的程序时,接收到升级指令后,控制无线模块开始接收升级程序数据,并将接收到的升级程序数据存储至存储器;接收完所有升级程序数据后,重启设备运行bootloader区的程序。
如上所述的设备远程无线升级方法,所述运行升级程序区的程序之后还包括拷贝存储器中的升级程序数据至备份程序区的步骤。
如上所述的设备远程无线升级方法,接收完所有升级程序数据后,将更新程序标志位置位。
如上所述的设备远程无线升级方法,所述升级程序数据包括若干数据分包,接收升级程序数据的过程为依次接收数据分包的过程。
如上所述的设备远程无线升级方法,所述数据分包包括包头、包尾和校验,所述接收升级程序数据的过程为:设备接收发送端发送的当前数据分包,接收之后判断校验是否正确,若正确,则保存当前数据分包并发送确认信息至发送端,发送端继续发送下一个数据分包,否则,不做处理等待发送端重新发送当前数据分包。
如上所述的设备远程无线升级方法,所述发送端在设定时间内未接收到确认信息则重新发送当前数据包至设备。
本发明的有益效果为:本发明处理器包括bootloader区、升级程序区和备份程序区;处理器可以分别运行bootloader区、升级程序区和备份程序区的程序,设备启动时,首先运行bootloader区的程序,判断是否有升级程序数据,若有,对升级程序区的程序进行升级;若没有或升级程序区的程序升级失败时,运行备份程序区的程序,以保证设备在升级失败的情况下仍然能够正常运行。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1是本发明具体实施例的流程图。
图2是本发明具体实施例的流程图。
具体实施方式
下面结合附图说明本发明的具体实施方式:
本实施例为了使处理器可以响应远程升级,在处理器里预设bootloader区,bootloader区内存储有bootloader程序。bootLoader程序是一段引导程序,它驻留在处理器中,当处理器上电/复位后在用户程序之前先运行。它运行后先判断当前是否需要升级程序。
如图1所示,处理器内部分为3个区。分别为bootloader区,备份程序区和升级程序区。bootloader区内存储有bootloader程序;备份程序区内存储有备份程序,升级程序区内存储有升级程序。如图1所示,设备远程无线升级方法为:
S1、运行bootloader区的程序;
S2、判断是否有更新程序,若有进入步骤S3,否则,进入步骤S6;
S3、更新升级程序区的程序;
S4、判断升级是否成功,若是,进入步骤S5,否则,进入步骤S6;
S5、运行升级程序区的程序;
S6、运行备份程序区的程序。
处理器在运行升级程序区或备份程序区的程序时,接收到升级指令后,控制无线模块开始接收升级程序数据,并将接收到的升级程序数据存储至存储器;接收完所有升级程序数据后,重启设备运行bootloader区的程序,即进入步骤S1。
优选的,运行升级程序区的程序之后还包括拷贝存储器中的升级程序数据至备份程序区的步骤。
其中,由于升级程序数据文件通常都较大,需要分包处理,即升级程序数据包括若干数据分包,接收升级程序数据的过程为依次接收数据分包的过程。
数据分包包括包头、包尾和校验,接收升级程序数据的过程为:设备接收发送端发送的当前数据分包,接收当前数据分包之后先校验分析判断校验是否正确,若正确,则保存当前数据分包并发送确认信息至发送端,发送端继续发送下一个数据分包,否则,不做处理等待发送端重新发送当前数据分包。若发送端在设定时间内未接收到确认信息则重新发送当前数据包至设备。通过添加数据校验和一问一答的通讯方式来解决无线通讯因信号等问题导致升级程序数据接收失败的情况。
具体的,处理器设置有更新程序标志位和升级成功标志位,通过更新程序标志位判断是否有更新程序,通过升级成功标志位判断是否升级成功。
B1、运行bootloader区的程序,查询更新标志位。
B2、判断更新标志位是否为置位(1),若是,进入步骤B3,否则,进入步骤B5。
B3、拷贝存储器中的升级程序数据至升级程序区,拷贝完毕后将更新标志位复位(0),升级成功标志位复位(0),并跳转至升级程序区进行升级。
B4、判断是否升级成功,若是,进入步骤B6,否则,进入步骤B1。
B5、判断升级成功标志位是否为置位(1);若是,进入步骤B6,否则,进入步骤B7。
B6、运行升级程序区的程序,将升级成功标志位置位(1)。
B7、运行备份程序区的程序。
B8、处理器通过无线模块接收升级指令。
B9、开始接收升级程序数据分包;
B10、校验数据分包是否正确,若是,进入步骤B11,否则,进入步骤B14。
B11、保存数据分包,发送确认信息。
B12、判断是否为最后一包,若是,进入B13,否则进入B8。
B13、将更新标志位置位(1),进入步骤B1。
B14、不做处理等待发送端重新发送当前数据分包,进入步骤B8。
本实施例在bootloader区检测更新标志位,如果等于0的话,就进入备份程序区。所以在运行新的升级程序后会设置升级成功标志位等于1,这样在重启运行的时候会选择进入升级程序区,假如升级程序失败,升级成功标志位还会是0,这样在重启后会进入到备份程序区,保证***能够正常工作,同时还可以按照以上流程重新接收升级程序数据包。
本实施例的设备可以是建筑用能采集网关。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种设备远程无线升级方法,其特征在于,所述方法包括:运行bootloader区的程序;判断是否有升级程序数据,若有,更新升级程序区的程序;若升级成功,运行升级程序区的程序;若没有升级程序数据或升级失败,则运行备份程序区的程序。
2.根据权利要求1所述的设备远程无线升级方法,其特征在于,所述处理器设置有更新程序标志位,通过更新程序标志位判断是否有更新程序。
3.根据权利要求1所述的设备远程无线升级方法,其特征在于,所述处理器设置有升级成功标志位,通过升级成功标志位判断是否升级成功。
4.根据权利要求1所述的设备远程无线升级方法,其特征在于,包括以下步骤:
B1、运行bootloader区的程序,查询更新标志位;
B2、判断更新程序标志位是否为置位,若是,进入步骤B3,否则,进入步骤B5;
B3、拷贝存储器中的升级程序数据至升级程序区,拷贝完毕后将更新程序标志位复位,升级成功标志位复位,并跳转至升级程序区进行升级;
B4、判断是否升级成功,若是,进入步骤B6,否则,进入步骤B1;
B5、判断升级成功标志位是否为置位;若是,进入步骤B6,否则,进入步骤B7;
B6、运行升级程序区的程序,将升级成功标志位置位;
B7、运行备份程序区的程序。
5.根据权利要求1-4任意一项所述的设备远程无线升级方法,其特征在于,处理器在运行升级程序区或备份程序区的程序时,接收到升级指令后,控制无线模块开始接收升级程序数据,并将接收到的升级程序数据存储至存储器;接收完所有升级程序数据后,重启设备运行bootloader区的程序。
6.根据权利要求1-4任意一项所述的设备远程无线升级方法,其特征在于,所述运行升级程序区的程序之后还包括拷贝存储器中的升级程序数据至备份程序区的步骤。
7.根据权利要求5所述的设备远程无线升级方法,其特征在于,接收完所有升级程序数据后,将更新程序标志位置位。
8.根据权利要求5所述的设备远程无线升级方法,其特征在于,所述升级程序数据包括若干数据分包,接收升级程序数据的过程为依次接收数据分包的过程。
9.根据权利要求8所述的设备远程无线升级方法,其特征在于,所述数据分包包括包头、包尾和校验,所述接收升级程序数据的过程为:设备接收发送端发送的当前数据分包,接收之后判断校验是否正确,若正确,则保存当前数据分包并发送确认信息至发送端,发送端继续发送下一个数据分包,否则,不做处理等待发送端重新发送当前数据分包。
10.根据权利要求9所述的设备远程无线升级方法,其特征在于,所述发送端在设定时间内未接收到确认信息则重新发送当前数据包至设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511013704.3A CN105511929A (zh) | 2015-12-31 | 2015-12-31 | 一种设备远程无线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511013704.3A CN105511929A (zh) | 2015-12-31 | 2015-12-31 | 一种设备远程无线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105511929A true CN105511929A (zh) | 2016-04-20 |
Family
ID=55719936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511013704.3A Pending CN105511929A (zh) | 2015-12-31 | 2015-12-31 | 一种设备远程无线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105511929A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955783A (zh) * | 2016-05-09 | 2016-09-21 | 浙江大学 | 一种基于fpga控制的远程fpga逻辑代码的下载方法 |
CN105975322A (zh) * | 2016-06-15 | 2016-09-28 | 珠海格力电器股份有限公司 | 一种用于程序更新的装置、方法及微控制器 |
CN106020861A (zh) * | 2016-05-05 | 2016-10-12 | 惠州Tcl移动通信有限公司 | 一种智能手表的fota升级方法及*** |
CN106201439A (zh) * | 2016-09-09 | 2016-12-07 | 深圳怡化电脑股份有限公司 | 一种异常处理的方法及装置 |
CN106227572A (zh) * | 2016-08-30 | 2016-12-14 | 深圳市蓝海华腾技术股份有限公司 | 一种变频器控制***程序升级方法 |
CN106445592A (zh) * | 2016-09-22 | 2017-02-22 | 杭州电子科技大学 | 一种基于wifi与can总线远程多机程序升级方法 |
CN107153559A (zh) * | 2017-05-19 | 2017-09-12 | 北京有初科技有限公司 | 一种电子设备的应用程序升级方法 |
CN108459870A (zh) * | 2018-02-07 | 2018-08-28 | 重庆通畅无忧信息技术有限公司 | 一种加气机升级方法及装置 |
CN109828766A (zh) * | 2017-11-23 | 2019-05-31 | 阿特斯阳光电力集团有限公司 | 光伏设备升级***及方法 |
CN111459508A (zh) * | 2020-03-27 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种BootLoader自升级的方法及*** |
CN111641527A (zh) * | 2020-05-28 | 2020-09-08 | 四川爱创科技有限公司 | 一种嵌入式芯片软件远程升级备份方法 |
CN111984298A (zh) * | 2020-07-17 | 2020-11-24 | 歌尔光学科技有限公司 | 一种闪存中的程序升级区、程序升级方法及*** |
WO2021115477A1 (zh) * | 2019-12-13 | 2021-06-17 | 中兴通讯股份有限公司 | 程序升级方法、装置、电子设备及存储介质 |
CN114268614A (zh) * | 2020-09-15 | 2022-04-01 | 松下家电(中国)有限公司 | 一种设备固件升级方法、装置及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075564A (zh) * | 2010-12-23 | 2011-05-25 | 李华嵩 | 一种远程软件升级技术方法 |
CN103577214A (zh) * | 2012-08-09 | 2014-02-12 | 罗森伯格(上海)通信技术有限公司 | 应用程序更新方法和装置 |
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信***(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
US20140351569A1 (en) * | 2010-11-08 | 2014-11-27 | Gemalto Sa | Software updating process for an embedded device |
-
2015
- 2015-12-31 CN CN201511013704.3A patent/CN105511929A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351569A1 (en) * | 2010-11-08 | 2014-11-27 | Gemalto Sa | Software updating process for an embedded device |
CN102075564A (zh) * | 2010-12-23 | 2011-05-25 | 李华嵩 | 一种远程软件升级技术方法 |
CN103577214A (zh) * | 2012-08-09 | 2014-02-12 | 罗森伯格(上海)通信技术有限公司 | 应用程序更新方法和装置 |
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信***(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020861A (zh) * | 2016-05-05 | 2016-10-12 | 惠州Tcl移动通信有限公司 | 一种智能手表的fota升级方法及*** |
CN106020861B (zh) * | 2016-05-05 | 2019-09-24 | 惠州Tcl移动通信有限公司 | 一种智能手表的fota升级方法及*** |
CN105955783A (zh) * | 2016-05-09 | 2016-09-21 | 浙江大学 | 一种基于fpga控制的远程fpga逻辑代码的下载方法 |
CN105975322A (zh) * | 2016-06-15 | 2016-09-28 | 珠海格力电器股份有限公司 | 一种用于程序更新的装置、方法及微控制器 |
CN106227572A (zh) * | 2016-08-30 | 2016-12-14 | 深圳市蓝海华腾技术股份有限公司 | 一种变频器控制***程序升级方法 |
CN106201439B (zh) * | 2016-09-09 | 2019-09-20 | 深圳怡化电脑股份有限公司 | 一种异常处理的方法及装置 |
CN106201439A (zh) * | 2016-09-09 | 2016-12-07 | 深圳怡化电脑股份有限公司 | 一种异常处理的方法及装置 |
CN106445592A (zh) * | 2016-09-22 | 2017-02-22 | 杭州电子科技大学 | 一种基于wifi与can总线远程多机程序升级方法 |
CN107153559A (zh) * | 2017-05-19 | 2017-09-12 | 北京有初科技有限公司 | 一种电子设备的应用程序升级方法 |
CN109828766A (zh) * | 2017-11-23 | 2019-05-31 | 阿特斯阳光电力集团有限公司 | 光伏设备升级***及方法 |
CN108459870A (zh) * | 2018-02-07 | 2018-08-28 | 重庆通畅无忧信息技术有限公司 | 一种加气机升级方法及装置 |
WO2021115477A1 (zh) * | 2019-12-13 | 2021-06-17 | 中兴通讯股份有限公司 | 程序升级方法、装置、电子设备及存储介质 |
CN111459508A (zh) * | 2020-03-27 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种BootLoader自升级的方法及*** |
CN111459508B (zh) * | 2020-03-27 | 2023-12-01 | 北京经纬恒润科技股份有限公司 | 一种BootLoader自升级的方法及*** |
CN111641527A (zh) * | 2020-05-28 | 2020-09-08 | 四川爱创科技有限公司 | 一种嵌入式芯片软件远程升级备份方法 |
CN111984298A (zh) * | 2020-07-17 | 2020-11-24 | 歌尔光学科技有限公司 | 一种闪存中的程序升级区、程序升级方法及*** |
CN114268614A (zh) * | 2020-09-15 | 2022-04-01 | 松下家电(中国)有限公司 | 一种设备固件升级方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511929A (zh) | 一种设备远程无线升级方法 | |
CN106569847B (zh) | 一种用于车载***基于移动网络实现iap远程升级的方法 | |
CN108011935B (zh) | 一种nb-iot设备的程序升级方法、服务器及nb-iot设备 | |
CN104102518B (zh) | 一种双cpu***及其程序升级方法 | |
CN106250192B (zh) | 上位机的软件升级方法及*** | |
US7805637B2 (en) | Network equipment and a method for monitoring the start up of such equipment | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及*** | |
CN110621011A (zh) | 一种基于蓝牙设备端的ota固件升级方法及*** | |
CN104899065A (zh) | 一种可批量软件在线恢复与软件在线升级的方法和*** | |
CN105278998A (zh) | 一种单片机固件升级方法 | |
CN105354070A (zh) | 一种通过i2c升级设备固件的方法 | |
CN106874054B (zh) | 一种直放站内模块程序在线升级方法与*** | |
CN104021014B (zh) | 一种基于双cpu***的固件升级方法 | |
CN104991800A (zh) | 一种未联网设备固件升级方法、装置和*** | |
CN104102519A (zh) | 机架式服务器***的固件更新方法及其装置 | |
US20170068585A1 (en) | Method and Apparatus for Recovering System Software of Intelligent Terminal | |
CN101593119A (zh) | 一种独占闪存组合设备空中固件升级方法及装置 | |
CN105511903A (zh) | 一种音频设备的升级方法和装置 | |
CN112738755A (zh) | 电力物联网领域无线通信模组与传感器交互的方法 | |
CN112822654A (zh) | 一种基于ftp远程固件升级功能的遥测终端机及其控制方法 | |
CN112333278A (zh) | 智能设备升级方法、***及智能设备 | |
CN111538515A (zh) | 一种电能表程序的升级方法、装置和设备 | |
CN102622254B (zh) | 电视机宕机处理方法和*** | |
CN113535202A (zh) | 充电桩的升级方法、升级装置以及充电桩*** | |
CN111309388B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160420 |