CN112261089B - 一种水下滑翔机远程程序升级的方法及设备 - Google Patents

一种水下滑翔机远程程序升级的方法及设备 Download PDF

Info

Publication number
CN112261089B
CN112261089B CN202011038795.7A CN202011038795A CN112261089B CN 112261089 B CN112261089 B CN 112261089B CN 202011038795 A CN202011038795 A CN 202011038795A CN 112261089 B CN112261089 B CN 112261089B
Authority
CN
China
Prior art keywords
program
application program
receiving
flash
reserved area
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
CN202011038795.7A
Other languages
English (en)
Other versions
CN112261089A (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.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
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 Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CN202011038795.7A priority Critical patent/CN112261089B/zh
Publication of CN112261089A publication Critical patent/CN112261089A/zh
Application granted granted Critical
Publication of CN112261089B publication Critical patent/CN112261089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于水下机器人电控***领域,具体说是一种水下滑翔机远程程序升级的方法及设备。本发明包括以下步骤:1)接收更新指令:水下滑翔机收到通过无线传输的更新程序指令;2)应用程序流程:设置接收应用程序位置,启动接收程序写入相应的Flash;接收完成后进行数据校验;检验数据无误后,修改当前应用程序位置标志位,写入Flash保留区后***进行重启;否则,返回启动接收程序写入相应的Flash的步骤;3)引导程序流程:设备重启后,引导程序通过查询Flash保留区,设置应用程序首地址并跳转相应的应用程序,实现程序升级。本发明的优点在于,主要升级程序在用户程序中,而跳转程序只负责跳转,大大减少了跳转程程序的负担,有效的提高了可靠性。

Description

一种水下滑翔机远程程序升级的方法及设备
技术领域
本发明属于水下机器人电控***领域,具体说是一种水下滑翔机远程程序升级的方法及设备。
背景技术
水下滑翔机是一种新型的无人水下机器人,是现代海洋环境观测和资源探测的重要工具,水下滑翔机具有续航能力长,功耗低,制造成本和维护成本低等特点,比较适合大量投放海洋进行观测的场景,因此水下滑翔机可以脱离母船实现长时间、大规模的海洋环境观测和资源探测。水下滑翔机一次布防可以连续在海洋工作几个月时间,甚至达到一年以上,在这过程中,水下滑翔机在海洋中对海洋数据进行持续的采集,并将数据存储到滑翔机中,通过卫星通信进行数据的传输以及指令的下发。
现有的水下滑翔机在一次长时间海洋的观测任务时,有时候需要对滑翔机***的应用软件进行升级,当远程程序传输过程中,容易发生意外导致原程序丢失或被无效数据替换,从而无法启动,且远程升级时由于单一存储替换的安全性不高,有漏洞时无法及时修复,可靠性不足。
发明内容
本发明目的是提供一种保证***有漏洞时的及时修复,提高***的可靠性统,增加***的新功能,提高***的实用性,以克服上述远程的升级的缺陷。
本发明为实现上述目的所采用的技术方案是:一种水下滑翔机远程程序升级的方法,包括以下步骤:
1)接收更新指令:水下滑翔机收到通过无线传输的更新程序指令;
2)应用程序流程:设置接收应用程序位置,启动接收程序写入相应的Flash;确认更新的应用程序接收完成,并进行数据校验;
检验数据无误后,修改当前应用程序位置标志位,写入Flash保留区后***进行重启;
否则,返回启动接收程序写入相应的Flash的步骤;
3)引导程序流程:设备重启后,引导程序通过查询Flash保留区,设置应用程序首地址,根据设置的应用程序首地址跳转相应的应用程序,实现程序升级。
所述设置接收应用程序位置,具体为:
查询当前应用程序位置是否为0;若应用程序位置是为0,则设置接收程序位置为1为下载缓冲区;否则,设置接收程序位置为0为下载缓冲区。
所述引导程序通过查询Flash保留区,设置应用程序首地址,具体为:
引导程序查询Flash保留区,判定当前应用程序标志位置是否为0;若当前应用程序标志位置为0,设置跳转地址为应用程序0首地址;否则,设置跳转地址为应用程序1首地址;
所述修改当前应用程序标志位,具体为:
若当前应用程序是0,则修改为应用程序1,反之,修改为应用程序0。
程序升级后,根据跳转状态,***判断应用程序运行或***重启,具体为:
引导程序跳转应用程序,若跳转成功,则***运行更新的应用程序程序;若跳转超时,则修改当前应用程序标志位,并写入Flash保留区后重启。
一种水下滑翔机远程程序升级设备,包括:
应用程序流程模块:收到通过无线传输的更新程序指令后,设置接收应用程序位置,启动接收程序写入相应的Flash;确认更新的应用程序接收完成,并进行数据校验;检验数据无误后,修改当前应用程序位置标志位,写入Flash保留区后***进行重启;否则,返回启动接收程序写入相应的Flash的步骤;
引导程序流程模块:当设备重启后,引导程序通过查询Flash保留区,设置应用程序首地址,根据设置的应用程序首地址跳转相应的应用程序,实现程序升级。
包括Flash,所述Flash设有:
Flash保留区,用于存储应用程序位置标志位;
两个缓冲存储区,交替作为缓冲区,分别用于存储当前应用程序和更新的应用程序,
引导程序存储区,用于存储引导程序。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
当程序被处理器执行时,实现所述的方法的步骤。
本发明具有以下有益效果及优点:
1.本发明由于通信卫星作为通信、程序升级的载体,使得***可以不受距离的限制,可以在全球任何一个位置进行***的通信与升级,而且通信卫星可以采用铱星、北斗短报文、天通一号等方式,传输过程中增加了相应的校验,提高由于传输误码导致的程序升级问题。
2.本发明主要升级程序在用户程序中,而跳转程序只负责跳转,这样大大减少了跳转程程序的负担,有效的提高了可靠性。
3.本发明由于设计两个程序存储区,使***在远程升级时的安全性有所提高,有效防止了当远程程序传输过程中,发生意外导致原程序丢失而无法启动的问题。
附图说明
图1本发明的***硬件框图;
图2本发明程序存储的具体方式;
图3本发明的用户程序流程图;
图4本发明的引导程序流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
如图1所示,为本发明的***硬件框图,其中岸基控制计算机5和卫星通信模块6组成了岸基监控***1,而在海上的水下滑翔机4中的主控制板9的单片机(MCU)7作为滑翔机的大脑通过卫星通信模块3依靠卫星***2实现了岸基监控***1与水上滑翔机4的通信,岸基监控***1可以实时控制海洋上的水下滑翔机4,实现任务指令的下发和科学数据的回传等。主控制板9上的单片机(MCU)7作为水下滑翔机的控制核心负责水下滑翔机的各种工作模式,而水下滑翔机的应用程序存储在单片机(MCU)7的内部闪存(Flash)8。当单片机(MCU)7启动时通过内部闪存(Flash)8的引导程序跳转应用程序实现单片机(MCU)7的运行。
基于水下滑翔机在海上工作时候的场景,岸基监控***通过卫星通信实现水下滑翔机的远程程序升级,卫星通信不限于一种,可以是多种,可以是铱星、北斗短报文、天通一号。
如图2所示,本发明中的水下滑翔机的主控板上的单片机(MCU)内部的闪存(Flash),此Flash具有1MB的存储空间,被划分为4个部分,Flash设有:
Flash保留区,用于存储应用程序位置标志位;
两个缓冲存储区,交替作为缓冲区,分别用于存储当前应用程序和更新的应用程序,
引导程序存储区,用于存储引导程序。
第一部分为引导程序5占用空间为64KB,这部分主要存储单片机(MCU)的引导程序,单片机(MCU)上电后首先执行引导程序,引导程序负责跳转应用程序。第二部分是应用程序0部分,占用476KB,这部分存储应用程序的初始版本,单片机(MCU)上电后首先启动引导程序5,引导程序首先跳转应用程序0(6),实现水下滑翔机的各种功能。第三部分应用程序1(3),占用476KB,此部分作为水下滑翔机更新应用程序的缓冲存储区,第四部分是保留部分,占用8KB,此部分可以存储当前用户程序位置标志位等信息。此部分内部的闪存(Flash)的地址空间为0x8000000至0x8100000(4)。
如图3~4所示,本发明远程升级的方法由两部分组成,用户程序流程与引导程序流程。用户程序流程,首次当程序运行时,如果在海上工作的水下滑翔机在通信状态下收到更新程序请求,控制***将查询当前的用户程序是否为0,如果为0说明应用程序1部分为下载缓冲区,如果不为0则说明应用程序0部分为下载缓冲区,然后启动接收程序并写入相应缓冲区的Flash,当接收完成时,***将校验传输数据是否无误,如果有误,则返回重新接收数据并写入相应缓冲区Flash,如果校验无误则修改当前用户程序的标志位,并写入Flash的保留区,然后重启。校验方式采用CRC8的校验方式,可根据情况选取不同的校验方式。
用户程序流程部分特征在于:采用两部分作为应用程序的存储空间,当一个为当前应用程序,另一个就作为程序缓冲接收区,两个应用程序区交替作为缓冲区,在传输的完成进行校验。
引导程序流程,当单片机(MCU)上电后启动引导程,引导程序启动后首先查询Flash保留区,如果当前用户程序标志位为0,则把跳转地址设置为程序0的首地址,如果当前用户程序标志位不为0,则把跳转地址设置为程序1的首地址,然后引导程序跳转相应的用户程序,如果跳转成功,则***顺利运行起来,如果跳转超时,则修改当前用户程序标志位(如果当前是0则修改为1,如果当前是1则修改为0)并写入Flash保留区,然后重启。
引导程序流程只负责调转用户程序,减轻引导程序负担,当调转刚升级的程序失败时,可以后滚到之前的程序,以有效防止当远程程序传输过程中,发生意外导致原程序丢失而无法启动的问题。

Claims (4)

1.一种水下滑翔机远程程序升级的方法,其特征在于,包括以下步骤:
1)接收更新指令:水下滑翔机收到通过无线传输的更新程序指令;
2) 应用程序流程:设置接收应用程序位置,启动接收程序写入相应的Flash;确认更新的应用程序接收完成,并进行数据校验;
所述设置接收应用程序位置,具体为:
查询当前应用程序位置是否为0;若应用程序位置是为0,则设置接收程序位置为1为下载缓冲区;否则,设置接收程序位置为0为下载缓冲区;
检验数据无误后,修改当前应用程序位置标志位,写入Flash保留区后***进行重启;
否则,返回启动接收程序写入相应的Flash的步骤;
所述修改当前应用程序标志位,具体为:
若当前应用程序是0,则修改为应用程序1,反之,修改为应用程序0;
3)引导程序流程:设备重启后,引导程序通过查询Flash保留区,设置应用程序首地址,根据设置的应用程序首地址跳转相应的应用程序,实现程序升级;
所述引导程序通过查询Flash保留区,设置应用程序首地址,具体为:
引导程序查询Flash保留区,判定当前应用程序标志位置是否为0;若当前应用程序标志位置为0,设置跳转地址为应用程序0首地址;否则,设置跳转地址为应用程序1首地址;
程序升级后,根据跳转状态,***判断应用程序运行或***重启,具体为:引导程序跳转应用程序,若跳转成功,则***运行更新的应用程序程序;若跳转超时,则修改当前应用程序标志位,并写入Flash保留区后重启。
2.一种水下滑翔机远程程序升级设备,其特征在于,包括:
应用程序流程模块:收到通过无线传输的更新程序指令后,设置接收应用程序位置,启动接收程序写入相应的Flash;确认更新的应用程序接收完成,并进行数据校验;检验数据无误后,修改当前应用程序位置标志位,写入Flash保留区后***进行重启;否则,返回启动接收程序写入相应的Flash的步骤;
设置接收应用程序位置,具体为:
查询当前应用程序位置是否为0;若应用程序位置是为0,则设置接收程序位置为1为下载缓冲区;否则,设置接收程序位置为0为下载缓冲区;
检验数据无误后,修改当前应用程序位置标志位,写入Flash保留区后***进行重启;否则,返回启动接收程序写入相应的Flash的步骤;
修改当前应用程序标志位,具体为:
若当前应用程序是0,则修改为应用程序1,反之,修改为应用程序0;
引导程序流程模块:当设备重启后,引导程序通过查询Flash保留区,设置应用程序首地址,根据设置的应用程序首地址跳转相应的应用程序,实现程序升级;
引导程序通过查询Flash保留区,设置应用程序首地址,具体为:
引导程序查询Flash保留区,判定当前应用程序标志位置是否为0;若当前应用程序标志位置为0,设置跳转地址为应用程序0首地址;否则,设置跳转地址为应用程序1首地址;
程序升级后,根据跳转状态,***判断应用程序运行或***重启,具体为:引导程序跳转应用程序,若跳转成功,则***运行更新的应用程序程序;若跳转超时,则修改当前应用程序标志位,并写入Flash保留区后重启;
所述Flash设有:
Flash保留区,用于存储应用程序位置标志位;
两个缓冲存储区,交替作为缓冲区,分别用于存储当前应用程序和更新的应用程序,
引导程序存储区,用于存储引导程序。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1中所述的方法的步骤。
4.一种计算机设备,包括处理器和存储器,所述存储器存有程序,其特征在于,当程序被处理器执行时,实现权利要求1中所述的方法的步骤。
CN202011038795.7A 2020-09-28 2020-09-28 一种水下滑翔机远程程序升级的方法及设备 Active CN112261089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011038795.7A CN112261089B (zh) 2020-09-28 2020-09-28 一种水下滑翔机远程程序升级的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011038795.7A CN112261089B (zh) 2020-09-28 2020-09-28 一种水下滑翔机远程程序升级的方法及设备

Publications (2)

Publication Number Publication Date
CN112261089A CN112261089A (zh) 2021-01-22
CN112261089B true CN112261089B (zh) 2022-07-05

Family

ID=74234250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011038795.7A Active CN112261089B (zh) 2020-09-28 2020-09-28 一种水下滑翔机远程程序升级的方法及设备

Country Status (1)

Country Link
CN (1) CN112261089B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092647A (zh) * 2012-12-29 2013-05-08 聚光科技(杭州)股份有限公司 嵌入式***的在线升级方法
CN103533041A (zh) * 2013-10-09 2014-01-22 哈尔滨工程大学 一种面向水下无人航行器的软件远程更新方法
CN108196859A (zh) * 2017-12-26 2018-06-22 新诺北斗航科信息技术(厦门)股份有限公司 一种基于ais通信的船载终端远程升级方法
CN110231952A (zh) * 2019-06-17 2019-09-13 合肥巨一动力***有限公司 一种ecu程序备份及循环升级控制方法及装置
CN111475194A (zh) * 2020-03-20 2020-07-31 创驱(上海)新能源科技有限公司 一种用于新能源汽车控制器的软件升级方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530146B (zh) * 2013-09-16 2016-09-07 成都交大光芒科技股份有限公司 低功耗嵌入式设备远程无线升级方法
CN104090796B (zh) * 2014-07-08 2017-06-09 成都万维图新信息技术有限公司 一种嵌入式设备程序更新方法和***
CN111459508B (zh) * 2020-03-27 2023-12-01 北京经纬恒润科技股份有限公司 一种BootLoader自升级的方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092647A (zh) * 2012-12-29 2013-05-08 聚光科技(杭州)股份有限公司 嵌入式***的在线升级方法
CN103533041A (zh) * 2013-10-09 2014-01-22 哈尔滨工程大学 一种面向水下无人航行器的软件远程更新方法
CN108196859A (zh) * 2017-12-26 2018-06-22 新诺北斗航科信息技术(厦门)股份有限公司 一种基于ais通信的船载终端远程升级方法
CN110231952A (zh) * 2019-06-17 2019-09-13 合肥巨一动力***有限公司 一种ecu程序备份及循环升级控制方法及装置
CN111475194A (zh) * 2020-03-20 2020-07-31 创驱(上海)新能源科技有限公司 一种用于新能源汽车控制器的软件升级方法

Also Published As

Publication number Publication date
CN112261089A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN108415718B (zh) 一种应用于星载软件在线更新的BootLoader设计方法
CN110750292B (zh) 一种基于NB-IoT的终端远程自动更新***
CN101557583B (zh) 直放站设备嵌入式软件的远程升级与版本切换方法
CN109189445A (zh) 一种物联网设备程序升级的方法
CN104102518B (zh) 一种双cpu***及其程序升级方法
CN106257417A (zh) 引导程序升级方法、嵌入式设备、控制设备及嵌入式***
CN109002310A (zh) 固件升级方法
CN105930236A (zh) 一种基于BMS Bootloader升级的应用程序版本回退方法
CN105677398A (zh) 一种通用的嵌入式计算机软件在线升级方法
CN106874054B (zh) 一种直放站内模块程序在线升级方法与***
CN109189434A (zh) 一种电能表的在线升级方法
CN106909352A (zh) 一种嵌入式设备的固件升级方法
WO2014183557A1 (zh) 一种星敏感器在轨维护方法
JP2018504730A (ja) プリセット組み込み式システムでスクリプトオペレーションを実現するシステム
CN107562493A (zh) 芯片在线升级方法及计算机可读存储介质
CN106506649A (zh) 一种车载控制终端的远程在线升级方法及装置
CN111309363A (zh) 基于Contiki操作***的在线升级方法及装置
CN112261089B (zh) 一种水下滑翔机远程程序升级的方法及设备
CN112540780A (zh) 一种编队无人机批量固件升级实现***、方法
CN113110860A (zh) 一种嵌入式终端远程软件更新方法
CN103533534B (zh) 一种dect手机的固件无线升级方法
CN102736929A (zh) 液压支架电液控制***端头控制器软件远程在线升级方法
CN106569864A (zh) 一种电池管理单元的远程在线升级方法及***
CN106775636B (zh) 电池固件处理方法、装置和充电柜***
CN107943500A (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