CN112099833B - 一种星载计算机固件远程更新方法 - Google Patents

一种星载计算机固件远程更新方法 Download PDF

Info

Publication number
CN112099833B
CN112099833B CN202010790114.6A CN202010790114A CN112099833B CN 112099833 B CN112099833 B CN 112099833B CN 202010790114 A CN202010790114 A CN 202010790114A CN 112099833 B CN112099833 B CN 112099833B
Authority
CN
China
Prior art keywords
satellite
difference
program memory
instruction
computer
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
CN202010790114.6A
Other languages
English (en)
Other versions
CN112099833A (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.)
Beijing Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
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 Beijing Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN202010790114.6A priority Critical patent/CN112099833B/zh
Publication of CN112099833A publication Critical patent/CN112099833A/zh
Application granted granted Critical
Publication of CN112099833B publication Critical patent/CN112099833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

一种星载计算机固件远程更新方法,利用星载计算机在业务不中断的情况下高效、可靠的对程序存储器映像文件进行更新,兼顾在轨操作效率,降低在轨保障人员操作复杂性,能够保整个在轨操作过程的安全性,能够进行星载计算机程序存储、更新,实现星地协同配合校验,从而保障系统平台在轨连续稳定运行,已于在轨维护任务中发挥重要作用。

Description

一种星载计算机固件远程更新方法
技术领域
本发明涉及一种星载计算机固件远程更新方法,属于空间飞行器在轨维护领域。
背景技术
卫星运行过程中需要经常性的进行在轨维护,在轨维护可根据更动规模分为两类:程序存储器整片重构和部分更新。由于卫星连续在轨稳定运行的底线要求,软件在轨维护操作的属于高安全关键等级操作,必须确保操作的万无一失。
随着航天产业的发展,客户对于航天器在轨连续稳定运行的期盼将越来越高,在轨操作有常态化的趋势,美国在研的GPS-3F卫星将在轨升级与重构能力作为重点研究方向。由于航天领域对风险控制的苛刻要求,在轨维护一般均采取局部更动的措施。目前,国内外已在自动化测试领域开展了一些研究,如专利CN201710476446的“一种基于二次链接的航天器在轨维护注入码生成方法”,其提出本发明在保证原在轨软件二进制码不发生变化的前提下,通过编译器对二次链接的支持,自动实现在轨维护软件中各个地址相关项的重定位过程,从而大大提升了航天器在轨维护注入码的生成效率和正确性,其所述方法用于生成新的BIN文件,本发明所述方法为星载计算机如何在业务不中断的情况下如何高效、可靠的从旧的BIN进化到新的BIN,因此已有专利与本发明的权利要求没有冲突。
发明内容
本发明解决的技术问题是:针对目前现有技术中,卫星软件在轨维护对风险控制日益苛刻的要求,提出了一种星载计算机固件远程更新方法。
本发明解决上述技术问题是通过如下技术方案予以实现的:
一种星载计算机固件远程更新方法,步骤如下:
(1)通过星载计算机周期性采集星载计算机的运行剖面数据特征信息,所述运行剖面数据特征信息包括时戳、校验字;
(2)将步骤(1)所得运行剖面数据特征信息存储于星载计算机的非易失性存储器中,并将存储的信息根据当前星载计算机与其他星载计算机的接口约定,于其他星载计算机上进行存储;
(3)于地面控制端对待更新程序存储器映像文件与当前在轨运行的程序存储器映像文件进行对比,根据差异生成差异比较报告及在轨修改中间码;
(4)利用地面控制端根据步骤(3)所得在轨修改中间码生成遥控指令序列,并经由遥控信道上注至星载计算机进行当前程序存储器更新;
(5)通过地面控制端、星载计算机协同配合进行更新后程序存储器的校验,对校验异常区域进行自动定位,并通过地面控制端进行异常区域纠错;
(6)完成程序存储器更新,对更新后的星载计算机进行重新引导,完成远程更新,确保卫星平台在轨连续稳定运行。
所述步骤(3)中,生成差异比较报告及在轨修改中间码的具体步骤为:
(3-1)分别于待更新程序存储器映像文件、当前程序存储器映像文件的文件头部读取4个字节进行比较,若比较结果相同,则继续读取4个字节直至比较结果不同;若比较结果不同,进入步骤(3-2);
(3-2)标记当前差异起始位置,于差异比较报告中记录差异序数,以当前读指针为差异地址,以当前程序存储器映像文件对应内容为差异原内容,将读指针数增加4,并继续进行比较,若比较结果不同,对非差异起始位置的差异内容于差异比较报告仅进行记录,并将读指针数增加4继续进行比较;若比较结果相同,则进入步骤(3-3);若当前差异地址为当前程序存储器映像文件末尾,则结束比较进入步骤(3-4);
(3-3)对步骤(3-2)的比较结果记录该段差异的差异起始地址、差异累计长度,并生成该段差异的在轨中间码指令,进入步骤(3-5);
(3-4)根据步骤(3-2)的比较结果记录并生成差异比较报告,根据差异比较报告生成的差异起始地址、差异累计长度生成该段差异的在轨中间码指令;
(3-5)重复步骤步骤(3-1)、步骤(3-2)直至遍历待更新程序存储器映像文件、当前程序存储器映像文件的所有地址,将各段差异的差异起始地址、差异累计长度进行记录,生成差异比较报告,同时生成各段差异的在轨中间码指令。
所述步骤(4)中,生成遥控指令序列并进行上注的具体步骤为:
(4-1)根据遥控信道属性参数,确定上注的遥控指令的时间间隔;
(4-2)根据步骤(3)所得在轨修改中间码生成对应的内存修改指令序列,根据星载计算机的遥控协议对所得内存修改指令序列进行遥控指令封装;
(4-3)开始上注,并根据上注的内存修改指令序列修改星载计算机程序。
所述步骤(5)中,对校验异常区域进行自动定位并纠错的具体步骤为:
(5-1)地面控制端于开始校验时生成程序存储器区校验指令,星载计算机根据该指令对程序存储器区进行整区校验,所述程序存储器区校验指令包括校验起始地址、校验长度,所述校验起始地址为本地非易失性存储器的起始地址,校验长度为程序存储器区长度,所述称取存储器区校验指令即为内存校验指令;
(5-2)星载计算机接收内存校验指令,对程序存储器区进行校验计算,通过遥测信道将校验结果下传至地面控制端;
(5-3)地面控制端对校验结果进行提取,与地面控制端本地计算所得校验结果进行对比,若结果一致,则进入步骤(6);若结果不一致,则存在程序存储器区故障,进入步骤(5-4);
(5-4)由地面控制端生成细分程序存储器区校验指令,对星载计算机的程序存储器区进行划分,分别进行校验,由程序存储器区首地址开始,对划分后各区域进行校验,将所得各区校验结果记入差异比较报告,对存在差异的区域通过地面控制端发送内存修改指令进行自主纠错,若存在纠错失败情况,则由地面控制端生成内存下传指令,将内存下传指令包含内容与当前星载计算机的程序存储器区映像文件进行比较,并生成新的差异比较报告由地面控制端判断是否需要人工修正。
所述步骤(6)中,对软件更新后的星载计算机进行重新引导完成系统远程更新的具体步骤为:
(6-1)地面控制端确认星载计算机可于当前飞行及测控条件下进行主动切机时,由地面控制端向星载计算机发送主动切机遥控指令;
(6-2)完成主动切机后,星载计算机引导软件由程序存储器区提取新的软件映像复制到RAM区,引导星载计算机RAM区代码运行,完成星载计算机重启;
(6-3)于星载计算机的本地非易失性存储器中读取切机前的运行剖面数据特征信息进行校验,若校验通过,则星载计算机恢复切机前的正常工作状态,确保卫星平台在轨连续稳定运行,若校验不通过,则进入步骤(6-4);
(6-4)通过通信链路于其他星载计算机获取切机前的运行剖面数据特征信息进行校验,使本地星载计算机自主恢复正常工作状态,确保卫星平台在轨连续稳定运行。
本发明与现有技术相比的优点在于:
本发明提供的一种星载计算机固件远程更新方法,于用户及服务器架构层面,分配在星载计算机端的功能为内存修改、内存下传、内存校验等服务原语,整体控制操作集中于地面控制端,不需要对星端进行过多改造,具备更广的适用范围和更强的实用性,同时最大程度降低了固件升级过程中人工判读的复杂度,将正确性校验功能及存储器故障定位等功能分配在地面控制端,操作人员仅需确认主动切机的时机,能够更好确保在轨操作的可靠性和安全性,消除由于人员疲劳、紧张而带来的操作风险。本发明已在北斗三号导航卫星在轨维护任务中发挥重要作用,兼顾在轨操作效率,确保整个在轨操作过程的安全性,从而保障系统平台在轨连续稳定运行。
附图说明
图1为发明提供的差异比较报告生成流程示意图;
具体实施方式
一种星载计算机固件远程更新方法,从在轨操作可靠性安全性的角度考虑,兼顾在轨操作效率,降低在轨保障人员操作复杂性,从方法设计上确保整个在轨操作过程的安全性,从而保障系统平台在轨连续稳定运行,能够进行星载计算机程序存储、更新,实现星地协同配合校验,具体步骤如下:
(1)通过星载计算机周期性采集星载计算机的运行剖面数据特征信息,所述运行剖面数据特征信息包括时戳、校验字;
(2)将步骤(1)所得运行剖面数据特征信息存储于星载计算机的非易失性存储器中,并将存储的信息根据当前星载计算机与其他星载计算机的接口约定,于其他星载计算机上进行存储;
(3)于地面控制端对待更新程序存储器映像文件与当前在轨运行的程序存储器映像文件进行对比,根据差异生成差异比较报告及在轨修改中间码;
其中,生成差异比较报告及在轨修改中间码的具体步骤为:
(3-1)分别于待更新程序存储器映像文件、当前程序存储器映像文件的文件头部读取4个字节进行比较,若比较结果相同,则继续读取4个字节直至比较结果不同;若比较结果不同,进入步骤(3-2);
(3-2)标记当前差异起始位置,于差异比较报告中记录差异序数,以当前读指针为差异地址,以当前程序存储器映像文件对应内容为差异原内容,将读指针数增加4,并继续进行比较,若比较结果不同,对非差异起始位置的差异内容于差异比较报告仅进行记录,并将读指针数增加4继续进行比较;若比较结果相同,则进入步骤(3-3);若当前差异地址为当前程序存储器映像文件末尾,则结束比较进入步骤(3-4);
(3-3)对步骤(3-2)的比较结果记录该段差异的差异起始地址、差异累计长度,并生成该段差异的在轨中间码指令,进入步骤(3-5);
(3-4)根据步骤(3-2)的比较结果记录并生成差异比较报告,根据差异比较报告生成的差异起始地址、差异累计长度生成该段差异的在轨中间码指令;
(3-5)重复步骤步骤(3-1)、步骤(3-2)直至遍历待更新程序存储器映像文件、当前程序存储器映像文件的所有地址,将各段差异的差异起始地址、差异累计长度进行记录,生成差异比较报告,同时生成各段差异的在轨中间码指令;
(4)利用地面控制端根据步骤(3)所得在轨修改中间码生成遥控指令序列,并经由遥控信道上注至星载计算机进行当前程序存储器更新;
其中,生成遥控指令序列并进行上注的具体步骤为:
(4-1)根据遥控信道属性参数,确定上注的遥控指令的时间间隔;
(4-2)根据步骤(3)所得在轨修改中间码生成对应的内存修改指令序列,根据星载计算机的遥控协议对所得内存修改指令序列进行遥控指令封装;
(4-3)开始上注,并根据上注的内存修改指令序列修改星载计算机程序;
(5)通过地面控制端、星载计算机协同配合进行更新后程序存储器的校验,对校验异常区域进行自动定位,并通过地面控制端进行异常区域纠错;
其中,对校验异常区域进行自动定位并纠错的具体步骤为:
(5-1)地面控制端于开始校验时生成程序存储器区校验指令,星载计算机根据该指令对程序存储器区进行整区校验,所述程序存储器区校验指令包括校验起始地址、校验长度,所述校验起始地址为本地非易失性存储器的起始地址,校验长度为程序存储器区长度,所述称取存储器区校验指令即为内存校验指令;
(5-2)星载计算机接收内存校验指令,对程序存储器区进行校验计算,通过遥测信道将校验结果下传至地面控制端;
(5-3)地面控制端对校验结果进行提取,与地面控制端本地计算所得校验结果进行对比,若结果一致,则进入步骤(6);若结果不一致,则存在程序存储器区故障,进入步骤(5-4);
(5-4)由地面控制端生成细分程序存储器区校验指令,对星载计算机的程序存储器区进行划分,分别进行校验,由程序存储器区首地址开始,对划分后各区域进行校验,将所得各区校验结果记入差异比较报告,对存在差异的区域通过地面控制端发送内存修改指令进行自主纠错,若存在纠错失败情况,则由地面控制端生成内存下传指令,将内存下传指令包含内容与当前星载计算机的程序存储器区映像文件进行比较,并生成新的差异比较报告由地面控制端判断是否需要人工修正;
(6)完成程序存储器更新,对更新后的星载计算机进行重新引导,完成远程更新,确保卫星平台在轨连续稳定运行;
其中,对更新后的星载计算机进行重新引导完成远程更新的具体步骤为:
(6-1)地面控制端确认星载计算机可于当前飞行及测控条件下进行主动切机时,由地面控制端向星载计算机发送主动切机遥控指令;
(6-2)完成主动切机后,星载计算机由程序存储器区提取运行剖面数据特征信息并进行复制,启动星载计算机RAM区,完成星载计算机重启;
(6-3)于星载计算机的本地非易失性存储器中读取切机前的运行剖面数据特征信息进行校验,若校验通过,则星载计算机恢复工作状态,确保卫星平台在轨连续稳定运行,若校验不通过,则进入步骤(6-4);
(6-4)通过通信链路于其他星载计算机获取切机前的运行剖面数据特征信息进行校验,使星载计算机恢复工作状态,确保卫星平台在轨连续稳定运行。
下面结合具体实施例进行进一步说明:
一种可靠的星载计算机固件远程更新方法,利用星载计算机的软件周期性保存本机运行剖面至其他单机设备或本地非易失性存储器,用于切机后的状态恢复;并通过地面控制端的软件自动分析新的程序存储器映像文件NEW.BIN与当前在轨运行的程序存储器映像文件OLD.BIN间的差异,自动生成差异比较报告和在轨修改中间码;再利用地面控制端根据在轨修改中间码生成适用于具体型号的遥控指令序列,通过遥控信道上注至星载计算机;星地协同配合完成校验过程,对修改后的存储区进行校验;若存在异常,本方法可自动定位异常区域,由地面测控端发出指令对异常区域纠错;校验通过后,在轨稳定运行状态下,对更新后的星载计算机程序进行重新引导,完成软件更新,确保卫星平台在轨连续稳定运行,具体实施例如下:
通过星载计算机周期性保存本机运行剖面至其他星载计算机单机或本地非易失性存储器,用于切机后的状态恢复,具体包括:
步骤A1:星载计算机周期性采集本机运行剖面数据;
步骤A2:由星载计算机软件生成运行剖面数据特征信息,至少包含时戳和校验字用于校验数据的完整性和时效性,不限制校验的具体方法,例如可以使用CRC校验、ISO校验等;
步骤A3:若本机本地非易失性存储器能够支持运行剖面的本地存储,将运行剖面数据保存在本机的非易失性存储器中;
步骤A4:按照与其他单机的接口约定,将运行剖面数据存储至其他单机设备。
地面控制端自动分析新的程序存储器映像文件NEW.BIN与当前在轨运行的程序存储器映像文件OLD.BIN间的差异,自动生成差异比较报告和在轨修改中间码,如图1所示,具体为:
步骤B1:自文件头部开始,每次从NEW.BIN和OLD.BIN分别读取4个字节进行比较,若一致,则读指针加4后仍执行本步骤;若不一致,则进入步骤B2;
步骤B2:进入B2表征当前进入差异起始位置,在差异比较报告中记录差异序数,即从1开始的自然数,差异地址为当前读指针,差异原内容为OLD.BIN包含内容,新内容为NEW.BIN包含内容,如表1所示,实例的差异001、002,读指针加4后仍执行本步骤;若当前差异为非差异起始位置,则差异比较报告中仅记录差异内容,如表1所示实例的差异005、006,读指针加4后仍执行本步骤;若比较过程中出现内容一致的情况,则进入步骤B3;若当前地址为BIN文件末尾,则算法结束;
表1差异比较报告实例
Figure BDA0002623460120000081
Figure BDA0002623460120000091
步骤B3:根据步骤2中的比较过程中记录的差异起始地址、差异累计长度生成本段差异的在轨中间码指令,如表2所示,在轨修改中间码是一种脚本描述格式,经过具体卫星配置适配处理后自动转化为对应的内存修改遥控指令,其含义如下:第一列为相对于脚本启动时刻的执行时间,;第二列为操作类型代码,本例中860对应内存修改指令;第三列为修改目标地址;第四列为注入内容在BIN文件中的偏移量;第五列为修改字节数;第六列为BIN文件名称。每条中间码与内存修改指令是一对一的映射关系,映射函数在地端软件中实现。通过在轨修改中间码,能够更加精确的表达在轨操作语义,且与具体具体型号测控协议解耦,具备更好的通用性;
表2在轨修改中间码实例
#05;860;[baseAddress]0db58;0x0db58;4;512K_V7_M2.after.bin
#10;860;[baseAddress]159a8;0x159a8;4;512K_V7_M2.after.bin
#15;860;[baseAddress]1dab8;0x1dab8;4;512K_V7_M2.after.bin
#20;860;[baseAddress]1df30;0x1df30;8;512K_V7_M2.after.bin
#25;860;[baseAddress]1df44;0x1df44;8;512K_V7_M2.after.bin
#30;860;[baseAddress]1df58;0x1df58;8;512K_V7_M2.after.bin
#35;860;[baseAddress]1df6c;0x1df6c;8;512K_V7_M2.after.bin
#40;860;[baseAddress]1df7c;0x1df7c;4;512K_V7_M2.after.bin
#45;860;[baseAddress]1efac;0x1efac;4;512K_V7_M2.after.bin
#50;860;[baseAddress]2d430;0x2d430;4;512K_V7_M2.after.bin
步骤B4:若当前地址为BIN文件末尾,则算法结束;否则执行步骤B1。
地面控制端根据在轨修改中间码生成适用于具体型号的遥控指令序列,通过遥控信道上注至星端,具体包括:
步骤C1:根据型号遥控信道的支持能力,确定前后两条内存修改指令的时间间隔,如表2所示,前后两条指令的时间间隔为5秒;
步骤C2:根据中间码指令中的参数自动生成内存修改指令序列,并按照具体型号遥控协议要求对遥控指令进行封装;
步骤C3:内存修改指令上注,完成内存修改。
星地协同配合完成校验过程,对修改后的存储区进行校验;若存在异常,本方法可自动定位异常区域,由地面测控端发出指令对异常区域纠错;校验通过后方可进行下个步骤,具体包括:
步骤D1:地面控制端生成整片程序存储器区校验指令,即包含校验起始地址和校验长度的内存校验指令,检验参数设置为非易失性存储器的EEPROM或FLASH起始地址,校验长度为程序存储器区长度,命令星载计算机端对修改后的程序存储器区进行整片校验;
步骤D2:星载计算机接收内存校验指令,对程序存储器区进行校验计算,通过遥测信道下行校验结果;
步骤D3:从遥测参数中提取校验结果,与本地计算的校验结果进行比对,若结果一致,则显示主动切机准备就绪,转入步骤E;若整片校验与本地计算的校验结果不一致,可能出现程序存储器区故障,则转入步骤D4;
步骤D4:整片校验不通过的情况下,为了提高定位效率,减少数据传输,由地面控制端和星载计算机配合定位固件发生故障的区域,交由地面保障人员判断决策,具体为:
步骤D4.1:地面控制端生成细分程序存储器区校验指令,即内存校验指令,检验参数设置为细分存储区,细分区域大小可在地端软件配置,需要考虑星上的计算负荷能力,例如512KB容量的EEPROM,可划分为512个1KB的细分区域块,每次生成遥控指令要求星端对1KB区域进行校验,通过遥控信道上行至星载计算机;
步骤D4.2:星载计算机接收到校验指令后,星端按指令要求完成指定区域的校验计算,通过遥测信道将校验结果下传给地面控制端,而不是下传整个内存区域,这样可以降低校验过程对通信链路的负荷要求,节省传输时间;
步骤D4.3:地面控制端接收到校验结果后,与本地计算的校验结果进行比较,若一致则表明该细分区域星地一致,继续进行下一细分区域校验;否则,记录出错信息到在轨操作包告中,而后以1/8细分区域大小生成存储区校验指令,即步骤D4.1所述实例中1KB细分区域,1/8细分区域为128Byte,校验过程同步骤D4.1、D4.2所述,定位出错区域后,自动组织内存修改指令对出错区域进行纠正,纠错后对该区域再次进行校验比对,若比对一致,则继续进行下一细分区域校验;否则,若累计自动纠正三次均校验失败,自动记录出错的地址,并发送内存下传指令,下传故障区域,生成故障包告通知地面保障人员处理;
步骤D4.4:经过上述步骤处理后得到的结果可分为以下两种,所有出错区域经过纠错指令后通过校验;存在纠错三次均失败的故障区域,已自动通知地面保障人员。
在轨稳定运行状态下,对更新后星载计算机软件进行重新引导,完成更新,具体为:
步骤E1:地面控制端保障人员确认更动后的程序存储器通过校验且卫星当前飞行及测控条件可以进行主动切机后,由地面控制端向星载计算机发送主动切机遥控指令;
步骤E2:星载计算机主动切机后,星载计算机引导软件Boot loader从程序存储器区提取新的软件映像复制到RAM区,并启动RAM区代码运行,完成计算机重启工作;
步骤E3:RAM区软件启动后,读取本地非易失性存储器的切机前的运行剖面,若校验通过,星端自主完成工作状态恢复工作,确保卫星平台在轨连续稳定运行;否则进入步骤E4;
步骤E4:通过通信链路从其他单机设备取本机切机前的运行剖面,校验通过后,星端自主恢复切机前工作状态,确保卫星平台在轨连续稳定运行。
本发明未详细说明部分属本领域技术人员公知常识。

Claims (5)

1.一种星载计算机固件远程更新方法,其特征在于步骤如下:
(1)通过星载计算机周期性采集星载计算机的运行剖面数据特征信息,所述运行剖面数据特征信息包括时戳、校验字;
(2)将步骤(1)所得运行剖面数据特征信息存储于星载计算机的非易失性存储器中,并将存储的信息根据当前星载计算机与其他星载计算机的接口约定,于其他星载计算机上进行存储;
(3)于地面控制端对待更新程序存储器映像文件与当前在轨运行的程序存储器映像文件进行对比,根据差异生成差异比较报告及在轨修改中间码;
(4)利用地面控制端根据步骤(3)所得在轨修改中间码生成遥控指令序列,并经由遥控信道上注至星载计算机进行当前程序存储器更新;
(5)通过地面控制端、星载计算机协同配合进行更新后程序存储器的校验,对校验异常区域进行自动定位,并通过地面控制端进行异常区域纠错;
(6)完成程序存储器更新,对更新后的星载计算机进行重新引导,完成远程更新,确保卫星平台在轨连续稳定运行。
2.根据权利要求1所述的一种星载计算机固件远程更新方法,其特征在于:所述步骤(3)中,生成差异比较报告及在轨修改中间码的具体步骤为:
(3-1)分别于待更新程序存储器映像文件、当前程序存储器映像文件的文件头部读取4个字节进行比较,若比较结果相同,则继续读取4个字节直至比较结果不同;若比较结果不同,进入步骤(3-2);
(3-2)标记当前差异起始位置,于差异比较报告中记录差异序数,以当前读指针为差异地址,以当前程序存储器映像文件对应内容为差异原内容,将读指针数增加4,并继续进行比较,若比较结果不同,对非差异起始位置的差异内容于差异比较报告仅进行记录,并将读指针数增加4继续进行比较;若比较结果相同,则进入步骤(3-3);若当前差异地址为当前程序存储器映像文件末尾,则结束比较进入步骤(3-4);
(3-3)对步骤(3-2)的比较结果记录该段差异的差异起始地址、差异累计长度,并生成该段差异的在轨中间码指令,进入步骤(3-5);
(3-4)根据步骤(3-2)的比较结果记录并生成差异比较报告,根据差异比较报告生成的差异起始地址、差异累计长度生成该段差异的在轨中间码指令;
(3-5)重复步骤步骤(3-1)、步骤(3-2)直至遍历待更新程序存储器映像文件、当前程序存储器映像文件的所有地址,将各段差异的差异起始地址、差异累计长度进行记录,生成差异比较报告,同时生成各段差异的在轨中间码指令。
3.根据权利要求1所述的一种星载计算机固件远程更新方法,其特征在于:所述步骤(4)中,生成遥控指令序列并进行上注的具体步骤为:
(4-1)根据遥控信道属性参数,确定上注的遥控指令的时间间隔;
(4-2)根据步骤(3)所得在轨修改中间码生成对应的内存修改指令序列,根据星载计算机的遥控协议对所得内存修改指令序列进行遥控指令封装;
(4-3)开始上注,并根据上注的内存修改指令序列修改星载计算机程序。
4.根据权利要求1所述的一种星载计算机固件远程更新方法,其特征在于:所述步骤(5)中,对校验异常区域进行自动定位并纠错的具体步骤为:
(5-1)地面控制端于开始校验时生成程序存储器区校验指令,星载计算机根据该指令对程序存储器区进行整区校验,所述程序存储器区校验指令包括校验起始地址、校验长度,所述校验起始地址为本地非易失性存储器的起始地址,校验长度为程序存储器区长度,所述程序存储器区校验指令即为内存校验指令;
(5-2)星载计算机接收内存校验指令,对程序存储器区进行校验计算,通过遥测信道将校验结果下传至地面控制端;
(5-3)地面控制端对校验结果进行提取,与地面控制端本地计算所得校验结果进行对比,若结果一致,则进入步骤(6);若结果不一致,则存在程序存储器区故障,进入步骤(5-4);
(5-4)由地面控制端生成细分程序存储器区校验指令,对星载计算机的程序存储器区进行划分,分别进行校验,由程序存储器区首地址开始,对划分后各区域进行校验,将所得各区校验结果记入差异比较报告,对存在差异的区域通过地面控制端发送内存修改指令进行自主纠错,若存在纠错失败情况,则由地面控制端生成内存下传指令,将内存下传指令包含内容与当前星载计算机的程序存储器区映像文件进行比较,并生成新的差异比较报告由地面控制端判断是否需要人工修正。
5.根据权利要求1所述的一种星载计算机固件远程更新方法,其特征在于:所述步骤(6)中,对软件更新后的星载计算机进行重新引导完成系统远程更新的具体步骤为:
(6-1)地面控制端确认星载计算机可于当前飞行及测控条件下进行主动切机时,由地面控制端向星载计算机发送主动切机遥控指令;
(6-2)完成主动切机后,星载计算机引导软件由程序存储器区提取新的软件映像复制到RAM区,引导星载计算机RAM区代码运行,完成星载计算机重启;
(6-3)于星载计算机的本地非易失性存储器中读取切机前的运行剖面数据特征信息进行校验,若校验通过,则星载计算机恢复切机前的正常工作状态,确保卫星平台在轨连续稳定运行,若校验不通过,则进入步骤(6-4);
(6-4)通过通信链路于其他星载计算机获取切机前的运行剖面数据特征信息进行校验,使本地星载计算机自主恢复正常工作状态,确保卫星平台在轨连续稳定运行。
CN202010790114.6A 2020-08-07 2020-08-07 一种星载计算机固件远程更新方法 Active CN112099833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010790114.6A CN112099833B (zh) 2020-08-07 2020-08-07 一种星载计算机固件远程更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010790114.6A CN112099833B (zh) 2020-08-07 2020-08-07 一种星载计算机固件远程更新方法

Publications (2)

Publication Number Publication Date
CN112099833A CN112099833A (zh) 2020-12-18
CN112099833B true CN112099833B (zh) 2023-07-14

Family

ID=73752739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010790114.6A Active CN112099833B (zh) 2020-08-07 2020-08-07 一种星载计算机固件远程更新方法

Country Status (1)

Country Link
CN (1) CN112099833B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597503A (zh) * 2020-12-21 2021-04-02 浙江中控技术股份有限公司 一种基于中断向量的固件检测方法与装置

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 航天东方红卫星有限公司 一种星载软件在轨维护及升级方法
CN103942066A (zh) * 2014-03-25 2014-07-23 中国科学院长春光学精密机械与物理研究所 一种星载嵌入式软件模块在轨更新方法
WO2015154513A1 (zh) * 2014-09-04 2015-10-15 中兴通讯股份有限公司 基于cpld的远程升级控制方法和装置
CN105549460A (zh) * 2016-03-10 2016-05-04 中国电子科技集团公司第十研究所 星载电子设备综合化管控系统
CN106647456A (zh) * 2016-10-14 2017-05-10 中国空间技术研究院 智能卫星平台系统和在轨应用扩展方法
CN107957874A (zh) * 2017-11-21 2018-04-24 上海航天测控通信研究所 可恢复的驻留式星载软件在轨编程方法

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 航天东方红卫星有限公司 一种星载软件在轨维护及升级方法
CN103942066A (zh) * 2014-03-25 2014-07-23 中国科学院长春光学精密机械与物理研究所 一种星载嵌入式软件模块在轨更新方法
WO2015154513A1 (zh) * 2014-09-04 2015-10-15 中兴通讯股份有限公司 基于cpld的远程升级控制方法和装置
CN105549460A (zh) * 2016-03-10 2016-05-04 中国电子科技集团公司第十研究所 星载电子设备综合化管控系统
CN106647456A (zh) * 2016-10-14 2017-05-10 中国空间技术研究院 智能卫星平台系统和在轨应用扩展方法
CN107957874A (zh) * 2017-11-21 2018-04-24 上海航天测控通信研究所 可恢复的驻留式星载软件在轨编程方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
星载大容量固态存储器快速可靠启动算法设计;李姗 等;《哈尔滨工业大学学报》;第47卷(第10期);100-105 *

Also Published As

Publication number Publication date
CN112099833A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN106569847B (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN108089876B (zh) 一种星载dsp软件在轨更新方法
CN108052355B (zh) 星载载荷单元软件在轨重组方法
CN102799502B (zh) 一种星载嵌入式软件在轨维护方法
CN109117168A (zh) 无人机固件更新方法、装置、无人机及存储介质
CN101650662A (zh) 一种嵌入式系统的存储器件、固件启动及升级方法
CN107220097B (zh) 一种大规模复杂结构软件的在轨烧写与重载方法
CN109032632A (zh) 一种fota升级方法、无线通信终端及存储介质
CN112099833B (zh) 一种星载计算机固件远程更新方法
CN102207877A (zh) 空间相机在轨程序重注方法及其系统
CN112988204B (zh) 一种无人机软件远程升级及回滚的方法
CN111897595B (zh) 一种卫星星务管理计算机软件启动与引导方法
CN110096290A (zh) 一种电池模拟器主控板软件升级方法
CN108958752A (zh) 单片机在线升级系统及方法
CN110308920B (zh) 一种不影响正常运行的在轨修改星上产品软件的方法
CN111352764B (zh) 一种芯片修复的方法、装置、设备及存储介质
CN106250193B (zh) 一种基于nand存储器的系统启动方法及系统
CN110674046B (zh) 提高星载嵌入式文件系统可靠性的方法
CN115686946A (zh) 固件更新方法、固件更新装置和车辆
CN100359485C (zh) 嵌入式系统的测试装置及测试方法
CN115291905A (zh) 基于a/b系统的高可靠性汽车ota升级方法及系统
CN112181444A (zh) 一种基于1553b总线的dsp多核数据烧写方法
CN111290885B (zh) 一种火星探测用多计算机双级数据备份及分级恢复方法
CN111857884A (zh) 高可靠星载软件启动系统及方法
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
GR01 Patent grant
GR01 Patent grant