一种基于硬件板卡接入的软件虚拟化测试环境构建方法技术

技术编号:27618379 阅读:17 留言:0更新日期:2021-03-10 10:54
本发明专利技术涉及一种基于硬件板卡接入的软件虚拟化测试环境构建方法,其中,包括:搭建嵌入式目标处理器指令集虚拟仿真环境;搭建嵌入式系统片上设备虚拟仿真环境;完成硬件板卡在宿主机上的适配安装,实现宿主机虚拟环境下对板卡的操作与控制;建立外部设备模拟环境与宿主机硬件板卡的物理连接,建立外部设备模拟环境与硬件板卡的通信链路;获取虚拟环境下对外部设备模拟环境消息,建立虚拟环境下的消息处理响应机制,将外部设备模拟环境发送的消息通过硬件板卡完整的反馈给虚拟运行环境;处理虚拟环境下对外部设备模拟环境消息,建立虚拟环境下状态更新机制,将虚拟运行环境处理后的消息结果和消息状态通过硬件板卡准确的反馈给外部设备模拟环境。部设备模拟环境。部设备模拟环境。

【技术实现步骤摘要】
一种基于硬件板卡接入的软件虚拟化测试环境构建方法


[0001]本专利技术涉及嵌入式系统技术,特别涉及一种基于硬件板卡接入的软件虚拟化测试环境构建方法。

技术介绍

[0002]嵌入式系统研制过程中,一般通过半实物仿真测试环境进行嵌入式软件的开发调试。半实物仿真测试环境通常包括真实目标机、外部设备模拟环境以及配套的连接件、电缆等,其中外部设备模拟环境能够模拟嵌入式系统外部环境的总线激励和逻辑响应处理。半实物仿真测试环境下,嵌入式软件运行于真实的目标机之上,软件的性能和总线的接口特性能够得到充分的验证,但囿于嵌入式系统硬件资源有限、硬件接口专用性强等特点,嵌入式软件的动态执行情况难以精确统计,并且基于硬件的运行环境故障注入存在较大局限,因此,嵌入式软件的测试充分性不易保证。
[0003]软件虚拟化测试技术通过指令集仿真实现嵌入式系统虚拟目标机,使得软件运行情况透明可控并能够实时统计软件运行状态、生成代码覆盖率统计分析数据,是提升软件测试充分性的有效手段。
[0004]为了满足嵌入式软件测试充分性的要求,同时实现外部设备模拟环境的有效复用、避免重复开发,专利技术了基于硬件板卡接入的软件虚拟化测试环境构建方法,通过设备总线硬件板卡桥接,实现已有系统总线激励环境和虚拟目标机的交联互通,继而支持开展软件虚拟化测试。
[0005]传统的基于实装或半实物环境的测试环境存在资源利用率低、测试成本高、测试周期长、出现故障不可逆、覆盖率获取困难等问题,尤其是在硬件设备设计定型之后,由于缺少相应的硬件接口、基于硬件环境的代码覆盖率统计分析变得更加困难;而单纯的基于指令集仿真技术构建的虚拟化动态测试环境虽然可以减少软件测试对专用硬件环境的依赖、提供包括源代码、目标码在内的覆盖率统计分析手段,实现测试环境快速部署,但单一的虚拟化测试环境难以复用已有的外部激励注入等专用检测设备,重新实现功能容易造成资源浪费,重复工作和测试周期延后等问题。

技术实现思路

[0006]本专利技术的目的在于提供一种基于硬件板卡接入的软件虚拟化测试环境构建方法,用于解决当前半实物仿真测试环境下无法保障软件测试充分性的问题。
[0007]本专利技术一种基于硬件板卡接入的软件虚拟化测试环境构建方法,其中,包括:第一步、搭建嵌入式目标处理器指令集虚拟仿真环境;第二步、搭建嵌入式系统片上设备虚拟仿真环境;第三步、完成硬件板卡在宿主机上的适配安装,实现宿主机虚拟环境下对板卡的操作与控制,包括板卡初始化、板卡打开、板卡通道设置以及消息设置;第四步、建立外部设备模拟环境与宿主机硬件板卡的物理连接,建立外部设备模拟环境与硬件板卡的通信链路;第五步、获取虚拟环境下对外部设备模拟环境消息,建立虚拟环境下的消息处理响应机制,
将外部设备模拟环境发送的消息通过硬件板卡完整的反馈给虚拟运行环境;第六步、处理虚拟环境下对外部设备模拟环境消息,建立虚拟环境下状态更新机制,将虚拟运行环境处理后的消息结果和消息状态通过硬件板卡准确的反馈给外部设备模拟环境,完成消息处理闭环响应。
[0008]根据本专利技术的基于硬件板卡接入的软件虚拟化测试环境构建方法的一实施例,其中,虚拟部分负责仿真被测程序的运行环境,运行在宿主机上,实物部分负责实现外部激励,运行在上位机上;引入板卡代理设备实现虚拟半区和实物半区的消息无差别传输,在虚拟半区,板卡代理设备具有和虚拟片上设备完全相同的接口,虚拟片上设备和板卡代理设备可以通过虚拟总线进行通信,在实物半区,板卡代理设备集成真实的物理设备板卡,通过物理总线与物理设备进行通信,进而实现虚拟半区和实物半区的消息无差别传输。
[0009]根据本专利技术的基于硬件板卡接入的软件虚拟化测试环境构建方法的一实施例,其中,第一步、搭建嵌入式目标处理器指令集虚拟运行环境,具体包括:(1)根据目标处理器的指令集描述说明对目标文件中的二进制指令代码进行取指、译码以及翻译操作,将运行于嵌入式目标环境的代码采用高级语言重新描述;(2)采用动态二进制编译框架,在对重新描述过的目标代码执行过程中实现动态加速,将指令仿真速率提升至不低于真实处理器的水平,达到硬件板卡接入下的时序要求;(3)在目标代码仿真执行过程中对指令的执行过程进行实时统计和监测,为后续的指令分析和测试验证采集数据。
[0010]根据本专利技术的基于硬件板卡接入的软件虚拟化测试环境构建方法的一实施例,其中,第二步、搭建嵌入式系统片上设备虚拟仿真环境,具体包括:分析嵌入式系统片上设备的组成,分析片上设备的功能特性和交互逻辑,实现嵌入式系统存储空间的模拟,针对每一个片上设备创建虚拟仿真模型,建立嵌入式软件设备空间和宿主机虚拟运行空间的映射关系。
[0011]根据本专利技术的基于硬件板卡接入的软件虚拟化测试环境构建方法的一实施例,其中,嵌入式软件设备空间和宿主机虚拟运行空间的映射关系包括;虚拟串口控制器、虚拟定时器、虚拟FLASH、虚拟AD、虚拟IO以及虚拟1553B;虚拟串口控制器:通过虚拟运行方式实现串口收发和中断触发;虚拟定时器:通过虚拟运行计数实现定时逻辑的模拟和中断触发;虚拟FLASH:通过虚拟空间实现软件代码段、数据段存储和程序镜像加载;虚拟AD:通过虚拟运行实现多通道AD采集及数据的归一化转换和处理;虚拟IO:通过虚拟运行实现开关量、按键等IO模拟;虚拟化1553B:通过虚拟运行实现1553B总线中的BU61580控制器逻辑基本功能。
[0012]根据本专利技术的基于硬件板卡接入的软件虚拟化测试环境构建方法的一实施例,其中,第三步中,板卡代理设备实现包括:(1)将硬件板卡通过PCI插槽等接口形式安装在宿主机中并能够被正确识别;(2)在宿主机中实现或安装硬件板卡驱动,实现虚拟环境下的硬件板卡API调用与集成;(3)调用硬件板卡设备驱动程序API接口进行板卡代理设备实物部分初始化,完成硬件板卡工作模式、中断触发模式、消息通信模式设置;(4)板卡代理设备消息缓冲区初始化;(5)板卡代理设备虚拟部分的初始化,完成虚拟设备工作模式以及虚拟总线的设置,挂载到虚拟运行环境相应内存地址上;(6)异常处理:(1)到(5)存在失败,则进行错误异常处理,重新进行代理设备初始化;若初始化成功,使能硬件板卡接收中断,将接收到的消息存储到消息缓冲区。
[0013]根据本专利技术的基于硬件板卡接入的软件虚拟化测试环境构建方法的一实施例,其
中,第四步中建立上位机与板卡代理设备的通信连接,具体包括:根据总线类型,选择相应的总线连接方式,进行上位机物理设备接口与宿主机板卡代理设备的物理连接,建立上位机激励环境与虚拟运行环境的通信链路;(1)上位机与板卡代理设备实物部分通过耦合器进行连接;板卡代理设备获取板卡代理设备实物部分通道ID,作为与虚拟部分通道进行映射的标识;(2)通道绑定后为每个通道分配消息缓冲区,消息缓冲区进行消息的暂存,防止消息丢失;(3)上位机消息通过物理通道发送到板卡代理设备实物部分,板卡代理设备实物部分与虚拟部分通过消息缓冲区进行数据交换,交换过程中实现格式的转换将消息传入到虚拟运行环境;(4)上位机与板卡代理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于硬件板卡接入的软件虚拟化测试环境构建方法,其特征在于,包括:第一步、搭建嵌入式目标处理器指令集虚拟仿真环境;第二步、搭建嵌入式系统片上设备虚拟仿真环境;第三步、完成硬件板卡在宿主机上的适配安装,实现宿主机虚拟环境下对板卡的操作与控制,包括板卡初始化、板卡打开、板卡通道设置以及消息设置;第四步、建立外部设备模拟环境与宿主机硬件板卡的物理连接,建立外部设备模拟环境与硬件板卡的通信链路;第五步、获取虚拟环境下对外部设备模拟环境消息,建立虚拟环境下的消息处理响应机制,将外部设备模拟环境发送的消息通过硬件板卡完整的反馈给虚拟运行环境;第六步、处理虚拟环境下对外部设备模拟环境消息,建立虚拟环境下状态更新机制,将虚拟运行环境处理后的消息结果和消息状态通过硬件板卡准确的反馈给外部设备模拟环境,完成消息处理闭环响应。2.如权利要求1所述的基于硬件板卡接入的软件虚拟化测试环境构建方法,其特征在于,虚拟部分负责仿真被测程序的运行环境,运行在宿主机上,实物部分负责实现外部激励,运行在上位机上;引入板卡代理设备实现虚拟半区和实物半区的消息无差别传输,在虚拟半区,板卡代理设备具有和虚拟片上设备完全相同的接口,虚拟片上设备和板卡代理设备可以通过虚拟总线进行通信,在实物半区,板卡代理设备集成真实的物理设备板卡,通过物理总线与物理设备进行通信,进而实现虚拟半区和实物半区的消息无差别传输。3.如权利要求1所述的基于硬件板卡接入的软件虚拟化测试环境构建方法,其特征在于,第一步、搭建嵌入式目标处理器指令集虚拟运行环境,具体包括:(1)根据目标处理器的指令集描述说明对目标文件中的二进制指令代码进行取指、译码以及翻译操作,将运行于嵌入式目标环境的代码采用高级语言重新描述;(2)采用动态二进制编译框架,在对重新描述过的目标代码执行过程中实现动态加速,将指令仿真速率提升至不低于真实处理器的水平,达到硬件板卡接入下的时序要求;(3)在目标代码仿真执行过程中对指令的执行过程进行实时统计和监测,为后续的指令分析和测试验证采集数据。4.如权利要求1所述的基于硬件板卡接入的软件虚拟化测试环境构建方法,其特征在于,第二步、搭建嵌入式系统片上设备虚拟仿真环境,具体包括:分析嵌入式系统片上设备的组成,分析片上设备的功能特性和交互逻辑,实现嵌入式系统存储空间的模拟,针对每一个片上设备创建虚拟仿真模型,建立嵌入式软件设备空间和宿主机虚拟运行空间的映射关系。5.如权利要求4所述的基于硬件板卡接入的软件虚拟化测试环境构建方法,其特征在于,嵌入式软件设备空间和宿主机虚拟运行空间的映射关系包括;虚拟串口控制器、虚拟定时器、虚拟FLASH、虚拟AD、虚拟IO以及虚拟1553B;虚拟串口控制器:通过虚拟运行方式实现串口收发和中断触发;虚拟定时器:通过虚拟运行计数实现定时逻辑的模拟和中断触发;虚拟FLASH:通过虚拟空间实现软件代码段、数据段存储和程序镜像加载;虚拟AD:通过虚拟运行实现多通道AD采集及数据的归一化转换和处理;虚拟IO:通过虚拟运行实现开关量、按键等IO模拟;
虚拟化1553B:通过虚拟运行实现1553B总线中的BU61580控制器逻辑基本功能。6.如权利要求1所述的基于硬件板卡接入的软件虚拟化测试环境构建方法,其特征在于,第三步中,板卡代理设备实现包括:(1)将硬件板卡通过PCI插槽等接口形式安装在宿主机中并能够被正确识别;(2)在宿主机中实现或安装硬件板卡驱动,实现虚拟环境下的硬件板卡API调用与...

【专利技术属性】
技术研发人员:安恒张慧颖孔祥炳司倩然贾张涛金玉川李雅斯
申请(专利权)人:中国人民解放军六三九二一部队
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1