CN113434208A - 星上软件自适应加载方法 - Google Patents

星上软件自适应加载方法 Download PDF

Info

Publication number
CN113434208A
CN113434208A CN202110642731.6A CN202110642731A CN113434208A CN 113434208 A CN113434208 A CN 113434208A CN 202110642731 A CN202110642731 A CN 202110642731A CN 113434208 A CN113434208 A CN 113434208A
Authority
CN
China
Prior art keywords
application software
loading
area
ground
software
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
Application number
CN202110642731.6A
Other languages
English (en)
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.)
Shandong Institute of Space Electronic Technology
Original Assignee
Shandong Institute of Space Electronic Technology
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 Shandong Institute of Space Electronic Technology filed Critical Shandong Institute of Space Electronic Technology
Priority to CN202110642731.6A priority Critical patent/CN113434208A/zh
Publication of CN113434208A publication Critical patent/CN113434208A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明所述的星上软件自适应加载方法,基于地面控制与星上异常检测相结合的方式以实现应用软件自主加载,以期提高星上软件在轨更新的灵活性、规避系统或FLASH存储发生异常而导致的加载失败风险,从而实现一种“短时间地面验证+长时间在轨验证”的智能化管理模式。星上软件自适应加载方法采取地面与非地面指定两种加载区域标志,且在应用软件读取之前先进行地面加载区域标志判断;在应用软件非地面加载区域读取过程中,先后运行异常状态、应用软件三取二比对/校验状态判断,以相应地将应用软件从依次确定的待加载区域搬移至运行区,最终完成PC指针跳转至运行区运行应用软件。

Description

星上软件自适应加载方法
技术领域
本发明涉及一种星上嵌入式软件的自适应加载方法,属于小卫星和微纳卫星设计领域。
随着国内微电子与软件程序加载技术的快速发展,卫星姿态控制与在轨维护更新水平得以日益提高。目前使用的卫星软件加载技术主要包括非引导加载和引导加载两种常见方式。
非引导加载方法是将应用软件直接固化至存储器0*0地址,系统上电或复位运行后直接从该区域读取代码指令和数据运行应用软件。
如后附图1所示,引导加载方法是利用引导软件将应用软件由外部FLASH存储空间搬移至外部SRAM存储空间并跳转至SRAM运行该应用软件。与上述非引导加载方法相比,引导加载方法能够实现应用软件在轨更新、更适用于小卫星或微纳卫星应用软件在轨进行管理与维护。
现有引导加载技术存在着如下使用局限性与缺点:如被加载运行前需要由地面指定存储区域,在系统出现异常、软件热复位时,引导软件却仍依据地面指令从指定的存储区域进行加载,从而导致应用软件加载失败。
另外,此类引导加载技术需由地面干预,既需要对更新的待加载软件进行长时间的充分验证、相应地对FLASH在轨存储可靠性有着较高的要求,因此不利于提高应用软件加载准确性和系统设计成本。
有鉴于此,特提出本专利申请。
发明内容
本发明所述的星上软件自适应加载方法,在于解决上述现有技术存在的问题而基于地面控制与星上异常检测相结合的方式以实现应用软件自主加载,以期提高星上软件在轨更新的灵活性、规避系统或FLASH存储发生异常而导致的加载失败风险,从而实现一种“短时间地面验证+长时间在轨验证”的智能化管理模式。
为实现上述设计目的,所述的星上软件自适应加载方法采取地面与非地面指定两种加载区域标志,且在应用软件读取之前先进行地面加载区域标志判断;
在应用软件非地面加载区域读取过程中,先后运行异常状态(如热复位次数)、应用软件三取二比对/校验状态判断,以相应地将应用软件从依次确定的待加载区域搬移至运行区,最终完成PC指针跳转至运行区运行应用软件。
所述星上软件自适应加载方法包括以下实现步骤:
步骤1)读取加载区域标志
应用软件加载区域标志,包括“地面指定MRAM存储区加载”、“非地面指定应用软件存储区加载”两种;
步骤2)根据加载区域执行应用软件搬移
步骤2.1)首先,判断加载区域标志是否为“地面指定MRAM存储区加载”,若是,则对MRAM存储区内的存储代码进行校验;若否,则直接运行步骤2.2);
其次,校验正确、且满足复位次数<N1次(N1为整数)时,将应用软件由MRAM存储区搬移至外部SRAM运行区,直接执行下述步骤3);
当校验不正确或不满足复位次数<N1次时,修改加载标志为“非地面指定应用软件存储区加载”(如FLASH加载)、清除复位次数(如CPU核复位),返回步骤1)重新运行;
步骤2.2)当加载区域标志为“非地面指定应用软件存储区加载”时,首先,判断热复位次数是否<N2次、<N3次、<N4次?(N2、N3、N4均为整数);若否,则将热复位次数清0、CPU核复位、并且返回步骤1)重新运行;若是,则根据热复位次数的判断结果确定应用软件存储区(分别对应地包括第1区应用FLASH存储区、第2区应用软件FLASH存储区或MRAM存储区);
然后,执行对应存储区软件的三取二比对/校验,依据比对/校验结果确定待加载的应用软件存储区域,以执行应用软件由对应的存储区域搬移至外部SRAM运行区,直接执行下述步骤3);
步骤3)运行应用软件
将PC指针指向应用软件运行区的SRAM地址,软件跳转至应用软件运行。
综上内容,本申请所述的星上软件自适应加载方法具有如下优点:
1、本申请针对性地应用于小卫星或微纳卫星,综合采取地面控制与星上异常检测相结合的方式,从而能够高效准确地实现应用软件自主加载,有利于星上软件在轨灵活更新、自主调节,规避应用软件异常以及FLASH存储异常带来的风险。
2、有效地提高应用软件在轨智能化管理,软件的验证方式转变为“短时间地面验证+长时间在轨验证”方式,能够进一步地减少地面干预时间、缩短卫星研制周期。
3、基于地面与非地面区域两种加载方式,本申请能够应对在轨FLASH存储失效的异常情形,另行启用MRAM存储区以可靠地实现应用软件正常运行。
4、非地面加载方式完全地摆脱地面验证的限制,基于运行异常状态与三取二比对/校验判断实现可靠、准确地存储区域判断,以灵活地规避某一存储器件失效情况下的在轨加载执行,保证星上软件安全可靠地运行,从而更加适应于商业卫星短周期需求。
附图说明
以下附图是本申请具体实施方式的举例说明。
图1是现有引导式应用软件加载方法的流程示意图;
图2是本申请所述星上软件自适应加载方法的流程示意图;
具体实施方式
实施例1,所述星上软件自适应加载方法,采用地面控制与星上异常检测相结合的方式实现星上软件的自适应加载。
通过设定两种加载区域标志,即“地面指定MRAM存储区加载”和“非地面指定应用软件存储区加载”,此两种加载区域标志可通过地面发送遥控指令进行修改。
为保证星上软件运行的安全可靠,在FLASH以及MRAM两类非易失性存储器件中进行异构备份,同时在FLASH存储区域三区备份,以应对某类器件存储失效问题的发生。
现实使用中,在轨“单粒子效应”以及星上软件自身设计缺陷等情形均会造成热复位计数的增加或者软件校验状态结果出现异常,对此本申请所述的方法采取监视并判断“热复位计数”、以及“应用代码三取二比对校验”的状态结果,以实现星上软件加载区域在FLASH三区存储区之间、FLASH与MRAM存储区之间的调整,在无地面干预情况下提高星上异常情形识别与应对能力,保证星上软件安全可靠地运行。
基于上述设计构思,本申请所述的星上软件自适应加载方法包括以下实现步骤:
步骤1)读取加载区域标志
应用软件加载区域标志,包括“地面指定MRAM存储区加载”、“非地面指定应用软件存储区加载”两种;
步骤2)根据加载区域执行应用软件搬移
步骤2.1)首先,判断加载区域标志是否为“0x55”;若是,则为地面指定MRAM存储区加载”,读取MRAM存储软件长度及校验码,按照软件长度对存储软件进行累加和校验;若否,则直接运行步骤2.2);
其次,若校验正确、且热复位次数<2次,将应用软件由MRAM存储区搬移至外部SRAM运行区,直接执行下述步骤3);
当校验错误或热复位计数≥2次,则修改加载标志为“0xAA”,即为“非地面指定应用软件存储区加载”,转而运行FLASH加载模式,清除复位次数,返回步骤1)重新运行;
步骤2.2)当加载区域标志为“0xAA”时,判断热复位次数;
当热复位次数<2次时,拟加载的应用软件存储于第1区FLASH,对拟加载应用软件存储区代码进行三取二比对;若比对正确,则执行第1区FLASH应用软件搬移至外部SRAM运行区;若比对错误,则设置拟加载应用软件存储区域为第2区FLASH;
当热复位次数<4次时,拟加载的应用软件存储于第2区FLASH,将拟加载应用软件存储区代码进行三取二比对;若比对正确,则执行第2区FLASH应用软件搬移至外部SRAM运行区;若比对错误,则设置拟加载应用软件存储区域为MRAM存储区;
当热复位次数<6次时,拟加载的应用软件存储于MRAM存储区,将拟加载应用软件存储区代码进行累加和校验;若校验正确,则执行MRAM应用软件搬移至外部SRAM运行区;若校验错误,则将热复位次数清0,返回步骤1)重新运行;
当热复位次数≥6次时,直接将热复位次数清0,返回步骤1)重新运行;
步骤3)运行应用软件
将PC指针指向应用软件运行区的SRAM地址,软件跳转至应用软件运行。
上述方法流程执行的结果如下表所示:
Figure BDA0003107679500000041
综上内容,结合附图中给出的实施例仅是优选方案。对于所属领域技术人员来说可以据此得到启示,而直接推导出符合本发明设计构思的其他替代结构,也应属于本发明所述的方案范围。

Claims (1)

1.一种星上软件自适应加载方法,其特征在于:采取地面与非地面指定两种加载区域标志,且在应用软件读取之前先进行地面加载区域标志判断;
在应用软件非地面加载区域读取过程中,先后运行异常状态(如热复位次数)、应用软件三取二比对/校验状态判断,以相应地将应用软件从依次确定的待加载区域搬移至运行区,最终完成PC指针跳转至运行区运行应用软件;
包括以下实现步骤:
步骤1)读取加载区域标志
应用软件加载区域标志,包括“地面指定MRAM存储区加载”、“非地面指定应用软件存储区加载”两种;
步骤2)根据加载区域执行应用软件搬移
步骤2.1)首先,判断加载区域标志是否为“地面指定MRAM存储区加载”,若是,则对MRAM存储区内的存储代码进行校验;若否,则直接运行步骤2.2);
其次,校验正确、且满足复位次数<N1(N1为整数)次时,将应用软件由MRAM存储区搬移至外部SRAM运行区,直接执行下述步骤3);
当校验不正确或不满足复位次数<N1次时,修改加载标志为“非地面指定应用软件存储区加载”、清除复位次数,返回步骤1)重新运行;
步骤2.2)当加载区域标志为“非地面指定应用软件存储区加载”时,首先,判断热复位次数是否<N2次、<N3次、<N4次?(N2、N3、N4均为整数);若否,则将热复位次数清0、CPU核复位、并且返回步骤1)重新运行;若是,则根据热复位次数的判断结果确定应用软件存储区;
然后,执行对应存储区软件的三取二比对/校验,依据比对/校验结果确定待加载的应用软件存储区域,以执行应用软件由对应的存储区域搬移至外部SRAM运行区,直接执行下述步骤3);
步骤3)运行应用软件
将PC指针指向应用软件运行区的SRAM地址,软件跳转至应用软件运行。
CN202110642731.6A 2021-06-09 2021-06-09 星上软件自适应加载方法 Pending CN113434208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110642731.6A CN113434208A (zh) 2021-06-09 2021-06-09 星上软件自适应加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110642731.6A CN113434208A (zh) 2021-06-09 2021-06-09 星上软件自适应加载方法

Publications (1)

Publication Number Publication Date
CN113434208A true CN113434208A (zh) 2021-09-24

Family

ID=77755450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110642731.6A Pending CN113434208A (zh) 2021-06-09 2021-06-09 星上软件自适应加载方法

Country Status (1)

Country Link
CN (1) CN113434208A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777983A (zh) * 2014-01-24 2014-05-07 航天东方红卫星有限公司 一种星载软件在轨维护及升级方法
CN109189500A (zh) * 2018-08-22 2019-01-11 航天东方红卫星有限公司 星载计算机应用软件的下载存储与引导加载方法及系统
CN109815055A (zh) * 2019-01-22 2019-05-28 上海微小卫星工程中心 卫星程序管理系统和卫星程序管理方法
CN111158660A (zh) * 2019-12-10 2020-05-15 上海航天控制技术研究所 一种多模式星载软件eeprom在轨编程方法
CN111176890A (zh) * 2019-12-16 2020-05-19 上海航天控制技术研究所 一种星载软件数据存储及异常恢复方法
CN111897595A (zh) * 2020-07-16 2020-11-06 中国空间技术研究院 一种卫星星务管理计算机软件启动与引导方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777983A (zh) * 2014-01-24 2014-05-07 航天东方红卫星有限公司 一种星载软件在轨维护及升级方法
CN109189500A (zh) * 2018-08-22 2019-01-11 航天东方红卫星有限公司 星载计算机应用软件的下载存储与引导加载方法及系统
CN109815055A (zh) * 2019-01-22 2019-05-28 上海微小卫星工程中心 卫星程序管理系统和卫星程序管理方法
CN111158660A (zh) * 2019-12-10 2020-05-15 上海航天控制技术研究所 一种多模式星载软件eeprom在轨编程方法
CN111176890A (zh) * 2019-12-16 2020-05-19 上海航天控制技术研究所 一种星载软件数据存储及异常恢复方法
CN111897595A (zh) * 2020-07-16 2020-11-06 中国空间技术研究院 一种卫星星务管理计算机软件启动与引导方法

Similar Documents

Publication Publication Date Title
EP2638466B1 (en) Software updating process for an embedded device
US9778970B2 (en) Memory check, abnormality threshold count, and reset in an onboard electronic control unit
CN107957874B (zh) 可恢复的驻留式星载软件在轨编程方法
US8595716B2 (en) Failsafe firmware updates
US20140136826A1 (en) Method and apparatus for updating boot loader
CN101815988A (zh) 固件映像更新和管理
CN108415718B (zh) 一种应用于星载软件在线更新的BootLoader设计方法
CN108182078B (zh) 一种优化的弹载设备不拆弹软件在线升级方法
CN110187909B (zh) 一种基于安卓系统的单片机固件升级方法
WO2014183557A1 (zh) 一种星敏感器在轨维护方法
CN105511976A (zh) 一种嵌入式系统中的应用程序自恢复运行方法及装置
CN104484202B (zh) 适用于8051微控制器的航天嵌入式软件在轨重注方法
CN109933340A (zh) 一种航天器eeprom基于页模式的在轨写入和自检方法
CN100549971C (zh) 一种读取cpu代码的方法及装置
CN103092659A (zh) 脱离仿真器支持环境的dsp软件升级系统及其升级方法
CN108536456A (zh) 一种智能设备升级方法及系统
CN113434208A (zh) 星上软件自适应加载方法
CN112148339A (zh) 一种双核芯片及其程序更新方法
US20090138865A1 (en) Performing an operating system upgrade without multiple system interruptions
CN111273928A (zh) 一种自升级的bootloader设计方法
KR101844095B1 (ko) 부트로더 실행 방법 및 장치
CN111857785A (zh) 一种mcu的启动方法、装置及终端设备
US7197666B1 (en) Method for checking the reset function in an embedded processor
EP3087478B1 (en) Method for updating a firmware on a low memory device
CN111158660B (zh) 一种多模式星载软件eeprom在轨编程方法

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: 20210924

RJ01 Rejection of invention patent application after publication