技术领域
[0001] 本
发明属于嵌入式系统的测试领域,具体涉及基于动态可配置框架的嵌入式系统测试环境构建方法。
背景技术
[0002] 在嵌入式系统的测试过程中,测试环境的搭建依赖的
硬件多,总线交联关系复杂,构建过程繁琐、存在重复工作且效率不高。测试激励需要依赖硬件检测仪,属于针对特定嵌入式系统的专有设备,成本高昂,无法通用,且与嵌入式系统同步开发,导致嵌入式系统的测试比较滞后。
软件测试激励容易设计和开发,成本低,但仍需要依赖硬件总线通信板卡与嵌入式硬件进行交联,需要针对不同的总线通信板卡进行定制,受其影响大,缺乏通用化。
发明内容
[0003] 本发明目的
[0004] 本发明的目的是实现嵌入式系统测试环境的通用化和快速构建。通过使用动态可配置框架,快速构建嵌入式系统测试环境所需的外围仿真软件;通过硬件配线器实现与嵌入式系统硬件的总线交联;通过虚拟总线实现通用化的软硬件交联,实现仿真软件与嵌入式系统硬件的总线通信和数据转换。
[0005] 本发明技术方案
[0006] 一种基于动态可配置框架的嵌入式系统测试环境构建方法,包括以下步骤:
[0007] 步骤a搭建测试环境,建立嵌入式系统硬件设备与硬件配线器的总线交联;
[0008] 步骤b建立硬件配线器、仿真测试软件、运行控制软件、共享数据
服务器与路由器的网络交联;
[0009] 步骤c嵌入式系统的硬件设备和硬件配线器上电运行,运行控制软件,下发启动命令,动态可配置框架依据命令,解析蓝图信息,加载
软件组件,构建可运行的仿真测试软件,形成测试环境。
[0010] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,[0011] 所述仿真测试
软件包括:动态可配置框架、测试软件组件、数据订阅/分发网络
中间件;
[0012] 所述运行控制软件包括:动态可配置框架、运行控制软件组件、数据订阅 /分发网络中间件。
[0013] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,所述动态可配置框架,包括组件管理、通用守护服务、虚拟总线服务、通用受控服务、同步服务、分层监控服务、界面管理服务、
虚拟机代理服务和通用启动器。
[0014] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,所述运行控制软件组件,包括接受用户输入的控制界面,接受并显示状态信息的状态显示界面。
[0015] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,所述硬件配件器包括总线通信板卡、数据转换软件、数据订阅/分发网络中间件,所述数据转换软件,通过解析蓝图信息获取总线配置数据,将所述总线配置数据与总线
载荷数据结合转换为虚拟总线数据通过数据订阅/分发网络中间件发送;将虚拟总线数据解析为总线配置数据与总线载荷数据,并根据总线配置数据通过总线通信板卡发送总线载荷数据。
[0016] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,所述测试软件组件,产生仿真测试数据激励;
[0017] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,所述蓝图信息,包括嵌入式系统的组成、总线通信的数据结构、运行环境、运行参数和通信
接口信息。
[0018] 优选的,所述的一种基于动态可配置框架的嵌入式系统测试环境构建方法,所述测试软件组件、运行控制软件组件和蓝图信息部署在共享数据服务器的固定目录。
[0019] 本发明有益效果
[0020] 本发明在嵌入式系统的测试过程中,主要产生的效益为:
[0021] 1)统一的硬件交联关系,所有需要接收测试激励的嵌入式系统硬件设备均与一个或多个的硬件配线器交联,交联关系简单;
[0022] 2)仿真测试软件与硬件解耦,嵌入式系统硬件设备的变化对仿真测试软件无影响,仅需要改变蓝图信息;
[0023] 3)仿真测试软件的灵活变化和通用化,仿真测试软件是动态可配置框架依据蓝图信息进行自动构建形成的,仅需改变蓝图信息,就可改变仿真测试软件所以加载的软件组件,从而改变仿真测试软件的功能;
[0024] 4)测试环境的快速构建,除硬件设备与硬件配线器交联外,其他的仿真测试软件均是通过控制命令,自动加载软件组件进行构建,测试环境搭建速度快;
[0025] 5)测试环境的统一控制、实时监控和图形化显示。硬件配线器、仿真测试软件均受控制命令的统一控制,每个仿真
节点的状态实时反馈,并以图形化的形式反馈给用户,形象直观。
附图说明
[0026] 图1为本发明构建的嵌入式系统测试环境示意图;
[0027] 图2为本发明中动态可配置框架的示意图。
具体实施方式
[0028] 下面结合附图具体描述本发明实施方式
[0029] 如图1所示,本发明构建的嵌入式系统测试环境由以下部分组成:
[0030] 1)嵌入式系统的硬件设备,待测试的硬件设备,提供总线
通信接口;
[0031] 2)硬件配线器,用于与嵌入式系统的硬件设备和仿真测试软件的交联,实现总线数据和虚拟总线数据的转换。包括:
[0032] a)各种类型(FC、GJB289A、ARINC429、RS422、离散量和模拟量等) 的总线通信板卡,用于与嵌入式系统的硬件设备进行总线通信;
[0033] b)数据转换软件,用于总线载荷数据与虚拟总线数据的相互转换。总线载荷数据向虚拟总线数据的转换:解析蓝图信息,依据总线载荷数据来源的总线通信板卡类型、通道等信息,从蓝图中查询其对应的来源方和目的方,生成总线配置信息,结合总线载荷数据,生成虚拟总线数据。虚拟总线数据向总线载荷数据的转换:解析虚拟总线数据,获取总线配置信息和总线载荷信息,依据总线配置信息,将总线载荷数据发送到对应的总线通信板卡的通道;
[0034] c)数据订阅/分发网络中间件,用于与仿真测试软件、运行控制软件的虚拟总线数据、控制命令和状态信息的通信;
[0035] 3)仿真测试软件,用于产生测试激励。包括:
[0036] a)数据订阅/分发网络中间件,用于与其它仿真测试软件、运行控制软件和硬件配线器的虚拟总线数据、控制命令和状态信息的通信;
[0037] b)动态可配置框架,用于加载各种服务和软件组件,形成仿真测试软件的可执行的应用实体;
[0038] c)软件组件,用于产生测试激励、反馈运行状态,并能够依据控制命令,控制运行过程;
[0039] 4)运行控制软件,是一种特殊的仿真测试软件,加载的软件组件不是用于产生测试激励,而是用于接收用户的操作,发送控制命令,并接收整个测试环境的运行状态,反馈给用户。其它内容与仿真测试软件相同;
[0040] 5)动态可配置框架,用于依据蓝图信息,动态加载软件组件和各种公共服务,形成可运行的仿真测试软件,并依据控制命令,实时控制和监控软件应用的运行状态。包括:
[0041] a)组件管理模
块,依据OSGi的标准实现组件管理功能,以
插件化的形式对每个软件组件进行管理(加载/卸载、启动/停止和生命周期管理),并提供插件间的通信和服务管理(注册服务、注销服务和获取服务)。组件管理功能是动态可配置框架的核心,规定了其支持的软件组件的接口、以及软件应用的组成服务接口和控制服务接口;
[0042] b)通用守护服务,接收外部的启动命令,解析嵌入式系统的蓝图信息,获得嵌入式系统测试环境的配置信息,并依据配置信息,从共享数据服务器获取仿真测试软件所需的软件组件,同时生成启动配置信息,启动通用启动器;
[0043] c)通用启动器,作为一个独立的应用程序,解析启动配置信息,依靠组件管理模块,按顺序加载和启动各个服务和软件组件,形成可执行的仿真测试软件。并依靠组件管理模块对各个服务和软件组件进行动态管理;
[0044] d)虚拟总线服务,使用数据订阅/分发网络中间件传输虚拟总线数据。在该服务中,总线载荷数据作为一整块数据存储,并无结构信息,需要上层应用依据总线载荷数据的结构信息(该信息在蓝图中)进行解析。虚拟总线服务屏蔽了不同数据订阅/分发网络中间件的差异,向上提供统一的传输服务接口。向下将不同的总线数据封装到同一个数据格式中,进行统一的处理;
[0045] e)通用受控服务,接收外部的各种控制命令,通过软件组件的控制服务接口,控制软件组件的执行,向外部反馈当前的运行状态,并与外部环境周期性的握手,确保通信正常;
[0046] f)同步服务,通过发布同步
信号,以及与其他软件应用的
同步信号握手,实现对相互交联的软件应用的统一
节拍运行控制;
[0047] g)分层监控服务,通过软件组件的组成服务接口,获取仿真测试软件的分层结构信息,以图形化的形式显示仿真测试软件的层次结构,包括应用所划分的层次和层次中所包含的软件组件。通过仿真测试软件的控制服务接口,获取仿真测试软件的状态信息,实时显示组件、分层和软件应用的状态信息;
[0048] h)界面管理服务,依据蓝图信息中的界面信息,创建仿真测试软件的主界面,通过服务接口获取各个软件组件的子界面,依据配置信息,组合并布局生成仿真测试软件的完整显示界面;
[0049] i)虚拟机代理服务,屏蔽虚拟机(一个独立的软件或远端服务器上的一个服务)与普通软件应用(由多个软件组件组装而成)的差异性,通过虚拟机代理服务将与虚拟机的交互转换为与普通软件应用的交互,保持两者操作上的一致性。虚拟机代理服务会自动将软件应用的交互命令转换为虚拟机的控制命令,并定时查询虚拟机的状态,转换为软件应用的状态后,反馈给外部环境。当一台电脑启动多个
虚拟环境时,仅需要启动一个虚拟机代理服务,负责对所有的虚拟环境的交互处理,但每个虚拟环境对应一个独立的端口,以向外部环境区分不同的虚拟环境。
[0050] 6)共享数据服务器,存储嵌入式系统蓝图和所有的软件组件。硬件配线器、各个仿真节点上的仿真测试软件均可以在固定目录下获取和检索蓝图信息和软件组件;
[0051] 7)路由器,将硬件配线器(1个或多个)、仿真测试软件(1个或多个)、运行控制软件(1个)、共享数据服务器(1个),通过网络,进行互联互通。
[0052] 嵌入式系统测试环境各部分间的信息交互关系如下:
[0053] 1)嵌入式系统的硬件设备通过总线通信板卡接收或发送总线载荷数据;
[0054] 2)硬件配线器的数据转换软件通过总线通信板卡接收总线载荷数据,根据总线通信板卡的类型、来源的通道信息,并依据蓝图信息,获取来源方和目的方信息。在总线载荷数据的
基础上,添加总线配置信息(总线类型、网络号、通道号、子地址、来源方和目的方等),形成虚拟总线数据,并使用数据订阅/分发网络中间件发送到局域网络上;
[0055] 3)硬件配线器的数据转换软件通过数据订阅/分发网络中间件接收局域网上的虚拟总线数据,解析后,获取总线配置数据和总线载荷数据,判断总线配置数的目的方信息,如果与硬件配线器的信息一致,则依据总线配置数据,将总线载荷数据发送到特定的总线通信板卡的特点通道上,否则抛弃该总线载荷数据;
[0056] 4)硬件配线器的数据转换软件通过数据订阅/分发网络中间件接收局域网上的运行控制命令,并发送运行状态信息;
[0057] 5)仿真测试软件生成特定消息的总线载荷数据,依据蓝图信息,获取该消息的总线配置数据,并生成虚拟总线数据,使用数据订阅/分发网络中间件发送到局域网络上;
[0058] 6)仿真测试软件通过数据订阅/分发网络中间件接收局域网上的虚拟总线数据,解析后,获取总线配置数据和总线载荷数据,判断总线配置数的目的方信息,如果与仿真测试软件的信息一致,则处理总线载荷数据,否则抛弃该总线载荷数据;
[0059] 7)仿真测试软件通过数据订阅/分发网络中间件接收局域网上的运行控制命令,并发送运行状态信息;
[0060] 8)运行控制软件通过数据订阅/分发网络中间件发送控制命令,接收硬件配线器和仿真测试软件的状态信息。
[0061] 实施本发明方案的前置准备工作包括:
[0062] 步骤1:开发动态可配置框架,包括组件管理、通用守护服务、虚拟总线服务、通用受控服务、同步服务、分层监控服务、界面管理服务、虚拟机代理服务和通用启动器等功能和服务;
[0063] 步骤2:开发数据转换软件,完成蓝图解析、总线载荷数据和虚拟总线数据的转换;
[0064] 步骤3:开发运行控制软件组件,包括接受用户输入的控制界面,接受并显示状态信息的状态显示界面;
[0065] 步骤4:针对各种类型的嵌入式系统的被测硬件设备,开发对应的软件组件,用于产生仿真测试激励;
[0066] 步骤5:配置蓝图信息,包括嵌入式系统的组成、总线通信的数据结构、运行环境、运行参数和通信接口等信息;
[0067] 步骤6:将软件组件和蓝图信息部署到共享数据服务器的固定目录;
[0068] 本发明的具体实施方式如下:
[0069] 1)将嵌入式系统硬件通过硬件总线(FC、GJB289A、ARINC429、RS422、离散量和模拟量等)与硬件配线器交联;
[0070] 2)将硬件配线器、仿真节点(动态可配置框架所在的电脑)通过千兆网线连接到同一个路由器,形成可互联互通的局域网络;
[0071] 3)硬件配线器上电后,自动运行数据转换软件。实时监视各个总线硬件板卡上的硬件数据和局域网络上的虚拟总线数据。
[0072] a)嵌入式系统硬件发送数据后,数据转换软件使用硬件板卡驱动,接收到总线载荷数据,添加总线配置信息,形成虚拟总线数据,并使用数据订阅/分发网络中间件发送到局域网络上;
[0073] b)当仿真测试软件发送数据后,数据转换软件使用数据订阅/分发网络中间件接收到虚拟总线数据,解析后,获取总线配置数据和总线载荷数据,依据总线配置数据,将总线载荷数据发送到特定的总线板卡的特定通道上,传输给嵌入式系统硬件;
[0074] 4)动态可配置框架的通用守护服务接收到启动命令后,解析嵌入式系统的蓝图信息,获得嵌入式系统测试环境的配置信息,并依据配置信息,从共享数据服务器获取仿真测试软件所需的软件组件,同时生成启动配置信息;
[0075] 5)动态可配置框架的通用守护服务在生成启动配置信息后,启动通用启动器,并向其提供启动参数信息;
[0076] 6)动态可配置框架的通用启动器依据启动参数信息,启动组件管理功能。组件管理功能依据启动参数加载通用受控服务、虚拟总线服务和仿真节点的软件组件。同时选择性的加载界面管理服务、同步服务、分层监控服务、虚拟机代理服务的软件组件,形成可执行的仿真测试软件;
[0077] 7)仿真测试软件通过通用受控服务接收外部控制命令,控制仿真测试软件的运行;
[0078] a)通过虚拟总线服务实现与其他仿真测试软件或嵌入式系统硬件的数据通信;
[0079] b)通过同步服务实现与仿真测试软件或嵌入式系统硬件的运行时序统一;
[0080] c)通过界面管理服务形成显示界面,显示仿真节点内部运行数据;
[0081] d)通过分层监控服务实现对软件应用状态的监控和显示;
[0082] e)在虚拟机环境下,通过虚拟机代理服务实现对虚拟机的控制和状态监控。