当前位置:主页 > 科技论文 > 航空航天论文 >

支持内存区域故障自适应的星载最小模式软件方案

发布时间:2021-07-20 15:23
  针对空间环境造成的星载计算机内存区域性故障,以星载最小模式软件为研究对象,设计一种支持内存区域故障自适应的软件方案,将原来软件编译链接后使用的物理地址转变为逻辑地址,使软件具备地址重定向的能力,从而实现动态内存地址映射。通过动态映射,使软件能够动态适应发生故障的内存区域,从而保证软件的正常运行。文章提出的方案成本低,效率高,可靠性强,可大幅提高软件在内存区域损坏场景下的生存能力。 

【文章来源】:航天器工程. 2020,29(05)北大核心CSCD

【文章页数】:6 页

【部分图文】:

支持内存区域故障自适应的星载最小模式软件方案


星载软件地址空间划分

流程图,内存,流程,寄存器


经过健康检查获得的内存首地址非常重要,是本文方案的关键。该地址需要存储在CPU的某个空闲寄存器中(可以是内部寄存器,也可以是接口类寄存器),一旦选取了存储该地址的寄存器,该寄存器就成为了保存这个地址的专用寄存器,需要确保在最小模式软件中不会用到这个寄存器。本文后续示例选用SPARC系列处理器BM3803的%g7寄存器,文献[10]中寄存器%g5~%g7是保留使用,因此可以确保编译器在程序编译时不会使用该寄存器。本文给出的所有存储空间地址、寄存器定义等示例均以BM3803处理器为例。健康检查后的内存块首地址存入选定的寄存器,尾地址写入堆栈指针。1.2.3 程序全局属性构件化及实例化

效果图,效果,全局,机器码


测试目标机使用星载计算机,处理器为BM3803,内存为8 Mbyte(4片SRAM芯片,每片2 Mbyte)。由于无法物理模拟芯片内部区域损坏情况,测试时采用断开第1片SRAM的片选信号CS1,这样原内存空间0x40000000~0x407FFFFF中,0x40000000~0x401FFFFF的地址全部无法正常访问。经测试,全局构件首地址自动从0x40000000调整至0x40200000,完整跳过了第1片SRAM的地址空间,其功能得以稳定运行。图4是运行效果示意。性能方面,在每个需要使用全局属性的函数起始处,都需要首先调用构件访问接口,以获得全局构件首地址。根据SPARC编译器反汇编出的程序进行分析,调用该接口占用4条汇编语句。另外,对全局属性的访问相较原来都变为了指针访问的方式;从反汇编可以看出,每次访问变量都需要先获取指针,再访问对应变量,这样每个全局变量的访问较原来都增加了2条汇编语句。总体上来看,经过编译后的机器码存储占用空间较原来增加不足5%(不同编程风格变化不同)。在运算速度上,将代码放置在ROM中运行,速度较在RAM中运行下降较多,但最小模式软件功能较为简单,运算速度下降对软件功能几乎没有影响。另外,由机器码增多带来的运行速度下降几乎可以忽略。

【参考文献】:
期刊论文
[1]高分三号卫星中央单元多分区引导的设计与验证[J]. 董振辉,王向晖,穆强,潘莉,韦涌泉.  航天器工程. 2017(06)
[2]航天器1553B总线控制器RAM故障自主诊断与处理方法[J]. 方峰,张睿,杨丽君,周波,王向晖,郝维宁.  航天器工程. 2017(04)
[3]具备重构能力的三模冗余器载计算机研究[J]. 陈玉坤,冯忠伟,张声艳,刘冬.  计算机测量与控制. 2017(02)
[4]航天器综合电子系统在轨重构容错技术研究[J]. 吴海超,栾家辉,张亮,许皓.  航天器工程. 2016(02)
[5]微小卫星单粒子闩锁防护技术研究[J]. 张昊,王新升,李博,周开兴,陈德祥.  红外与激光工程. 2015(05)
[6]基于宏定义动态链接的模块化星载软件升级方法研究[J]. 李磊霞,王宇,林宝军,张善从.  空间科学学报. 2010(02)



本文编号:3293080

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/hangkongsky/3293080.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户25156***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com