一种星载嵌入式软件在轨维护方法,用于对空间飞行器上的嵌入式软件采用增量上注方式实施在轨维护。(1)增量上注数据生成:在确定需要对星载软件进行在轨维护后,将更新后的星载嵌入式软件进行编译、链接,生成二进制文件,将更新后的二进制文件和在轨运行的程序对应的二进制文件做比较,生成增量文件;(2)增量上注数据上行注入:地面将增量文件分包注入到星上存储区中,收到一包上注包,就将上注包里的有效数据提取出来并写入预设的增量文件的存储区,直至所有上注包收完;(3)增量上注数据重组运行:将上注的增量文件与原来存在程序存储器里的二进制文件作比较和重新组合,生成新的程序后将新程序载入内存,并执行新的程序,完成对嵌入式软件的在轨维护。
【技术实现步骤摘要】
本专利技术涉及,用于对空间飞行器上的嵌入式软件实施在轨维护。
技术介绍
当星载嵌入式软件在飞行过程中出现问题或需要增加新的功能时,需要对该软件进行故障修复或功能升级。目前,对星载软件的在轨维护,国内主要方法是将修改后的软件 直接由地面注入到嵌入式系统中,然后通过在轨维护程序启动修改后的嵌入式软件,这种方法需要注入的文件较大,传输时间长,需要较大的内存来存储上注文件,并且存在较大风险,一旦上注过程发生故障,可能会导致整个系统运行实效。而且目前的大多数在轨维护方法,都只能对软件的局部功能进行在轨维护。
技术实现思路
本专利技术的技术解决问题克服现有技术的不足,提供一种可以有效且全面地对星载嵌入式软件进行在轨维护的方法,该方法资源耗费少,算法简单,比较算法适用于任何芯片类型,可移植性好,有效的提高了软件的可靠性、安全性和可维护性。本专利技术的技术解决方案星载嵌入式软件在轨维护方法,其特征在于通过以下步骤实现(I)增量上注数据生成在确定需要对星载软件进行在轨维护后,将更新后的星载嵌入式软件进行编译、链接,生成二进制文件,将更新后的二进制文件和在轨运行的程序对应的二进制文件做比较,生成增量文件;(2)增量上注数据上行注入地面将增量文件分包注入到星上存储区中,收到一包上注包,就将上注包里的有效数据提取出来并写入预设的增量文件的存储区,直至所有上注包收完;(3)增量上注数据重组运行将上注的增量文件与原来存在程序存储器里的二进制文件作比较和重新组合,生成新的程序后将新程序载入内存,并执行新的程序,完成对嵌入式软件的在轨维护。所述步骤(I)中生成增量文件的步骤如下(I. I)判断更新后的二进制文件是否已经读完,是则跳到步骤(I. 6),否则进入下一步;(1.2)从更新后的二进制文件和在轨运行程序对应的二进制文件中依次读出一个字节;判断读出的两个字节是否相同,相同则返回步骤(I. I),不同进入下一步;(I. 3)判断在轨运行程序对应的二进制文件是否已经读完,是则表示更新后的二进制文件增加了一段数据,增加的数据为更新后的二进制文件当前读取地址开始到更新后的二进制文件尾的所有内容,形成一个模式为“增加”的变更程序块,并回到步骤(I. 1),否则进入下一步;(1.4)根据更新后的二进制文件中从读出的当前字节开始一段数据搜索在轨运行程序对应的二进制文件,看是否删除了一段数据,是则形成一个模式为“删除”的变更程序块,并回到步骤(I. I),否则进入下一步;(I. 5)根据在轨运行程序对应的二进制文件中从读出的当前字节开始一段数据搜索更新后的二进制文件,看是否增加了一段数据,是则形成一个模式为“增加”的变更程序块,并回到步骤(I. I);否则形成一个模式为“替换”的变更程序块,并回到步骤(I. I);(I. 6)判断在轨运行程序对应的二进制文件是否已经读完,是则结束比较,否则表示删除了一段数据,删除的内容为在轨运行程序对应的二进制文件当前读取地址开始到在轨运行程序对应的二进制文件尾的所有内容,形成一个模式为“删除”的变更程序块,结束比较;上述“增加”的变更程序块的形成过程为将在轨运行程序对应的二进制文件的当前读取地址写入增量文件,并在增量文件中采用固定的标号描述程序变更模式,并将增加的数据长度及内容写入增量文件;上述“删除”的变更程序块的形成过程为将在轨运行程序对应的二进制文件的当前读取地址写入增量文件,并在增量文件中采用固定的标号描述程序变更模式,并将删除的数据长度写入增量文件;上述“替换”的变更程序块的形成过程如下将在轨运行程序对应的二进制文件的当前读取地址写入增量文件,并在增量文件中采用固定的标号描述程序变更模式,并将替换字节的长度以及更新后的二进制文件中读出的当前字节写入增量文件。所述步骤(2)中的星上存储区采用非易失性存储器FLASH或EEPR0M。本专利技术与现有技术相比的有益效果是(I).本专利技术采用增量上注方式本方法不需要将更新升级后的软件目标文件全部上行传输,只需将发生变更的部分上行传输到嵌入式系统中,支持嵌入式软件的部分或全面升级;(2).采用增量上注数据通用自动化生成设计增量上注数据通过增量文件生成技术自动生成,增量文件生成技术比较的文件为最终写入程序存储器的二进制文件,比较算法与文件格式无关,适用于任何嵌入式芯片;(3).采用断电保护设计增量上注数据采用FLASH、EEPOM等非易失性存储器存储,即使软件运行平台断电,再次加电后已上注的增量文件仍然有效;(4).采用断点续传设计在增量上注数据通过遥控遥测接口由地面传输到飞行器的过程中,通过在分包过程中设置上注数据包序号,能够支持数据多次过境续传,不要求连续注入,不受过境时间与遥控弧段的限制。(5).采用系统安全启动设计增量上注数据存储在FLASH、EEP0M等非易失性存储器中,通过与嵌入式系统原有程序文件重组后直接载入内存运行,不修改原来程序存储器里的程序数据。如果增量上注数据注入发生故障,设备重新加断电或软件复位重启后,仍然运行原有程序,保证了即使增量上注数据注入发生故障,也不会导致嵌入式系统彻底失效。(6).支持多次上注设计不受软件已上注的限制,在运行上注程序的过程中,可以再次进行上注更新,无上注次数限制。(7).采用通用重组技术可移植性设计目前已针对DSP和ARM两类主流嵌入式芯片设计了重组算法,可以很方便地移植到DSP和ARM任何型号的芯片上。附图说明图I为本专利技术系统框图;图2为本专利技术旧文件相对于新文件删除了一段数据示意图;图3为本专利技术新文件相对于旧文件增加了一段数据示意图;图4为本专利技术基于ARM的嵌入式程序重组示意图;图5为本专利技术基于ARM的嵌入式程序重组流程图; 图6为本专利技术基于DSP的嵌入式程序重组示意图;图7为本专利技术基于DSP的嵌入式程序地址重映射流程图;图8为本专利技术基于DSP的嵌入式程序重组流程图。具体实施例方式下面结合附图对本专利技术做进一步详细说明。在轨维护方法主要包括增量文件生成技术和嵌入式软件重组技术两个部分。增量文件生成技术用于生成增量文件;嵌入式软件重组技术用于程序重组和加载。如图I所示,本专利技术步骤如下(I)增量上注数据生成在确定需要对星载软件进行在轨维护后,将更新后的星载嵌入式软件进行编译、链接,生成二进制文件,将更新后的二进制文件和在轨运行的程序对应的二进制文件做比较,生成增量文件;增量文件的生成利用的是基于文件的比对算法。用于比对的文件为编译后的二进制文件,比对算法是基于文件的,与文件格式无关。文件比较的基本思想为首先认为在轨运行的程序所生成的二进制文件为旧文件,由地面更新后的二进制文件为新文件。然后从两文件头开始依次读取一个字节做比较。如果两字节相同,则不做任何处理,接着读下一个字节。如果两字节不相同,则需要判断字节不相同的原因。字节不相同有3种情况。一种情况是旧文件相对于新文件删除了一段数据,所以当前比较的字节不相同。如图2所示,旧文件当前读取的字节为a,新文件当前读取的字节为b。如果通过搜索文件,发现旧文件从地址k到地址ml的内容和新文件从地址n2到地址m2的内容完全相同,则认为旧文件相对于新文件删除了一段数据,删除的内容为地址nl到地址k-1的数据。n2到m2的长度可以根据具体情况设置。根据经验,可以设置为32或64字节。第本文档来自技高网...
【技术保护点】
星载嵌入式软件在轨维护方法,其特征在于通过以下步骤实现:(1)增量上注数据生成:在确定需要对星载软件进行在轨维护后,将更新后的星载嵌入式软件进行编译、链接,生成二进制文件,将更新后的二进制文件和在轨运行的程序对应的二进制文件做比较,生成增量文件;(2)增量上注数据上行注入:地面将增量文件分包注入到星上存储区中,收到一包上注包,就将上注包里的有效数据提取出来并写入预设的增量文件的存储区,直至所有上注包收完;(3)增量上注数据重组运行:将上注的增量文件与原来存在程序存储器里的二进制文件作比较和重新组合,生成新的程序后将新程序载入内存,并执行新的程序,完成对嵌入式软件的在轨维护。
【技术特征摘要】
【专利技术属性】
技术研发人员:李璐,李东俊,张建伟,王刚,万祥,钟海波,
申请(专利权)人:航天恒星科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。