- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
航天嵌入式软件虚拟测试环境的关键技术
摘要:虚拟测试环境在航天嵌入式软件领域具有广泛的应用前景。本文总结了航天嵌入式软件虚拟测试环境的一般需求和设计目标,概要介绍了虚拟测试环境构造的关键技术。
关键词:嵌入式 软件测试 虚拟环境
1.引言
根据阿兰.图灵和阿隆佐.丘奇的理论,所有计算机之间都能够互相模拟。1936年,图灵在其发表的划时代论文《论可计算数及其对判定问题的应用》中,证明了能够模拟任意计算机的通用计算机的存在。图灵这样定义“模拟(Simulation)”的概念[1]:当一台数字计算机运行一个状态转移表(即运行一个程序),而该状态转移表描述了另一台离散状态机器的转移状态、输入和输出时,则该计算机(前者)在模拟另一台机器(后者)。这就是计算机模拟技术的理论基础。而直接利用这一理论的实际成果则可以追溯到上世纪五十年代的EDSAC项目[2]。
进入二十一世纪以来,随着计算机硬件性能飞速提高和软件技术的不断进步使得计算机模拟技术也取得高速发展,并进入实用阶段。目前,人们更习惯把计算机模拟技术称为虚拟技术,把模拟的目标机成为虚拟机。利用虚拟技术,可以任意参数化、控制和检查被模拟的系统--目标系统;能够进行非侵入的和确定的测量;为进行自动化操作提供了必要条件。目前虚拟技术广泛应用于异构计算机移植、处理器内核设计、计算机系统设计、操作系统及应用软件的开发和测试等广泛的领域。
而航天嵌入式软件测试领域特别适合于应用虚拟技术。
嵌入式系统采用的处理器通常与PC机采用的处理器不同,嵌入式软件的开发需要交叉开发环境;
一般卫星、飞船上采用的处理器的运行速度远低于PC机采用的处理器,为高效地在PC机上虚拟目标机提供了可能;
航天嵌入式软件的可信性要求高,必须要通过充分的测试,保证软件质量。而硬件测试环境的缺乏和固有缺陷已经成为制约软件测试充分性的瓶颈。
因此,利用虚拟技术,构建航天嵌入式软件的虚拟测试环境越来越受到重视。
所谓虚拟测试环境是指应用软件仿真技术,逼真地模拟被测软件运行的物理环境,在其上通过动态执行被测软件进行的软件确认与验证活动。理想情况下,原来运行于真实环境上的嵌入式软件,可以不加修改直接在虚拟环境上运行,并且其运行的动态特性与在真实环境上一致。虚拟测试环境所固有的高可用、高可控、确定性、易于复制使用等特性,为进行软件测试提供了理想的测试环境。虚拟测试环境不能完全替代硬件测试环境,却是对硬件环境的有效补充。
下文中将对航天嵌入式软件虚拟测试环境的一般需求和关键技术进行讨论。
2.虚拟测试环境的需求分析
虚拟测试环境的主要功能可以分为两个层次:对嵌入式硬件系统和外围环境的仿真;为进行嵌入式软件调试、测试、运行时验证等而设计的功能,简称测试功能。
对嵌入式硬件系统和外围环境的仿真
嵌入式硬件系统和外围环境的仿真包括对嵌入式硬件系统进行的仿真以及对嵌入式系统所处的外围环境的仿真,例如对于星载嵌入式系统,不仅要对星载嵌入式硬件系统进行模拟,而且要对星体动力学、轨道动力学、空间环境等进行模拟。
对嵌入式硬件系统和外围环境的仿真可以划以下几个功能模块和层次。
图2-1 嵌入式硬件系统和外围环境仿真
CPU模拟器
CPU模拟器对目标CPU的内核进行模拟,将目标机的指令转换为宿主机上的指令执行,从而实现在宿主机上执行目标机上的代码。用于软件测试目的的CPU模拟器是一种指令集模拟器(Instruction Set Simulator,ISS),是用软件模拟一个处理器上程序执行过程的软件工具,它建立了处理器的仿真模型,通过模拟每条指令在目标处理器上的执行效果来模拟执行被测程序。ISS模型主要对包括寄存器、寻址方式、指令集定义在内的处理器指令集体系结构设计进行模拟,建立了精确到指令周期边界的指令集体系结构(Instruction Set Architecture)模型。
虚拟芯片
虚拟芯片是对功能独立的芯片的软件仿真,这类芯片的特点是与主处理器的接口简单,功能单纯,且往往是可编程的。例如中断控制芯片、总线控制芯片等。
虚拟目标机
虚拟目标机是对嵌入式目标机进行的软件仿真,通过CPU模拟器和虚拟芯片的装配可以构成虚拟目标机。
目标机外围环境的仿真
作为一个研究对象的软件所加载的目标机通常仅是一个系统中的一部分,要使对象软件象在真实环境中一样运行起来,必须对目标机外围环境进行仿真,外围环境为软件运行提供必要的资源。例如,为对卫星姿控软件进行测试,除了对姿控计算机进行模拟外,还需要对与姿控计算机关联的敏感机构、执行机构、数管系统、卫星姿态和轨道动力学进行建模仿真。
虚拟子系统
虚拟目标机和目标机外围环境的仿真共同构成对子系统的仿真—虚拟子系统。一般来说,在虚拟子系统中就可以对某个软件配置项进行调试、测试和验证。例如,构建卫星姿控分系统的虚拟子系统就
文档评论(0)