一种具备通用性的虚拟验证平台及实现方法

文档序号:10471024阅读:146来源:国知局
一种具备通用性的虚拟验证平台及实现方法
【专利摘要】本发明提供一种具备通用性的虚拟验证平台及实现方法,属于嵌入式硬件系统仿真领域。本发明具备通用性的虚拟验证平台包括系统组件库、自主配置模块、调试与虚拟验证平台管理模块、虚拟验证平台核心模块,系统组件库包括处理器虚拟组件库和设备虚拟组件库,所述自主配置模块用于调用所述系统组件库中的组件,并进行参数配置来组建虚拟验证平台实例,所述调试与虚拟验证平台管理模块与所述自主配置模块和虚拟验证平台核心模块相连,所述虚拟验证平台核心模块包括软总线结构和逻辑通信单元。本发明具备通用性,可以同时提供多种体系结构的处理器仿真组件,并提供丰富的基本、拓展设备组件支持,支持通用性配置、闭环测试以及分布式部署。
【专利说明】
-种具备通用性的虚拟验证平台及实现方法
技术领域
[0001] 本发明设及嵌入式硬件系统仿真领域,尤其设及一种具备通用性的虚拟验证平台 及实现方法。
【背景技术】
[0002] 虚拟验证平台,也可称为全数字化仿真平台,是能够对嵌入式硬件系统进行完整 模拟的软件系统。用户可W在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入 式软件进行测试与调试。
[0003] 当前市场上已有很多类似的产品,但均不具备通用性。所谓通用性,就是指用户可 W按照不同的硬件环境需求来搭建不同规格的板级虚拟验证平台实例。而现有的产品,均 是定制类产品,即只能满足一种硬件需求,如果硬件需求改变,需要重新研发新的软件产 品,影响客户使用效率,并带来不菲的成本叠加。具体产品对比如表1所示:
[0004]
[0005] 表1相关产品特性比较(通用性方面)
[0006] 注:基本设备指如内存、定时器等虚拟验证必需设备;
[0007] 扩展设备指总线、串口、AD/DA等满足特定功能需求的外部设备。
[0008] 从上表中可W看出,不具备通用性的产品,则不能支持或仅能支持一部分功能,使 用不便,应用范围有限,产品竞争力低。

【发明内容】

[0009] 为解决现有技术中的问题,本发明提供一种具备通用性的虚拟验证平台,还提供 了一种实现该虚拟验证平台的方法。
[0010] 本发明具备通用性的虚拟验证平台包括系统组件库、自主配置模块、调试与虚拟 验证平台管理模块、虚拟验证平台核屯、模块,所述系统组件库包括处理器虚拟组件库和设 备虚拟组件库,所述自主配置模块用于调用所述系统组件库中的组件,并进行参数配置来 组建虚拟验证平台实例,所述调试与虚拟验证平台管理模块与所述自主配置模块和虚拟验 证平台核屯、模块相连,用于对组建的虚拟验证平台实例进行调试并协同管理,所述虚拟验 证平台核屯、模块包括软总线结构和逻辑通信单元,所述软总线结构为系统组件库中的组件 分配地址空间,连接统一仿真核接口、各个处理器虚拟组件、设备虚拟组件及逻辑通信通道 服务端,所述逻辑通信单元包括逻辑通信通道、逻辑通信通道服务端和逻辑通信通道客户 端,所述逻辑通信通道用于逻辑通信通道服务端和逻辑通信通道客户端之间通信。支持多 种处理器、多种设备的共存,并W此进行接口规范约束W及自主化配置。
[0011] 本发明作进一步改进,还包括用于连接外端虚拟设备软件的闭环外端,所述闭环 外端通过所述逻辑通信通道与逻辑通信通道服务端连接。
[0012] 本发明作进一步改进,所述外端虚拟设备软件包括GPS软件、热控软件、姿轨控软 件。
[0013] 本发明作进一步改进,所述系统组件库中的组件能够满足通用性接口规范。
[0014] 本发明作进一步改进,所述处理器虚拟组件库包括ARM虚拟组件、SPARC虚拟组件、 DSP虚拟组件,所述设备虚拟组件库包括1553B总线控制器组件、NTE2631串口组件、AD574模 数转换器组件、中断控制器组件、RAM/R0M组件、SJA-1000总线组件、PI0组件、Timer定时器 组件、双端口 RAM组件。
[0015] 本发明作进一步改进,所述调试与虚拟验证平台管理模块包括上端调试器及多个 协同单元。
[0016] 本发明作进一步改进,所述软总线结构的数据中保存了所有设备虚拟组件的地址 信息及相应的设备操作接口,所述处理器虚拟组件进行指令虚拟执行过程中,通过软总线 结构的数据定位到设备虚拟组件,并调用设备虚拟组件相应的设备操作接口。
[0017] 本发明作进一步改进,所述逻辑通信通道客户端为本地虚拟设备端和/或外端虚 拟设备软件。
[0018] 本发明作进一步改进,所述逻辑通信通道服务端包括服务端通信分发器和服务端 系统转换器,所述逻辑通信通道客户端设有客户端通信收发器,所述逻辑通信通道服务端 通过服务端系统转换器与系统主进程通信,所述逻辑通信通道服务端通过服务端通信分发 器与所述逻辑通信通道客户端的客户端通信收发器通信。
[0019] 本发明还提供了一种实现上述具备通用性的虚拟验证平台的方法,包含如下步 骤:
[0020] 步骤一:将所有组件加载到系统组件库中供用户使用;
[0021] 步骤二:建立逻辑通信单元中的逻辑通信通道服务端和逻辑通信通道客户端;
[0022] 步骤Ξ:用户选择并配置虚拟验证平台实例;
[0023] 步骤四:判断系统组件库中的组件是否满足用户需求,如果否,提示无法满足,按 照用户需求,研发相应组件,然后执行步骤一,如果是,执行步骤五;
[0024] 步骤五:根据配置信息,选取下一个有效组件;
[0025] 步骤六:判断组件类型,如果为处理器虚拟组件,接受调试与虚拟验证平台管理模 块中的调试器直接加载,完成导出接口向调试器的注册,然后执行步骤屯,如果为同步设备 虚拟组件,将设备虚拟组件访问接口注册到软总线结构中,再将设备虚拟组件管理接口注 册到调试器中,接受整体驱动,然后执行步骤屯,如果为异步设备虚拟组件,首先将设备虚 拟组件访问接口注册到软总线结构中,再将设备虚拟组件加载逻辑通信通道客户端,然后 判断是否存在外端虚拟设备软件,如果是,为外端虚拟设备软件配备逻辑通信通道客户端, 调试器加载逻辑通信通道服务端,如果否,直接执行调试器加载逻辑通信通道服务端,然后 执行步骤屯;
[00%]步骤屯:完成本组件的虚拟验证平台注册;
[0027] 步骤八:判断是否完成所有组件注册,如果是,完成虚拟验证平台的搭建,接受待 测试文件、完成虚拟执行、接受动态调试,结束,如果否,返回执行步骤五。
[0028] 与现有技术相比,本发明的有益效果是:具备通用性,可W同时提供多种体系结构 的处理器仿真组件,并提供丰富的基本、拓展设备组件支持,支持通用性配置、闭环测试W 及分布式部署,还支持完善的测试代码调试功能。
【附图说明】
[0029] 图1为本发明通用性的虚拟验证平台结构示意图;
[0030] 图2为软总线结构示意图;
[0031 ]图3为逻辑通信单元通信示意图;
[0032] 图4为本发明方法流程图。
【具体实施方式】
[0033] 下面结合附图和实施例对本发明做进一步详细说明。
[0034] 如图1所示,本例具备通用性的虚拟验证平台包括系统组件库、自主配置模块、调 试与虚拟验证平台管理模块、虚拟验证平台核屯、模块,所述系统组件库包括处理器虚拟组 件库和设备虚拟组件库,所述自主配置模块用于调用所述系统组件库中的组件,并进行参 数配置来组建虚拟验证平台实例,所述调试与虚拟验证平台管理模块与所述自主配置模块 和虚拟验证平台核屯、模块相连,用于对组建的虚拟验证平台实例进行调试并协同管理,所 述虚拟验证平台核屯、模块包括软总线结构和逻辑通信单元,所述软总线结构为系统组件库 中的组件分配地址空间,连接统一仿真核接口、各个处理器虚拟组件、设备虚拟组件及逻辑 通信通道服务端,所述逻辑通信单元包括逻辑通信通道、逻辑通信通道服务端和逻辑通信 通道客户端,所述逻辑通信通道用于逻辑通信通道服务端和逻辑通信通道客户端之间通 信。
[0035] 还包括用于连接外端虚拟设备软件的闭环外端,所述闭环外端通过所述逻辑通信 通道与逻辑通信通道服务端连接。相当于本发明提供了一种支持外接虚拟设备软件的接 口,用于支持外接外端虚拟设备软件,从而更好的满足通用性的要求。本例的外端虚拟设备 软件包括GPS软件、热控软件、姿轨控软件等,也可W为用户自己提供的其他设备软件。
[0036] 本发明的系统组件库通过提供一定规模的组件库,如ARM(Advanced RISC Machines微处理器的一种)虚拟组件、DSP(digital si即al processor,即数字信号处理 器)虚拟组件、SPARC(Scalable Processor AR化itec化re,可扩充处理器架构)虚拟组件等 不同体系结构的处理器虚拟组件(简称处理器组件)放置在处理器虚拟组件库内,W及各种 常用设备虚拟组件(简称设备组件)放置在设备虚拟组件库内,如RAM/R0M组件、中断控制器 组件、422通信组件、1553B总线控制器组件、NTE2631串口组件、AD574模数转换器组件、SJA- 1000总线组件、PIO(并行接口)组件、Timer定时器组件、双端口 RAM组件等等。在此基础上, 用户自主选择组件并配置相关参数,自动生成满足用户需求的板级虚拟验证平台实例,达 到一套软件可W支持多种硬件需求的目标。
[0037] 每个组件,均须同时提供化L(Dynamic Link Library,动态链接库文件)组件实现 文件W及XML(Extensible Markup Language,可扩展标记语言)组件描述文件。并且,运些 组件,均需按照一定的接口规范进行实现,不同类型的组件,有不同的接口约束。但是都需 要满足通用性接口规范。具体通用性接口规范详见表2-表5。
[0038] 表2虚拟处理器组件接口规范
[0039]
[0040]
[0043]
[004引
[0049] 在本例中,只有满足上述接口规范的组件才能进入组件库,并且被透明的加载到 虚拟验证平台实例当中。通俗的说,就是某个组件的实现,必须满足其对应的接口规范,具 体的实现逻辑、功能实现程度对系统整体来说是透明不可见的,系统只关屯、组件提供的接 口是否满足规范。若满足规范,则可W被用户选择并且用于构建虚拟验证平台实例,进而在 测试使用过程中表现出应有的行为;若不满足规范,则认定该组件不具备通用性,不可W加 载到组件库当中,不可W被用户所使用。
[0050] 本例的自主配置模块主要向用户提供配置功能,用户通过该模块在系统组件库 中,选取所需要的组件,并且进行相关参数的设置。在用户选取与设置参数完毕之后,系统 即可根据用户的配置信息,来组建虚拟验证平台实例,为用户提供满足特定硬件需求的软 件测试平台。
[0051] 本例的调试与虚拟验证平台管理模块包括上端调试器及多个协同单元,所述上端 调试器为GDB调试器(UNIX下的程序调试工具),主要是对系统实例进行测试代码加载、调 试、跟踪等功能实现,W生成的虚拟验证平台实例和待测试代码为依据,为用户提供多种测 试、调试手段。
[0052] 本例的虚拟验证平台核屯、模块是构建具备通用性的虚拟验证平台的关键模块,而 本模块的核屯、也是通用性软件结构的核屯、,即"软总线结构+逻辑通信通道"。
[0053] (1)软总线结构
[0054] 所谓软总线结构,就是用软件技术来实现硬件总线。软总线结构的定义,也是各类 型组件实现的通用性接口规范的定义。在软总线结构上,各个处理器组件、设备组件均能够 获得其应被分配的设备地址空间,并且在处理器组件进行指令虚拟执行过程中,可W通过 软总线结构的数据迅速的定位到设备组件当中,并能准确的调用其设备操作接口。
[0055] 如图2所不,P0M组件、RAM(随机存取存储器)组件、ua;rt(Universal Asynchronous Recei ver/Transmitter,通用异步收发传输器)组件、GPIO(General 化;rpose Input Output,通用输入/输出)组件等均通过软总线结构关联在一起,W此组成了虚拟验证平台 实例的总线地址空间。
[0056] 在具体实现过程中,每个设备组件均提供了满足规范约束的接口集合,系统则根 据用户对每个设备分配的地址数据,将不同的组件接口集合挂在到软总线结构的相应数据 区上。当完成所有设备组件挂载操作之后,软总线结构的数据中即保存了所有设备组件的 地址信息W及设备操作接口。当进行指令虚拟执行时,即可通过查询软总线结构来完成设 备的访问。
[0057] 由此可见,软总线结构是连接各个处理器组件、设备组件的桥梁,是系统通用性的 一种体现。具有满足通用性接口规范的组件、能够加载组件的软总线结构,构成了具备通用 性的虚拟验证平台的内部地址访问核屯、支持。
[0化引 (2)逻辑通信通道
[0059] 所述逻辑通信通道连接逻辑通信通道服务端和逻辑通信通道客户端,用于逻辑通 信通道服务端和逻辑通信通道客户端之间通信。
[0060] 其中,逻辑通信通道服务端由系统负责在本地创建,独立加载到软总线结构中,并 W系统的一个本地子进程(简称系统子进程)运行。其内部包含两个功能模块:
[0061] 服务端通信分发器(commDispatcher):内部包含一个公用接收邮槽,负责将系统 主进程发来的数据按协议打包,发送到指定的逻辑通信通道客户端;将由逻辑通信通道客 户端收到的数据解包后提交给系统主进程(经服务端系统转换器),或是直接转发给指定的 一个(点对点)或一组逻辑通信通道客户端(多播)。
[0062] 服务端系统转换器(sysConverter):将系统主进程发来的对虚拟设备的控制和读 写信息转换成对远程客户端访问所需要的参数和发送目标邮槽。将系统主进程接收的逻辑 通信通道客户端返回值保存到系统设备映像区。
[0063] 所述逻辑通信通道客户端,代表一个虚拟通信设备端,是一个独立的进程。所述逻 辑通信通道客户端既可W为本地虚拟设备端,也可W为外端虚拟设备软件,也就是说可W 在系统的本地机上部署运行,也可W在远程机上部署运行。
[0064] 所述逻辑通信通道客户端内部包含两个功能模块:
[0065] 客户端通信收发器(commTransceiver):由系统提供化L文件,包括一个私有接收 邮槽。负责对接收服务端进程发来的对虚拟设备控制和读写信息解包,然后驱动设备虚拟 组件,执行所要求的功能;系统主进程使用的数据,按服务端进程要求从驱动的设备虚拟组 件获取返回数据,打包后发送到服务端接收邮槽,对于通信数据,系统主进程一方面按收到 的设备状态信息保存到系统设备映像区内,另一方面通过服务端通信分发器直接将收到的 通信数据转发给真正的目标地址。
[0066] 设备组件(devSimulator):即具有异步通信能力的本地虚拟设备组件,或者具有 通信能力的外端虚拟设备软件。
[0067] 在逻辑通信通道服务端和逻辑通信通道客户端的支持下,虚拟验证平台实例内部 W及虚拟验证平台实例与外端虚拟设备之间可进行透明的数据传输。
[0068] 如图3所示,本例中的逻辑通信通道客户端包括第一客户端、第二客户端,及其他 客户端,其中,第一客户端为本地虚拟设备端,第二客户端为外端虚拟设备软件。具体通信 方式为:
[0069] (1)逻辑通信通道服务端通过软总线结构与系统设备映像区相连接,并通过服务 端系统转化器来完成对虚拟处理器访问虚拟设备操作的转换;
[0070] (2)第一客户端W独立进程形式运行,加载本地虚拟设备组件,通过与服务端进程 之间的数据通信,支持虚拟处理器对虚拟设备的访问;通过与第二客户端的通信完成虚拟 验证平台实例中虚拟设备与外端虚拟设备之间的数据通信;
[0071] (3)第二客户端W独立进程(可W在本地,也可W在其他计算机节点)形式运行,通 过与其他客户端、服务端进程之前的数据通信,完成虚拟验证平台实例与外端虚拟设备软 件之间的数据交互。
[0072] 由此可见,逻辑通信通道是连接各个通信组件、外端软件的桥梁,是系统通用性的 另一种体现。满足接口规范的组件、提供通信支持的逻辑通信通道,二者构成了具备通用性 的虚拟验证平台的外部数据交互核屯、支持。
[0073] 如图4所示,本发明还提供了一种实现上述虚拟验证平台的方法,包含如下步骤:
[0074] 步骤一:将所有组件加载到系统组件库中供用户使用;
[0075] 步骤二:建立逻辑通信单元中的逻辑通信通道服务端和逻辑通信通道客户端;
[0076] 步骤Ξ:用户选择并配置虚拟验证平台实例;
[0077] 步骤四:判断系统组件库中的组件是否满足用户需求,如果否,提示无法满足,按 照用户需求,研发相应组件,然后执行步骤一,如果是,执行步骤五;
[0078] 步骤五:根据配置信息,选取下一个有效组件;
[0079] 步骤六:判断组件类型,如果为处理器虚拟组件,接受调试与虚拟验证平台管理模 块中的调试器直接加载,完成导出接口向调试器的注册,然后执行步骤屯,如果为同步设备 虚拟组件,将设备虚拟组件访问接口注册到软总线结构中,再将设备虚拟组件管理接口注 册到调试器中,接受整体驱动,然后执行步骤屯,如果为异步设备虚拟组件,首先将设备虚 拟组件访问接口注册到软总线结构中,再将设备虚拟组件加载逻辑通信通道客户端,然后 判断是否存在外端虚拟设备软件,如果是,为外端虚拟设备软件配备逻辑通信通道客户端, 调试器加载逻辑通信通道服务端,如果否,直接执行调试器加载逻辑通信通道服务端,然后 执行步骤屯;
[0080] 步骤屯:完成本组件的虚拟验证平台注册;
[0081 ]步骤八:判断是否完成所有组件注册,如果是,完成虚拟验证平台的搭建,接受待 测试文件、完成虚拟执行、接受动态调试,结束,如果否,返回执行步骤五。
[0082] 其中,在步骤一中,需要按照各类组件的通用接口规范来实现各种组件,包括处理 器组件、设备组件等等,并将已实现的组件加载到系统组件库中供用户选择配置使用。
[0083] 在步骤六中,判断是否存在外端虚拟设备软件,如果是,为外端虚拟设备软件配备 逻辑通信通道客户端,调试器加载逻辑通信通道服务端,如果否,直接执行调试器加载逻辑 通信通道服务端。如果调试器已经将异步设备组件加载逻辑通信通道服务端,则忽略加载 过程,直接执行步骤屯即可。
[0084] 图4中,步骤一、步骤二及步骤六中的接受调试与虚拟验证平台管理模块中的调试 器直接加载,完成导出接口向调试器的注册、将设备虚拟组件访问接口注册到软总线结构 中、将设备虚拟组件访问接口注册到软总线结构中,完成软总线结构的搭建,而图中的虚线 框内的步骤完成逻辑通信通道的搭建。
[0085] W上所述之【具体实施方式】为本发明的较佳实施方式,并非W此限定本发明的具体 实施范围,本发明的范围包括并不限于本【具体实施方式】,凡依照本发明所作的等效变化均 在本发明的保护范围内。
【主权项】
1. 一种具备通用性的虚拟验证平台,其特征在于:包括系统组件库、自主配置模块、调 试与虚拟验证平台管理模块、虚拟验证平台核心模块,所述系统组件库包括处理器虚拟组 件库和设备虚拟组件库,所述自主配置模块用于调用所述系统组件库中的组件,并进行参 数配置来组建虚拟验证平台实例,所述调试与虚拟验证平台管理模块与所述自主配置模块 和虚拟验证平台核心模块相连,用于对组建的虚拟验证平台实例进行调试并协同管理,所 述虚拟验证平台核心模块包括软总线结构和逻辑通信单元,所述软总线结构为系统组件库 中的组件分配地址空间,连接统一仿真核接口、各个处理器虚拟组件、设备虚拟组件及逻辑 通信通道服务端,所述逻辑通信单元包括逻辑通信通道、逻辑通信通道服务端和逻辑通信 通道客户端,所述逻辑通信通道用于逻辑通信通道服务端和逻辑通信通道客户端之间通 {目。2. 根据权利要求1所述的具备通用性的虚拟验证平台,其特征在于:还包括用于连接外 端虚拟设备软件的闭环外端,所述闭环外端通过所述逻辑通信通道与逻辑通信通道服务端 连接。3. 根据权利要求2所述的具备通用性的虚拟验证平台,其特征在于:所述外端虚拟设备 软件包括GPS软件、热控软件、姿轨控软件。4. 根据权利要求1-3任一项所述的具备通用性的虚拟验证平台,其特征在于:所述系统 组件库中的组件能够满足通用性接口规范。5. 根据权利要求4所述的具备通用性的虚拟验证平台,其特征在于:所述处理器虚拟组 件库包括ARM虚拟组件、SPARC虚拟组件、DSP虚拟组件,所述设备虚拟组件库包括1553B总线 控制器组件、NTE2631串口组件、AD574模数转换器组件、中断控制器组件、RAM/ROM组件、 SJA-1000总线组件、PIO组件、Timer定时器组件、双端口 RAM组件。6. 根据权利要求1-3任一项所述的具备通用性的虚拟验证平台,其特征在于:所述调试 与虚拟验证平台管理模块包括上端调试器及多个协同单元。7. 根据权利要求1-3任一项所述的具备通用性的虚拟验证平台,其特征在于:所述软总 线结构的数据中保存了所有设备虚拟组件的地址信息及相应的设备操作接口,所述处理器 虚拟组件进行指令虚拟执行过程中,通过软总线结构的数据定位到设备虚拟组件,并调用 设备虚拟组件相应的设备操作接口。8. 根据权利要求1-3任一项所述的具备通用性的虚拟验证平台,其特征在于:所述逻辑 通信通道客户端为本地虚拟设备端和/或外端虚拟设备软件。9. 根据权利要求8所述的具备通用性的虚拟验证平台,其特征在于:所述逻辑通信通道 服务端包括服务端通信分发器和服务端系统转换器,所述逻辑通信通道客户端设有客户端 通信收发器,所述逻辑通信通道服务端通过服务端系统转换器与系统主进程通信,所述逻 辑通信通道服务端通过服务端通信分发器与所述逻辑通信通道客户端的客户端通信收发 器通信。10. -种实现权利要求1-9任一项所述具备通用性的虚拟验证平台的方法,其特征在于 包含如下步骤: 步骤一:将所有组件加载到系统组件库中供用户使用; 步骤二:建立逻辑通信单元中的逻辑通信通道服务端和逻辑通信通道客户端; 步骤三:用户选择并配置虚拟验证平台实例; 步骤四:判断系统组件库中的组件是否满足用户需求,如果否,提示无法满足,按照用 户需求,研发相应组件,然后执行步骤一,如果是,执行步骤五; 步骤五:根据配置信息,选取下一个有效组件; 步骤六:判断组件类型,如果为处理器虚拟组件,接受调试与虚拟验证平台管理模块中 的调试器直接加载,完成导出接口向调试器的注册,然后执行步骤七,如果为同步设备虚拟 组件,将设备虚拟组件访问接口注册到软总线结构中,再将设备虚拟组件管理接口注册到 调试器中,接受整体驱动,然后执行步骤七,如果为异步设备虚拟组件,首先将设备虚拟组 件访问接口注册到软总线结构中,再将设备虚拟组件加载逻辑通信通道客户端,然后判断 是否存在外端虚拟设备软件,如果是,为外端虚拟设备软件配备逻辑通信通道客户端,调试 器加载逻辑通信通道服务端,如果否,直接执行调试器加载逻辑通信通道服务端,然后执行 步骤七; 步骤七:完成本组件的虚拟验证平台注册; 步骤八:判断是否完成所有组件注册,如果是,完成虚拟验证平台的搭建,接受待测试 文件、完成虚拟执行、接受动态调试,结束,如果否,返回执行步骤五。
【文档编号】G06F11/22GK105824729SQ201610140106
【公开日】2016年8月3日
【申请日】2016年3月11日
【发明人】吴翔虎, 陶永超, 曲明成
【申请人】深圳航天科技创新研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1