可恢复的驻留式星载软件在轨编程方法技术

技术编号:17796567 阅读:46 留言:0更新日期:2018-04-25 20:03
本发明专利技术提供了一种可恢复的驻留式星载软件在轨编程方法,包括以下步骤:搭建考核系统平台;在考核系统平台执行成熟的SRAM在轨编程流程完毕后,并经在轨验证在轨编程信息无误后,上注遥控指令,以将所述在轨编程信息固化到EEPROM的空闲区域中;在发生复位后,存储在EEPROM的原始代码和存储在EEPROM空闲区域的在轨编程信息被搬至SRAM中,由地面上注遥控指令,以决定只运行原始代码,还是运行在轨编程后的程序。该方法无需修改EEPROM原始程序,无需担心断电后在轨编程信息丢失,实现星载软件可恢复的驻留式在轨维护。

On orbit programming method for recoverable resident on-board software

The invention provides a recoverable residing satellite borne software in orbit programming method, including the following steps: building the assessment system platform; after the assessment system platform implements the mature SRAM programming flow, and after verifying the orbit programming information without error, the remote control instruction is injected to fix the on track programming information. Into the free area of the EEPROM; after the reset, the original code stored in the EEPROM and the on track programming information stored in the free area of the EEPROM are moved to the SRAM, and the remote command is injected on the ground to determine only the original code is run, or the program after running on the orbit. This method does not need to modify the original EEPROM program. It does not need to worry about the loss of on orbit programming information after power failure, so that the on-board orbit maintenance of recoverable on-board software can be realized.

【技术实现步骤摘要】
可恢复的驻留式星载软件在轨编程方法
本专利技术涉及星载软件
,特别涉及一种可恢复的驻留式星载软件在轨编程方法。
技术介绍
处于复杂空间环境中的飞行器,极易受到太阳风、空间电磁风暴、空间高能粒子和宇宙射线的威胁。运行于其上的嵌入式软件,诸如星载管理软件、星务软件等,是卫星的控制核心,对可靠性、安全性、可维护性以及使用寿命都有着较高的要求。卫星发射之后,还可能面临着如下两个问题:(1)软件存在缺陷需要改进;(2)软件功能需要增加。卫星一旦发射,便不能像在地面上一样通过重新编译代码来修改程序,相应的,软件的可维护性也随之大幅降低。因此必须采用一定的技术方法实现星载软件的在轨维护,在轨编程技术便是一个可行的技术手段。星载软件在轨编程技术已经在航天工程中得到应用,现有技术中,在轨编程方法有:1.SRAM在轨编程,也是本专利技术不可缺少的前期工作,通过地面数据注入更新星载软件的正在运行的内存中的程序代码,动态实现软件功能的改进;2.EEPROM在轨编程,通过遥控注数修改EEPROM中存储的原始软件代码,实现星载软件可驻留的在轨编程。但是,对于方法1,采用SRAM在轨编程的缺点是:不能将在轨编程的信息固化到EEPROM中,一旦断电或复位,EEPROM中的程序被搬至SRAM运行,所有之前的在轨编程信息将丢失,需要重新进行SRAM在轨编程才能恢复至复位之前的状态,影响卫星任务的正常运行;对于方法2,修改EEPROM中存储原始代码方式的缺点是:直接注数修改存储在EEPROM中的原始代码,未经过在轨验证,且破坏了原始代码,如果对EEPROM的修改在轨运行不理想,就会陷入运行不理想却又无法恢复到最初状态的严重问题。
技术实现思路
本专利技术的目的在于提供一种可恢复的驻留式星载软件在轨编程方法,以解决现有的星载软件在轨编程所存在的断电或复位后在轨编程前代码不可恢复、在轨编程后信息丢失的问题。为实现上述目的,本专利技术提供了一种可恢复的驻留式星载软件在轨编程方法,包括以下步骤:a.搭建考核系统平台;b.在所述考核系统平台执行成熟的SRAM在轨编程流程完毕后,并经在轨验证在轨编程信息无误后,上注遥控指令,以将所述在轨编程信息固化到EEPROM的空闲区域中;其中,所述成熟的SRAM在轨编程流程包括如下三步:○1交叉编译更改后的代码,生成更改后的二进制目标代码;○2提取需要上注的更新目标代码,并按照数据包的格式进行组帧;○3上注数据包并进行SRAM在轨编程,所述数据包包括:设置“覆盖信息结构表”数据包、数据包更新数据包、校验数据包及提交数据包;c.在发生断电等原因复位后,存储在EEPROM的原始代码和存储在EEPROM空闲区域的在轨编程信息被搬至SRAM中,由地面上注遥控指令,以决定只运行原始代码,还是运行在轨编程后的程序。较佳地,所述考核系统平台包括:PC机,其安装有Linux操作系统,用来进行交叉编译生成所述二进制目标代码;星载计算机地面测试设备,用于对所述二进制目标代码进行数据组帧得到所述数据包,并发送所述数据包及遥控指令,及显示程序运行状态;星载计算机,用于接收所述数据及遥控指令,并运行所述数据中的在轨编程代码、对在运行的程序进行实时更新;其中,所述星载计算机地面测试设备和星载计算机通过串口连接。较佳地,执行成熟的SRAM在轨编程流程包括:在SRAM注入数据包,所述数据包包括:设置“覆盖信息结构表”数据包、更新数据包、校验数据包、提交数据包;然后进行SRAM在轨编程结束并运行后,经过在轨验证无误,将所述在轨编程信息固化到EEPROM的空闲区域中。较佳地,所述步骤c中,若需要运行在轨编程后的程序,则上传提交数据包,星载软件在接收到提交数据包后执行SRAM在轨编程的最后一步,最后一步包括:取出“覆盖信息结构表”的CRC值与在轨编程区中新函数的代码的CRC值进行比较,若一致,则更改旧函数的前三条指令为跳转到新函数的指针,至此该可恢复的驻留式星载软件在轨编程方法的执行过程结束。较佳地,上注所述设置“覆盖信息结构表”数据包、更新数据包、校验数据包、提交数据包和遥控指令时均通过测控天线发送。本专利技术具有以下有益效果:本专利技术与现有技术相比,具有如下显而易见的突出实质性特点和显著优点:区别于传统的只对运行在SRAM中程序进行在轨编程的方法,该方法不能将在轨编程的信息固化到EEPROM中,一旦断电重启,在轨编程的数据将全部丢失,有可能会造成严重后果;区别于传统的对EEPROM区的在轨编程方法,该方法都是通过遥控上注,直接修改EEPROM的原始程序,该修改并未得到在轨验证,一旦修改后的存储在EEPROM的程序在轨运行不理想,就会陷入无法恢复到最初状态的严重问题。本专利技术中的方法可以在充分验证在轨编程后程序正确性的基础上,不修改EEPROM中原始代码,无需担心断电或复位会丢失在轨编程信息,无需担心不能恢复到星载软件的最初状态,实现对原始代码的可恢复驻留式在轨编程。综上所述,本专利技术方法可以作为星载软件在轨编程的方法,尤其在航天领域具有较好的工程应用价值。附图说明图1为本专利技术的一个优选实施实例结构示意图。图2为本专利技术的操作过程图。图3为星载计算机可恢复驻留式在轨编程的过程图。图4为可恢复驻留式在轨编程实验结果图。具体实施方式以下将结合本专利技术的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本专利技术的一部分实例,并不是全部的实例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。为了便于对本专利技术实施例的理解,下面将结合附图以具体实施例为例作进一步的解释说明,且各个实施例不构成对本专利技术实施例的限定。本专利技术提供的可恢复的驻留式星载软件在轨编程方法,主要包括以下步骤:a.搭建考核系统平台;b.在所述考核系统平台执行成熟的SRAM在轨编程流程完毕后,并经在轨验证在轨编程信息无误后,上注遥控指令,以将所述在轨编程信息固化到EEPROM的空闲区域中;其中,所述成熟的SRAM在轨编程流程包括如下三步:○1交叉编译更改后的代码,生成更改后的二进制目标代码;○2提取需要上注的更新目标代码,并按照数据包的格式进行组帧;○3上注数据包并进行SRAM在轨编程,所述数据包包括:设置“覆盖信息结构表”数据包、数据包更新数据包、校验数据包及提交数据包;c.在发生断电等原因复位后,存储在EEPROM的原始代码和存储在EEPROM空闲区域的在轨编程信息被搬至SRAM中,由地面上注遥控指令,以决定只运行原始代码,还是运行在轨编程后的程序。参考图1所示,步骤a所建立的考核系统平台包括:PC机1,其安装有Linux操作系统,用来进行交叉编译生成所述二进制目标代码;星载计算机地面测试设备2,用于对所述二进制目标代码进行数据组帧得到所述数据包,并发送所述数据包及遥控指令,及显示程序运行状态;星载计算机3,用于接收所述数据及遥控指令,并运行所述数据中的在轨编程代码、对在运行的程序进行实时更新;其中,星载计算机地面测试设备2和星载计算机3通过串口连接。步骤b中,执行成熟的SRAM在轨编程流程具体包括:在SRAM注入数据包,所述数据包包括:设置“覆盖信息结构表”数据包、更新数据包、校验数据包、提交数据包;然后本文档来自技高网
...
可恢复的驻留式星载软件在轨编程方法

【技术保护点】
一种可恢复的驻留式星载软件在轨编程方法,其特征在于,包括以下步骤:a.搭建考核系统平台;b.在所述考核系统平台执行成熟的SRAM在轨编程流程完毕后,并经在轨验证在轨编程信息无误后,上注遥控指令,以将所述在轨编程信息固化到EEPROM的空闲区域中;其中,所述成熟的SRAM在轨编程流程包括如下三步:①交叉编译更改后的代码,生成更改后的二进制目标代码;②提取需要上注的更新目标代码,并按照数据包的格式进行组帧;③上注数据包并进行SRAM在轨编程,所述数据包包括:设置“覆盖信息结构表”数据包、数据包更新数据包、校验数据包及提交数据包;c.在发生断电等原因复位后,存储在EEPROM的原始代码和存储在EEPROM空闲区域的在轨编程信息被搬至SRAM中,由地面上注遥控指令,以决定只运行原始代码,还是运行在轨编程后的程序。

【技术特征摘要】
1.一种可恢复的驻留式星载软件在轨编程方法,其特征在于,包括以下步骤:a.搭建考核系统平台;b.在所述考核系统平台执行成熟的SRAM在轨编程流程完毕后,并经在轨验证在轨编程信息无误后,上注遥控指令,以将所述在轨编程信息固化到EEPROM的空闲区域中;其中,所述成熟的SRAM在轨编程流程包括如下三步:①交叉编译更改后的代码,生成更改后的二进制目标代码;②提取需要上注的更新目标代码,并按照数据包的格式进行组帧;③上注数据包并进行SRAM在轨编程,所述数据包包括:设置“覆盖信息结构表”数据包、数据包更新数据包、校验数据包及提交数据包;c.在发生断电等原因复位后,存储在EEPROM的原始代码和存储在EEPROM空闲区域的在轨编程信息被搬至SRAM中,由地面上注遥控指令,以决定只运行原始代码,还是运行在轨编程后的程序。2.根据权利要求1所述的可恢复的驻留式星载软件在轨编程方法,其特征在于,所述考核系统平台包括:PC机,其安装有Linux操作系统,用来进行交叉编译生成所述二进制目标代码;星载计算机地面测试设备,用于对所述二进制目标代码进行数据组帧得到所述数据包,并发送所述数据包及遥控指令,及显示程序运行状态;星载计算机,用于...

【专利技术属性】
技术研发人员:陆灵君李美光吴侃侃郭艳丽张大伟
申请(专利权)人:上海航天测控通信研究所
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1