CN110851160A - 一种嵌入式装置及其程序升级方法 - Google Patents
一种嵌入式装置及其程序升级方法 Download PDFInfo
- Publication number
- CN110851160A CN110851160A CN201911071610.XA CN201911071610A CN110851160A CN 110851160 A CN110851160 A CN 110851160A CN 201911071610 A CN201911071610 A CN 201911071610A CN 110851160 A CN110851160 A CN 110851160A
- Authority
- CN
- China
- Prior art keywords
- upgraded
- data
- processor
- embedded device
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 30
- 238000012795 verification Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
Images
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/1438—Restarting or rejuvenating
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)
- Stored Programmes (AREA)
Abstract
本发明涉及一种嵌入式装置及其程序升级方法,属于嵌入式装置开发领域,方法包括升级控制器实时检测嵌入式装置中处理器的工作状态,当检测到工作状态为死机状态时,接收待升级数据,将待升级数据写入存储器;处理器读取存储器中的待升级数据,根据待升级数据进行程序升级。本发明的程序升级方法能够在嵌入式装置的处理器不死机时进行正常的程序升级,在处理器死机时,通过升级控制器接管处理器对存储器的写控制权,接收待升级数据,并利用对存储器的写控制权,将待升级数据写入存储器,然后控制处理器重启,待处理器重启后根据存储器中的待升级数据完成程序升级。
Description
技术领域
本申请涉及一种嵌入式装置及其程序升级方法,属于嵌入式装置开发领域。
背景技术
嵌入式装置运行环境复杂,电磁干扰严酷,在一定情况下会引起潜在的软件BUG,导致装置死机。此时需要升级程序,但是在有些情况下,装置运行在一个不便于工程师直接进行操作的环境,为了升级程序,需要花费很大的财力和物力。
输电线路监测系统包含电池箱、电源通信箱以及一些监测装置(为嵌入式装置),安装在高压线路塔杆上。当装置运行出现问题死机后,由于整个系统都固定在塔杆上,无法在地面对装置进行任何操作,此时如需要进行升级程序,需要专业的运维人员爬上高压塔杆把装置拆下交由地面上的工程师进行程序升级,然后再复原运行环境,由于系统安装在距地面40-80m的塔杆上,进行一次升级需要投入大量的人力花费数小时,且需要支付运维公司上万元的爬杆费用。另外由于维护时间长,造成客户体验不好,潜在的会造成客户流失。
目前现行的升级方法很多,例如,申请号2018102371023的中国发明专利公开了一种路灯控制系统程序的远程升级方法,该方法通过路灯智能控制云端平台和ZigBee通信技术进行远程程序升级的方法,侧重点在于1对N进行升级,且需要被升级设备在运行状态下进行,适用于被升级设备相对距离较近的情况下,不适用于高压输电线路状态监测系统;并且,升级过程中需保证被升级设备不死机,则程序升级失败,一旦被升级设备死机,需要被升级设备连上仿真器才能进行程序升级。
又如,申请号2018109767021的中国发明专利公开的一种基于4G网络无线传感器自动远程升级的系统及方法,该方法侧重于需升级的目标设备通过蓝牙Mesh、wifi、ZigBee方式中的一种进行通信组网,所组网的目标设备通过算法选取4G信号最强或较强的设备当作自组网的主控设备,然后主控设备定时向服务端上送升级心跳包,主控设备监测判断是否需要发送升级包,如果需要升级,服务端向主控设备发送升级包,自组网的目标设备根据自己是否需要升级于组网的主控设备进行升级数据包的交互,该方法主要解决节省4G流量和4G信号强度不均匀的问题,并且要完成升级,组网的目标设备需运行正常。同样,升级过程中需保证被升级设备不死机,一旦被升级设备死机,则程序升级失败,需要被升级设备连上仿真器才能进行程序升级。
发明内容
本申请的目的在于提供一种嵌入式装置及其程序升级方法,用于解决现有被升级设备死机时的程序升级失败问题。
本申请的嵌入式装置的程序升级方法采用如下技术方案:
升级控制器实时检测嵌入式装置中处理器的工作状态,当检测到该处理器的工作状态为死机状态时,接收待升级数据,将待升级数据写入存储器;
升级控制器控制所述处理器重新启动;
所述处理器读取所述存储器中的待升级数据,根据待升级数据进行程序升级。
上述技术方案的有益效果是:
本发明的程序升级方法能够在嵌入式装置的处理器不死机时进行正常的程序升级,在处理器死机时,通过升级控制器接管处理器对存储器的写控制权,接收待升级数据,并利用对存储器的写控制权,将待升级数据写入存储器,然后控制处理器重启,待处理器重启后根据存储器中的待升级数据完成程序升级。并且,当嵌入式装置用在输电线路监测系统中时,还能解决装置死机情况下进行升级程序导致的成本高和周期长的问题,达到降低程序升级成本和维护时间的效果。
为了确保待升级数据的正确性,进一步,所述升级控制器接收所述待升级数据后,还用于对所述待升级数据进行校验,当所述待升级数据校验通过后,将待升级数据写入所述存储器。
可选地,所述升级控制器以RS485通信、SPI通信或I2C通信的方式获取所述处理器的工作状态。
为了保证通信可靠性,优选地,所述升级控制器通过ZigBee通信方式接收所述待升级数据。
本申请的嵌入式装置采用如下技术方案:
包括处理器、存储器和升级控制器,其中,所述处理器用于在重启时读取存储器的待升级数据,并根据待升级数据进行程序升级,升级控制器用于执行计算机程序,以实现如下步骤:
实时检测处理器的工作状态;
当检测到所述处理器的工作状态为死机状态时,升级控制器接收待升级数据,将待升级数据写入所述存储器;
控制所述处理器重新启动。
上述技术方案的嵌入式装置是:
本发明的嵌入式装置能够在处理器不死机时进行正常的程序升级,在处理器死机时,通过升级控制器接管处理器对存储器的写控制权,接收待升级数据,并利用对存储器的写控制权,将待升级数据写入存储器,然后控制处理器重启,待处理器重启后根据存储器中的待升级数据完成程序升级。并且,当嵌入式装置用在输电线路监测系统中时,还能解决装置死机情况下升级程序的成本高和周期长的问题,达到降低程序升级成本和维护时间的效果。
为了确保待升级数据的正确性,进一步,所述升级控制器接收所述待升级数据后,还用于对所述待升级数据进行校验,当所述待升级数据校验通过后,将待升级数据写入所述存储器。
可选地,所述升级控制器以RS485通信、SPI通信或I2C通信的方式获取所述处理器的工作状态。
为了保证通信可靠性,优选地,所述升级控制器通过ZigBee通信方式接收所述待升级数据。
附图说明
图1是本发明的一种嵌入式装置示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请,即所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以下结合实施例对本申请的特征和性能作进一步的详细描述。
装置实施例:
如图1所示的嵌入式装置,包括处理器(主CPU)、存储器(Flash)和升级控制器,处理器与升级控制器之间通过串口进行连接,处理器通过SPI总线连接存储器,升级控制器通过SPI总线连接存储器。其中,处理器用于在重启时读取存储器的待升级数据,并根据待升级数据进行程序升级,升级控制器用于执行计算机程序,以实现如下步骤:
1)以RS485通信的方式,实时检测处理器的工作状态;当升级控制器通过串口向主CPU定时发送询问命令而得不到回复时认为主CPU处于死机状态;
2)检测到处理器的工作状态为死机状态时,升级控制器通过ZigBee通信的方式接收待升级数据,并对待升级数据进行校验,当待升级数据校验通过后,将待升级数据写入存储器;
3)给重启模块发送用于控制器处理器重新启动的重启信号。
然后,由重启模块重新启动处理器。作为其他实施方式,也可以由升级控制器直接控制处理器重新启动。本实施例中,重启模块是个继电器,受升级控制器控制,在程序升级完成后,升级控制器通过GPIO接口发送重启信号,控制继电器动作,使整装置断电,重启处理器。
本发明的嵌入式装置尤其适用于安装在不方便现场调试的情况下,例如用在输电线路监测系统中,一旦装置死机后,可以通过升级控制器直接把接收的升级程序(即待升级数据)直接写入主CPU的片外SPIflash(即存储器)来实现程序升级,避免了现有技术中需要投入大量的人力、财力和时间才能完成升级程序的问题。
本实施例中,在判定主CPU是否处于死机状态时,升级控制器除了通过串口发送询问命令,还可通过SPI或者I2C总线等向主CPU定时发送询问命令,对应的通信方式为SPI通信或I2C通信,以检测处理器的工作状态。
本实施例中,采用继电器重启处理器,作为其他实施方式,也可以不用继电器,升级控制器的GPIO接口直接连接到主CPU的复位管脚,输出制定的电平,以达到复位的目的。
方法实施例:
本实施例提出一种嵌入式装置的程序升级方法,其中,嵌入式装置包括处理器、存储器和升级控制器,基于该嵌入式装置,具体的程序升级方法如下:
S1.升级控制器实时监视处理器的运行状态(即工作状态),一旦检测到处理器死机,升级控制器获取SPIflash(存储器)的写控制权;
S2.升级控制器通过ZigBee通信的方式接收升级服务器发送的升级数据包(内含有待升级数据),并对升级数据包进行MD5校验(通过计算CRC校验码);
S3.校验成功后,升级控制器将校验过的升级数据包写入SPIflash;
S4.升级控制器发送重启信号,重启处理器,处理器从SPIflash读取升级数据包中的升级程序,完成装置的程序升级和加载。
本实施例中,为确保升级控制器的运行稳定,升级控制器与升级控制器可以是RS485通信、SPI通信或I2C通信,使升级控制器在电路上与其它电路进行电气隔离,确保嵌入式装置受到电磁干扰时对升级控制器产生的干扰最小。
本发明的程序升级方法能够在嵌入式装置的处理器不死机时进行正常的程序升级,在处理器死机时,通过升级控制器接管处理器对存储器的写控制权,接收待升级数据,并利用对存储器的写控制权,将待升级数据写入存储器,然后控制处理器重启,待处理器重启后根据存储器中的待升级数据完成程序升级。并且,当嵌入式装置用在输电线路监测系统中时,还能解决装置死机情况下进行升级程序导致的成本高和周期长的问题,达到降低程序升级成本和维护时间的效果。
本申请的专利保护范围以权利要求书为准,凡是运用本申请的说明书及附图内容所作的等同结构变化,同理均应包含在本申请的保护范围内。需要说明的是,本发明中的左、右、上和下等方位用语,仅是互为相对概念或是以产品的正常使用状态为参考的,而不应该认为是具有限制性的。
Claims (8)
1.一种嵌入式装置的程序升级方法,其特征在于,包括以下步骤:
升级控制器实时检测嵌入式装置中处理器的工作状态,当检测到该处理器的工作状态为死机状态时,接收待升级数据,将待升级数据写入存储器;
升级控制器控制所述处理器重新启动;
所述处理器读取所述存储器中的待升级数据,根据待升级数据进行程序升级。
2.根据权利要求1所述的嵌入式装置的程序升级方法,其特征在于,所述升级控制器接收所述待升级数据后,还用于对所述待升级数据进行校验,当所述待升级数据校验通过后,将待升级数据写入所述存储器。
3.根据权利要求1或2所述的嵌入式装置的程序升级方法,其特征在于,所述升级控制器以RS485通信、SPI通信或I2C通信的方式获取所述处理器的工作状态。
4.根据权利要求1或2所述的嵌入式装置的程序升级方法,其特征在于,所述升级控制器通过ZigBee通信方式接收所述待升级数据。
5.一种嵌入式装置,其特征在于,包括处理器、存储器和升级控制器,其中,所述处理器用于在重启时读取存储器的待升级数据,并根据待升级数据进行程序升级,升级控制器用于执行计算机程序,以实现如下步骤:
实时检测处理器的工作状态;
当检测到所述处理器的工作状态为死机状态时,升级控制器接收待升级数据,将待升级数据写入所述存储器;
控制所述处理器重新启动。
6.根据权利要求5所述的嵌入式装置,其特征在于,所述升级控制器接收所述待升级数据后,还用于对所述待升级数据进行校验,当所述待升级数据校验通过后,将待升级数据写入所述存储器。
7.根据权利要求5或6所述的嵌入式装置,其特征在于,所述升级控制器以RS485通信、SPI通信或I2C通信的方式获取所述处理器的工作状态。
8.根据权利要求5或6所述的嵌入式装置,其特征在于,所述升级控制器通过ZigBee通信方式接收所述待升级数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071610.XA CN110851160A (zh) | 2019-11-05 | 2019-11-05 | 一种嵌入式装置及其程序升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071610.XA CN110851160A (zh) | 2019-11-05 | 2019-11-05 | 一种嵌入式装置及其程序升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110851160A true CN110851160A (zh) | 2020-02-28 |
Family
ID=69599204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911071610.XA Pending CN110851160A (zh) | 2019-11-05 | 2019-11-05 | 一种嵌入式装置及其程序升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851160A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708562A (zh) * | 2020-06-16 | 2020-09-25 | 深圳市信锐网科技术有限公司 | 风扇控制板及其升级方法、装置、设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
WO2012098434A1 (en) * | 2011-01-21 | 2012-07-26 | Freescale Semiconductor, Inc. | Method, system, and computer program product |
CN107783775A (zh) * | 2016-08-25 | 2018-03-09 | 南京理工大学 | 基于rtos嵌入式远程在线升级函数方法 |
CN109240887A (zh) * | 2018-09-04 | 2019-01-18 | 北京世纪东方通讯设备有限公司 | 应用程序运行状态的远程监控方法、监控端及监控服务器 |
-
2019
- 2019-11-05 CN CN201911071610.XA patent/CN110851160A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
WO2012098434A1 (en) * | 2011-01-21 | 2012-07-26 | Freescale Semiconductor, Inc. | Method, system, and computer program product |
CN107783775A (zh) * | 2016-08-25 | 2018-03-09 | 南京理工大学 | 基于rtos嵌入式远程在线升级函数方法 |
CN109240887A (zh) * | 2018-09-04 | 2019-01-18 | 北京世纪东方通讯设备有限公司 | 应用程序运行状态的远程监控方法、监控端及监控服务器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708562A (zh) * | 2020-06-16 | 2020-09-25 | 深圳市信锐网科技术有限公司 | 风扇控制板及其升级方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
CN104090796B (zh) | 一种嵌入式设备程序更新方法和系统 | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN102609326B (zh) | 一种数据下载处理方法及装置 | |
CN109343873A (zh) | 一种智能家电远程升级控制方法 | |
US20020194527A1 (en) | Program update apparatus and method | |
CN105354070A (zh) | 一种通过i2c升级设备固件的方法 | |
CN106874054B (zh) | 一种直放站内模块程序在线升级方法与系统 | |
CN104503782A (zh) | 一种就地化继电保护装置远程软件升级的方法 | |
CN101883254A (zh) | 互动电视机顶盒的ip点播载入升级装置及升级方法 | |
CN112152846B (zh) | 一种基于物联网的计量仪表远程升级方法 | |
CN105573794A (zh) | 一种嵌入式系统软件远程更新方法及系统 | |
CN110262820A (zh) | 基于mqtt协议实现ota升级的方法、装置、系统与存储介质 | |
CN112822654A (zh) | 一种基于ftp远程固件升级功能的遥测终端机及其控制方法 | |
CN112835616A (zh) | 一种版本升级方法、装置、电子设备及存储介质 | |
CN107656751A (zh) | 用户程序升级方法及装置 | |
CN111897560A (zh) | 基于NB-IoT模块的程序升级系统、方法、设备以及存储介质 | |
CN106406962A (zh) | 基于arm的风力发电控制器远程升级失败可恢复的方法 | |
CN110851160A (zh) | 一种嵌入式装置及其程序升级方法 | |
CN110727255B (zh) | 一种整车控制器软件升级测试系统及车辆 | |
CN107621943A (zh) | 一种fpga动态批量烧写系统及方法 | |
CN201733371U (zh) | 互动电视机顶盒ip点播载入升级装置 | |
CN110673862A (zh) | 兼用多模式的嵌入式设备固件无线升级方法、设备、介质 | |
CN111008382A (zh) | 一种虚拟电厂调控终端软件远程升级的方法及系统 | |
CN105740000A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200228 |
|
RJ01 | Rejection of invention patent application after publication |