CN112527372A - 一种卫星在轨软件的更新方法 - Google Patents
一种卫星在轨软件的更新方法 Download PDFInfo
- Publication number
- CN112527372A CN112527372A CN202011527142.5A CN202011527142A CN112527372A CN 112527372 A CN112527372 A CN 112527372A CN 202011527142 A CN202011527142 A CN 202011527142A CN 112527372 A CN112527372 A CN 112527372A
- Authority
- CN
- China
- Prior art keywords
- software
- satellite
- orbit
- original
- binary code
- 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 28
- 238000005266 casting Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000002347 injection Methods 0.000 description 5
- 239000007924 injection Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012360 testing method 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
- G06F8/658—Incremental updates; Differential updates
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
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
技术领域
本发明涉及航空航天技术领域,特别涉及一种卫星在轨软件的更新方法。
背景技术
随着卫星技术的发展,对卫星软件可在轨更新提出了更迫切的需求。卫星软件在轨更新有两个方面的需求推动:一是由于卫星发射后的在轨状态与地面仿真模拟时的状态发生变化,因此会对软件功能需求提出新的要求,使得卫星软件任务功能需要更新升级;二是由于卫星软件地面测试的不充分性,使得卫星软件可能存在缺陷,而卫星发射后软件缺陷暴露,导致运行故障。
目前已有一些应用于卫星上的卫星软件在轨更新方法,这些方法主要采取了分进程上注的策略,将修改后的二进制码通过测控通道上注到卫星星务计算机上,进而刷新FLASH中对应的软件代码区。
这类方法的上注数据量大,星务软件的进程代码量一般在10KB-200KB之间,对于200KB的进程,上注需要400多帧,时间大概是1200秒,大约3-4次出入境才能完成,这就增加了软件更新的难度和风险。
发明内容
针对现有技术中的部分或全部问题,本发明提供一种卫星在轨软件的更新方法,包括:
在地面更新软件后,将新的软件与原有软件进行差分比较,生成差分包;
将所述差分包上注至卫星;以及
卫星的星务软件对所述差分包进行解析,并根据所述差分包修改在轨软件。
进一步地,所述差分比较包括对软件的二进制编码进行差分比较。
进一步地,所述差分比较包括:
将新的软件与原有软件逐字节比较,查找数值不同的位置;以及
根据所述数值不同的位置,按区域比对,确定增加的二进制码以及删除的二进制码。
进一步地,所述在轨软件保存于卫星的FLASH和/或EEPROM中。
进一步地,所述在轨软件的修改包括:
确认差分包中的内容,包括删除二进制码地址,增加二进制码地址以及修改二进制码地址;
将在轨软件拷贝至内存中,但不拷贝所述删除二进制码地址对应的内容,得到拷贝软件;
根据所述增加二进制码地址,在所述拷贝软件的相应的位置插入新增的二进制码,以及根据所述修改二进制码地址,替换所述拷贝软件的相应的位置的数值,得到新在轨软件;以及
对所述新在轨软件进行校验,若正确,则拷贝至原在轨软件的存储位置。
本发明提供的一种卫星在轨软件的更新方法,在地面进行新旧软件的比较,然后将改变信息发送至卫星,卫星根据改变信息进行在轨软件更新升级,大大减少了软件上注的数据量,可增加在轨软件的更新或重构速度。
附图说明
为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
图1示出本发明一个实施例的一种卫星在轨软件的更新方法的流程示意图。
具体实施方式
以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。此外,应理解附图中示出的各实施例是说明性表示且不一定按正确比例绘制。
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
需要说明的是,本发明的实施例以特定顺序对工艺步骤进行描述,然而这只是为了阐述该具体实施例,而不是限定各步骤的先后顺序。相反,在本发明的不同实施例中,可根据工艺的调节来调整各步骤的先后顺序。
现有卫星软件更新方法是将新的代码整体上注至在轨卫星,这就使得整个上注过程所需时长较长,根据统计,一次软件代码上注通常需要1200秒左右,大约需要3-4次出入境才能完成,这就提高了软件更新的风险。发明人经过研究发现,多数时候,在轨软件需要更新修改的代码相较于软件整体而言较小,若仅将需要修改的代码上注,即可大大减少上注数据量,进而使得上注时间缩短。需要修改的代码可以通过逐帧对比的方式得到,但是采用这种方式时,若存在代码增加或删减时,就会使得增加或删减对应位置后的代码都与原软件代码存在差异,从而使得得到的差异数据的数据量仍旧较大,针对这种问题,发明人独创地采用了分区域对比的方式,尽可能地减小了差异数据的大小。下面结合实施例附图对本发明的方案做进一步描述。
图1示出本发明一个实施例的一种卫星在轨软件的更新方法的流程示意图。如图1所示,一种卫星在轨软件的更新方法,包括:
在步骤101,软件对比。根据需求,在地面对软件进行更新,然后在地面将更新后的软件与原有软件进行差分比较,生成差分包;在本发明的一个实施例中,所述差分比较包括将更新后的软件与原有软件的二进制编码进行比较,在本发明的又一个实施例中,所述差分比较包括:
将更新后的软件与原有软件的二进制编码逐字节比较,查找数值不同的位置;以及
根据所述数值不同的位置,按区域比对,确定增加的二进制码以及删除的二进制码;
根据差分比较得到的信息,按照约定格式形成差分包,所述差分包包括删除二进制码地址、增加二进制码地址、修改二进制码地址、以及增加的二进制码、需要修改的二进制码;
接下来,在步骤102,数据上注。将所述差分包上注至卫星;以及
最后,在步骤103,在轨软件更新。卫星的在轨软件通常保存于卫星的FLASH和/或EEPROM中,为了实现在轨软件的更新,首先需要将原有的在轨软件拷贝至内存中,由于新的软件相较于原有软件可能删除了部分代码,这部分删除的代码可不必拷贝出来,因此,在本发明的一个实施例中,在拷贝原有的在轨软件之前,卫星的星务软件首先对所述差分包进行解析,以获得删除二进制码地址,然后根据所述删除二进制码地址,将其余的软件代码从FLASH和/或EEPROM中拷贝至内存,接下来,根据所述增加二进制码地址,将增加的二进制码插入指定位置,以及根据所述修改二进制码,替换掉对应位置的二进制码,形成新的在轨软件后,还需对新的在轨软件进行校验,并与所述差分包中的校验位进行核对,校验位正确,则可将内存中的更新后的在轨软件拷贝至原在轨软件的存储位置,覆盖原有的在轨软件。
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。
Claims (6)
1.一种卫星在轨软件的更新方法,其特征在于,包括步骤:
在地面将更新后的软件与原有软件进行比较,生成差分包;
将所述差分包上注至卫星;以及
通过卫星的星务软件对所述差分包进行解析,并根据所述差分包修改在轨软件。
2.如权利要求1所述的更新方法,其特征在于,更新后的软件与原有软件比较包括:对更新后的软件与原有软件的二进制编码进行差分比较。
3.如权利要求2所述的更新方法,其特征在于,所述差分比较包括:
将更新后的软件与原有软件的二进制编码逐字节比较,查找数值不同的位置;以及
根据所述数值不同的位置,按区域比对,确定增加的二进制码以及删除的二进制码。
4.如权利要求3所述的更新方法,其特征在于,所述差分包包括:删除二进制码地址、增加二进制码地址及其对应的增加的二进制码、以及修改二进制码地址及其对应的修改后的二进制码。
5.如权利要求1所述的更新方法,其特征在于,所述在轨软件保存于卫星的FLASH和/或EEPROM中。
6.如权利要求4所述的更新方法,其特征在于,所述在轨软件的修改包括:
将在轨软件拷贝至内存中,但不拷贝所述删除二进制码地址对应的内容,得到拷贝软件;
根据所述增加二进制码地址,在所述拷贝软件的相应的位置插入对应的增加的二进制码,以及根据所述修改二进制码地址,采用修改后的二进制码替换原有数值,得到新在轨软件;以及
对所述新在轨软件进行校验,若正确,则拷贝至原在轨软件的存储位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011527142.5A CN112527372A (zh) | 2020-12-22 | 2020-12-22 | 一种卫星在轨软件的更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011527142.5A CN112527372A (zh) | 2020-12-22 | 2020-12-22 | 一种卫星在轨软件的更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527372A true CN112527372A (zh) | 2021-03-19 |
Family
ID=75002304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011527142.5A Pending CN112527372A (zh) | 2020-12-22 | 2020-12-22 | 一种卫星在轨软件的更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527372A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980161A (zh) * | 2010-11-01 | 2011-02-23 | 航天东方红卫星有限公司 | 一种星载计算机软件的在轨更新方法 |
CN102799502A (zh) * | 2012-06-28 | 2012-11-28 | 航天恒星科技有限公司 | 一种星载嵌入式软件在轨维护方法 |
CN103164242A (zh) * | 2013-02-01 | 2013-06-19 | 中国人民解放军国防科学技术大学 | 卫星星务软件上注方法 |
CN107391189A (zh) * | 2017-07-17 | 2017-11-24 | 上海卫星工程研究所 | 星载软件的在轨编程方法 |
-
2020
- 2020-12-22 CN CN202011527142.5A patent/CN112527372A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980161A (zh) * | 2010-11-01 | 2011-02-23 | 航天东方红卫星有限公司 | 一种星载计算机软件的在轨更新方法 |
CN102799502A (zh) * | 2012-06-28 | 2012-11-28 | 航天恒星科技有限公司 | 一种星载嵌入式软件在轨维护方法 |
CN103164242A (zh) * | 2013-02-01 | 2013-06-19 | 中国人民解放军国防科学技术大学 | 卫星星务软件上注方法 |
CN107391189A (zh) * | 2017-07-17 | 2017-11-24 | 上海卫星工程研究所 | 星载软件的在轨编程方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8055096B2 (en) | Method and system for incremental patching of binary files | |
EP1569102B1 (en) | Flash memory programming | |
US20050085222A1 (en) | Software updating process for mobile devices | |
EP1934727B1 (en) | Method and system for in-place updating content stored in a storage device | |
CN109358869A (zh) | 配置文件修改方法、装置、计算机设备和存储介质 | |
WO2007039907A2 (en) | Methods and systems for updating content including a compressed version | |
US7992076B2 (en) | Method and device of rewriting a primary sector of a sector erasable semiconductor memory means | |
EP1855197B1 (en) | Method and system for incremental patching of binary files | |
CN111400267A (zh) | 记录日志的方法和装置 | |
CN115934147A (zh) | 软件自动修复方法、系统、电子设备及存储介质 | |
CN112527372A (zh) | 一种卫星在轨软件的更新方法 | |
CN111142922B (zh) | 应用程序更新方法、装置、终端及服务器 | |
CN107783778B (zh) | 一种基于特征值查表法的增量升级方法 | |
CN100492293C (zh) | 一种客制化基本输入输出系统的更新方法 | |
CN107172493B (zh) | 一种能兼容不同分区类型的ota升级方法 | |
CN111918278A (zh) | 空中下载升级校验方法、装置、介质和智能终端设备 | |
US20100064196A1 (en) | Data processing systems and methods for loading data from non volatile memory to a memory | |
CN115934137A (zh) | 一种星载文件在轨编程方法及系统 | |
CN114567628B (zh) | 一种ota升级方法和装置 | |
CN113301062B (zh) | 数据模型的同步方法、通信设备以及具有存储功能的装置 | |
CN111897714B (zh) | 一种基于辅助测试工具的测试数据沉淀方法、装置及系统 | |
CN116860309A (zh) | 部分更新文件数据块读写方法及差分还原、增量更新方法 | |
CN103984566B (zh) | 一种在轨细粒度的功能函数增加方法 | |
GB2295908A (en) | Updating EPROMs | |
US20230418591A1 (en) | Firmware update method of a flash bootloader in a micro controller unit for a vehicle |
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 |