论文部分内容阅读
自20世纪80年代现代小卫星的概念提出以来,小卫星技术发展非常迅速。星务管理计算机是现代小卫星的重要组成部分,从卫星硬件资源和软件需求分析,星务管理系统是典型的嵌入式计算机系统,但不同于普通的嵌入式系统,星务管理计算机在硬件上存在限制。本文以SPARC V7为例详细讨论用于星务管理计算机的VxWorks操作系统的移植和裁剪过程。
本文首先介绍了嵌入式操作系统的特点,然后讨论VxWorks的BSP移植与设备驱动开发方法,接着根据星上存储资源的限制,采取结合校验和压缩的加载方法加载VxWorks映像。本文针对VxWorks压缩算法的不足,提出使用Huffman算法代替VxWorks的压缩算法,并根据VxWorks映像和SPARC指令集的特点,采用分段压缩和分节压缩两种策略改进Huffman算法,改进后的Huffman算法占用存储器空间仅为VxWorks压缩算法的10%,降低了星务计算机对PROM的需求。
动态进程注入是星务管理计算机进行软件重组的重要手段。本文根据VxWorks动态调试功能,通过使用类似链接器和加载器的方法,设计并实现了VxWorks动态进程注入功能。用该方法实现的动态进程注入不需要将上传代码放入固定内存,可以一次注入多个进程,可以定义新的全局变量和函数,在功能和灵活性上均优于传统的用重新编译二进制文件的方法实现的动态进程注入。
为适应星上存储器资源的限制,本文进一步讨论VxWorks的裁剪方法,裁剪分为模块级裁剪和代码级裁剪两个方面。在代码级裁剪方面,提出了一种基于函数调用图的代码裁剪算法,最终将VxWorks从390KB裁剪为80KB。
最后,总结全文所做的工作,并展望了下一步的工作。