CN112764981B - 一种协同测试系统及方法 - Google Patents

一种协同测试系统及方法 Download PDF

Info

Publication number
CN112764981B
CN112764981B CN202110093731.5A CN202110093731A CN112764981B CN 112764981 B CN112764981 B CN 112764981B CN 202110093731 A CN202110093731 A CN 202110093731A CN 112764981 B CN112764981 B CN 112764981B
Authority
CN
China
Prior art keywords
hardware
simulation module
virtual machine
software
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110093731.5A
Other languages
English (en)
Other versions
CN112764981A (zh
Inventor
崔健
吴睿振
余洪斌
任明刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Computer Technology Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202110093731.5A priority Critical patent/CN112764981B/zh
Publication of CN112764981A publication Critical patent/CN112764981A/zh
Application granted granted Critical
Publication of CN112764981B publication Critical patent/CN112764981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种协同测试系统及方法,该系统包括处理器模拟模块、硬件模拟模块、操作系统及包含相应软件的软件系统;其中,所述处理器模拟模块为使用虚拟机模拟的处理器,所述硬件模拟模块为基于所述虚拟机提供的框架所编写的模拟相应硬件的程序,所述操作系统及所述软件系统均部署在所述虚拟机中;所述处理器模拟模块及所述操作系统用于提供实现协同测试的环境,所述软件系统及所述硬件模拟模块用于在实现协同测试的环境中进行交互,以实现相应软件和硬件的协同测试。可见,本申请通过虚拟机模拟协同测试所需环境以及需要协同测试的软硬件,从而无需等待硬件就绪即可实现软硬件的测试,大大提高了项目风险,缩短了开发周期。

Description

一种协同测试系统及方法
技术领域
本发明涉及软硬件测试技术领域,更具体地说,涉及一种协同测试系统及方法。
背景技术
在实际的计算机中,一个硬件往往需要和其他软硬件协作,在某些协议和标准的约束下,完成多次的命令和数据交互才能完成一个具体的任务;为了使得软硬件能够实现真实场景中的正常使用,在使用前需要对其进行测试,现有技术通常需要等待硬件就绪后,再实现对软硬件的测试,这样就会导致软件本身的问题和风险在硬件就绪后才能暴露,增大了项目风险,增长了开发周期。
发明内容
本发明的目的是提供一种协同测试系统及方法,无需等待硬件就绪即可实现软硬件的测试,大大提高了项目风险,缩短了开发周期。
为了实现上述目的,本发明提供如下技术方案:
一种协同测试系统,包括处理器模拟模块、硬件模拟模块、操作系统及包含相应软件的软件系统;其中,所述处理器模拟模块为使用虚拟机模拟的处理器,所述硬件模拟模块为基于所述虚拟机提供的框架所编写的模拟相应硬件的程序,所述操作系统及所述软件系统均部署在所述虚拟机中;所述处理器模拟模块及所述操作系统用于提供实现协同测试的环境,所述软件系统及所述硬件模拟模块用于在实现协同测试的环境中进行交互,以实现相应软件和硬件的协同测试。
优选的,还包括物理硬件,所述物理硬件通过直通的方式传递给所述虚拟机,用于在实现协同测试的环境中与所述软件系统和/或所述硬件模拟模块进行交互,以实现相应软件和硬件的协同测试。
优选的,还包括硬件代理,所述硬件代理部署在所述虚拟机中,用于实现对相应物理硬件的管控以及实现相应物理硬件及所述软件系统之间的交互。
优选的,所述硬件模拟模块包括硬件模拟器及硬件模拟程序,所述硬件模拟器包括能够与所述软件系统进行通信的接口,所述硬件模拟程序包括实现相应硬件功能的程序。
优选的,所述硬件模拟程序包括通过软件进行封装的位真模型,所述位真模型以进程的形式运行。
优选的,所述软件系统包含应用程序及驱动程序,所述应用程序用于分别与所述物理硬件及所述硬件模拟模块进行交互,所述驱动程序用于在所述应用程序的控制下实现对相应的所述硬件模拟模块的管控。
优选的,所述应用程序包括原有应用程序及硬件应用程序,所述原有应用程序为所述系统自身包含的应用程序,用于分别与所述硬件应用程序及所述硬件代理进行交互,所述硬件应用程序为相应的所述硬件模拟模块的应用程序,用于与相应的所述硬件模拟模块的驱动程序进行交互。
优选的,所述系统为PC、工作站或者服务器。
优选的,所述虚拟机为QEMU或Gem5模拟器。
一种协同测试方法,包括:
使用虚拟机模拟处理器得到处理器模拟模块,并基于所述虚拟机提供的框架编写模拟相应硬件的程序得到硬件模拟系统;
在所述虚拟机中部署操作系统及包含相应软件的软件系统;
在所述处理器模拟模块及所述操作系统提供的实现协同测试的环境中,控制所述硬件模拟系统及所述软件系统进行交互,以实现相应软件和硬件的协同测试。
本发明提供了一种协同测试系统及方法,该系统包括处理器模拟模块、硬件模拟模块、操作系统及包含相应软件的软件系统;其中,所述处理器模拟模块为使用虚拟机模拟的处理器,所述硬件模拟模块为基于所述虚拟机提供的框架所编写的模拟相应硬件的程序,所述操作系统及所述软件系统均部署在所述虚拟机中;所述处理器模拟模块及所述操作系统用于提供实现协同测试的环境,所述软件系统及所述硬件模拟模块用于在实现协同测试的环境中进行交互,以实现相应软件和硬件的协同测试。本申请使用虚拟机模拟处理器得到处理器模拟模块,并在虚拟机中部署操作系统,以基于此提供实现软件和硬件协同测试的环境;在虚拟机中部署包含软件的软件系统,并基于虚拟机提供的框架编写模拟硬件的程序得到硬件模拟模块;从而在处理器模拟模块及操作系统提供的环境中,进行软件系统及硬件模拟模块的交互,从而实现软件和硬件的协同测试。可见,本申请通过虚拟机模拟协同测试所需环境以及需要协同测试的软硬件,从而无需等待硬件就绪即可实现软硬件的测试,大大提高了项目风险,缩短了开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种协同测试系统的结构示意图;
图2为本发明实施例提供的一种协同测试方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种协同测试系统,可以包括处理器模拟模块、硬件模拟模块、操作系统及包含相应软件的软件系统;其中,处理器模拟模块为使用虚拟机模拟的处理器,硬件模拟模块为基于虚拟机提供的框架所编写的模拟相应硬件的程序,操作系统及软件系统均部署在虚拟机中;处理器模拟模块及操作系统用于提供实现协同测试的环境,软件系统及硬件模拟模块用于在实现协同测试的环境中进行交互,以实现相应软件和硬件的协同测试。
需要说明的是,为了实现软件及硬件的协同测试,本申请实施例可以使用虚拟机模拟真实硬件中的处理器,如X86或ARM,单核或多核,并称之为处理器模拟模块;还可以在虚拟机的存储设备中安装真实场景使用的操作系统;使用该处理器模拟模块及操作系统共同组成的环境作为模拟硬件真实运行环境的验证平台,同时也是软件的开发平台。在虚拟机上部署真实环境中使用的包含有需要开发的各项软件的软件系统,包括但不限于存储服务、网络服务、设备驱动等;基于虚拟机中提供的模拟硬件的框架编写硬件模拟模块,硬件模拟模块能够模拟需要实现测试的各项硬件,模拟的硬件具有的硬件功能包括但不限于寄存器、中断、DMA(Direct memory access,直接内存访问,其是计算机科学中的一种内存访问技术,它允许某些电脑内部的硬件子系统可以独立地直接读写系统内存,而不需中央处理器介入处理)、总线接口等,且在软件系统看来硬件模拟模块模拟的硬件与真实的硬件在接口及行为上均无差别。另外,为了实现硬件及软件的协同测试,本申请实施例还可以在虚拟机程序的后台以及硬件模拟模块中扩展共享内存的接口,从而使得虚拟机程序通过共享内存、网络等通信方式与硬件模拟模块进行命令和数据的交互,来模拟真实的硬件完成对数据的处理,并通过虚拟机程序返回给软件系统对数据处理的结果。具体来说,在实现硬件和软件的协同测试时,软件系统可以向硬件模拟模块发送处理数据的命令,硬件模拟模块响应命令实现对相应数据的处理后,将处理所得的结果返回给软件系统,从而实现软件系统和硬件模拟模块的交互,并且基于该交互的过程实现对软件和硬件的测试。
本申请使用虚拟机模拟处理器得到处理器模拟模块,并在虚拟机中部署操作系统,以基于此提供实现软件和硬件协同测试的环境;在虚拟机中部署包含软件的软件系统,并基于虚拟机提供的框架编写模拟硬件的程序得到硬件模拟模块;从而在处理器模拟模块及操作系统提供的环境中,进行软件系统及硬件模拟模块的交互,从而实现软件和硬件的协同测试。可见,本申请通过虚拟机模拟协同测试所需环境以及需要协同测试的软硬件,从而无需等待硬件就绪即可实现软硬件的测试,大大提高了项目风险,缩短了开发周期。
本发明实施例提供的一种协同测试系统,还可以包括物理硬件,物理硬件通过直通的方式传递给虚拟机,用于在实现协同测试的环境中与软件系统和/或硬件模拟模块进行交互,以实现相应软件和硬件的协同测试。
需要说明的是,本申请实施例还可以将协同测试系统中需要使用的其他真实的物理硬件,通过直通(pass through)的方式传递给虚拟机,虚拟机按照使用真实硬件的方式使用该物理硬件,包括控制该物理硬件实现与软件系统和/或硬件模拟模块的交互,从而能够进一步提高所模拟场景的真实性,进而提高软硬件协同测试的准确性。其中,直通的方式是设备虚拟化方式中的一种,是把某个物理设备直接指传递某个虚拟机使用,获得设备的虚拟机像使用一个真实物理设备一样使用此设备,设备对别的虚拟机不可见。
本发明实施例提供的一种协同测试系统,还可以包括硬件代理,硬件代理部署在虚拟机中,用于实现对相应物理硬件的管控以及实现相应物理硬件及软件系统之间的交互。
本申请实施例还可以设置硬件代理,硬件代理与上述物理硬件可以是一对一的关系,也可以是一对多的关系,进而在需要通过软件系统实现与相应的物理硬件的交互时,可以通过硬件代理提供的接口实现与相应物理硬件的交互;并且,对于物理硬件的状态或者其他工作,如物理硬件存储的数据、是否正常工作的状态以及执行操作的状态等进行相应的管控;从而通过硬件代理实现相应物理硬件的管控及其与软件系统的交互,便于实现软硬件的协同测试。
本发明实施例提供的一种协同测试系统,硬件模拟模块可以包括硬件模拟器及硬件模拟程序,硬件模拟器包括能够与软件系统进行通信的接口,硬件模拟程序包括实现相应硬件功能的程序。
为了进一步保证对真实硬件的有效模拟,简化各模块的功能以便于后期实现相应的维护等操作,本申请实施例中硬件模拟模块可以包括硬件模拟器及硬件模拟程序,硬件模拟器与硬件模拟程序可以是一对一的关系,也可以是一对多的关系,其中,硬件模拟器包含能够与软件系统进行通信的接口,而硬件模拟程序包含实现所对应的硬件的功能的程序,由此,当软件系统需要与硬件模拟模块实现交互时,则可以通过硬件模拟器包含的接口向硬件模拟程序发送相应的命令,并在硬件模拟程序响应命令进行相应的数据处理,得到处理的结果后通过硬件模拟器返回给软件系统。
本发明实施例提供的一种协同测试系统,硬件模拟程序可以包括通过软件进行封装的位真模型,位真模型以进程的形式运行。
本申请实施例可以获取硬件的位真模型(Bit-true模型),通过软件对其进行封装,并使其以进程的形式运行;此进程可以开辟进程间的通信接口,包括但不限于共享内存、网络通信等,从而使得Bit-ture模型可通过进程间通信接口接收数据和返回结果等。其中,位真模型是用于描述硬件逻辑的比特精确模型,其不包含硬件的时序信息,仅保证模型和硬件输入输出信息的二进制一致性;而进程间通信指由操作系统内提供的、把数据从一个进程发送给另一个进程的通信,包含但不限于管道、信号、共享内存等方式;其中的共享内存通信是由操作系统提供的、两个或多个进程间通过访问同一块物理内存来实现的交互数据的方式,相对于其他进程间通信方式有较高的吞吐率和效率。
本发明实施例提供的一种协同测试系统,软件系统可以包含应用程序及驱动程序,应用程序用于分别与物理硬件及硬件模拟模块进行交互,驱动程序用于在应用程序的控制下实现对相应的硬件模拟模块的管控。
本申请实施例中的软件系统可以包括应用程序及驱动程序,其中,应用程序通常指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面;而驱动程序一般指的是设备驱动程序(Device Driver),其是一种可以使计算机和设备进行相互通信的特殊程序,相当于硬件的接口,通过这个接口能够控制硬件设备的工作。由此,本申请中应用程序能够通过硬件代理与所对应的物理硬件之间进行交互,通过驱动程序与所对应的硬件模拟模块之间进行交互,从而通过协同测试实现应用程序及驱动程序的开发等操作。
本发明实施例提供的一种协同测试系统,应用程序可以包括原有应用程序及硬件应用程序,原有应用程序为系统自身包含的应用程序,用于分别与硬件应用程序及硬件代理进行交互,硬件应用程序为相应的硬件模拟模块的应用程序,用于与相应的硬件模拟模块的驱动程序进行交互。
为了实现对协同测试系统的充分利用,本申请实施例中的应用程序可以包括原有应用程序及硬件应用程序,其中,原有应用程序为协同测试系统自身包含的应用程序,其能够通过硬件代理实现与相应物理硬件的交互,而硬件应用程序则为能够使用相应硬件模拟模块的应用程序,其能够通过驱动程序实现与硬件模拟模块的交互,且原有应用程序及硬件应用程序之间能够进行通信,从而实现相应的交互过程;具体来说,该交互过程可以是物理硬件通过硬件代理发送命令至原有应用程序,原有应用程序将该命令传送给硬件应用程序,硬件应用程序通过驱动程序将命令传输给硬件模拟模块,硬件模拟模块中的硬件模拟器调用硬件模拟程序响应命令,实现相应的数据,并将处理的结果通过硬件模拟器、驱动程序、硬件应用程序、原有应用程序、硬件代理返回给相应的物理硬件;还可以是原有应用程序接收上层发送的命令,原有应用程序将该命令传送给硬件应用程序,硬件应用程序通过驱动程序将命令传输给硬件模拟模块,硬件模拟模块中的硬件模拟器调用硬件模拟程序响应命令,实现相应的数据,并将处理的结果通过硬件模拟器、驱动程序、硬件应用程序、原有应用程序返回给上层;当然根据实际需要进行的其他交互过程,也均在本发明的保护范围之内。
本发明实施例提供的一种协同测试系统,系统可以是一个计算平台,包括但不限于PC、工作站或者服务器;而虚拟机可以为QEMU或Gem5模拟器;其中,Gem5模拟器是一个开放源码的、模块化的离散事件驱动的系统级和处理器模拟器,而QEMU(Quick Emulator,快速模拟器)是一种免费的可执行硬件虚拟化的开源托管虚拟机,它通过动态的二进制转换模拟CPU行为,并且提供一组设备模型,使它能够运行多种未修改的客户机OS(operationsystem,操作系统),可以通过与KVM(kernel-based virtual machine,Linux提供的内核虚拟机。)一起使用进而接近本地速度运行虚拟机,且QEMU软件包中提供了对很多常见外设的模拟,例如网卡,硬盘,音频和显示设备等。当然根据实际需要进行的其他设定,也均在本发明的保护范围之内。
本发明实施例提供的一种协同测试系统可以如图1所示,包括物理硬件104、硬件代理(或者称为虚拟设备)110、原有应用程序109、硬件应用程序101、驱动程序102、硬件模拟器103、虚拟机108、硬件模拟程序106、位真模型107,而105表示协同测试系统。其中,105是一个计算平台,包括但不限于PC、工作站或服务器;108是运行在105上的一个虚拟机,包括但不限于QEMU、Gem5;106是运行在105上的硬件模拟程序,包含Bit-ture模型107;102是运行在108上的驱动程序,能够接收101的指令和数据,并访问103完成相应的数据处理功能;101是运行在108上的硬件应用程序,能够发送指令和数据给102;103是基于虚拟机108模拟的硬件,硬件模拟程序106不单独运行,而是集成在虚拟机程序中;104是105上原有的物理硬件,通过直通的方式交给109使用;109是105上原有的应用软件,能够通过和101交互来使用硬件模拟器103提供的功能;而交互方式包括但不限于各种进程间通信方式。相应的交互过程可以包括:
1. 109从104获得一块数据,并将其存放在108的内存中;
2. 109通过进程间通信等接口,向101发起一次数据处理的业务请求;
3. 101收到业务请求,通过102把业务请求递交给103,103接收业务请求的方式包括但不限于寄存器方位、DMA等方式;
4. 103通过读寄存器、DMA读等方式从108的内存中获取数据,并把数据和业务请求进行封装,通过进程间通信接口发送给106;
5. 106收到将封装后的业务请求及数据,转交给107进行数据处理;
6. 106把107进行数据处理的结果,通过进程间通信的方式,返回给103;
7. 103把数据处理的结果通过102及101返回给109;
8. 109把数据处理的结果交给104,结束数据处理流程。
在上述交互过程中,引入104和109是描述完整的包含多个硬件和软件的应用场景,而在真实的使用场景中,有的系统可能需要模拟多个硬件(多个S103),或者passthrough多个真实的物理硬件(多个S104),有的系统则可能不包含104和109,仅测试103的场景。而上述协同测试系统的部署过程可以包括:
使用QEMU或Gem5等开源虚拟机模拟真实硬件中的处理器,并在虚拟机的存储设备中安装真实场景使用的操作系统,使用此环境作为模拟硬件真实运行环境的验证平台,同时也是驱动程序和应用程序的开发平台;
将系统中需要使用的其他真实物理硬件通过pass through的方式传递给虚拟机,虚拟机按照使用真实硬件的方式使用设备;在虚拟机上部署真实环境中使用的软件系统,包括但不限于存储服务、网络服务、设备驱动等;并基于虚拟机中提供的模拟硬件的框架,编写硬件模拟程序来模拟待测试的硬件,模拟的硬件功能包括但不限于寄存器、中断、DMA,总线接口等,而在驱动程序和应用程序看来,模拟的硬件与真实的硬件在接口和行为上没有差别;
获取硬件的Bit-true模型,通过软件进行封装,以进程的形式运行,此进程开辟进程间通信接口,包括但不限于共享内存、网络通信等,Bit-ture模型可通过进程间通信接口接收数据和返回结果;
在虚拟机程序的后台,在硬件模拟程序中扩展共享内存的接口,通过共享内存、网络等通信方式与硬件算法的Bit-true模型进行交互,来模拟真实的硬件完成对数据的处理,并通过虚拟机程序返回给运行在虚拟机中的驱动程序和应用程序;
应用程序、驱动程序与原有系统中的软硬件进行交互,完成真实系统中各种业务的模拟。
因此,本申请能够在硬件项目早期就模拟出硬件使用的系统级环境,允许使用真实的系统级使用场景对软硬件系统进行测试和验证,提前发现硬件算法在协议兼容性、性能等方面的缺陷和漏洞,避免后期调整算法带来的风险;同时,还为硬件配套软件的开发和调试提供了一个虚拟环境,可以允许软件进行软硬件接口协议、内存管理方案、异常处理等等方案的测试和验证,能够提前发现和解决软件本身的设计缺陷,降低后期修改方案的成本;由于软件开发能够提前进入软硬件联调和测试的环节,不用等待芯片原型的就绪,能够为项目开发缩短时间。另外,本申请中Bit-true模型可以被其他类型的模型取代,进而完成对其他模型的测试,且不对硬件模拟模块的数量进行限制,可以扩展到一个包含多个模拟硬件的模拟模块。
本发明实施例还提供了一种协同测试方法,如图2所示,可以包括:
S11:使用虚拟机模拟处理器得到处理器模拟模块,并基于虚拟机提供的框架编写模拟相应硬件的程序得到硬件模拟系统;
S12:在虚拟机中部署操作系统及包含相应软件的软件系统;
S13:在处理器模拟模块及操作系统提供的实现协同测试的环境中,控制硬件模拟系统及软件系统进行交互,以实现相应软件和硬件的协同测试。
需要说明的是,本发明实施例提供的一种协同测试方法中相关部分的说明请参见本发明实施例提供的一种协同测试系统中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种协同测试系统,其特征在于,包括处理器模拟模块、硬件模拟模块、操作系统、包含相应软件的软件系统、物理硬件以及硬件代理;其中,所述处理器模拟模块为使用虚拟机模拟的处理器,所述硬件模拟模块为基于所述虚拟机提供的框架所编写的模拟相应硬件的程序,所述操作系统及所述软件系统均部署在所述虚拟机中;所述处理器模拟模块及所述操作系统用于提供实现协同测试的环境,所述软件系统及所述硬件模拟模块用于在实现协同测试的环境中进行交互,以实现相应软件和硬件的协同测试;
所述物理硬件通过直通的方式传递给所述虚拟机,用于在实现协同测试的环境中与所述软件系统和/或所述硬件模拟模块进行交互,以实现相应软件和硬件的协同测试;
所述硬件代理部署在所述虚拟机中,用于实现对相应物理硬件的管控以及实现相应物理硬件及所述软件系统之间的交互;
所述硬件模拟模块包括硬件模拟器及硬件模拟程序,所述硬件模拟器包括能够与所述软件系统进行通信的接口,所述硬件模拟程序包括实现相应硬件功能的程序;
所述硬件模拟程序集成在虚拟机程序中,在所述虚拟机程序的后台和所述硬件模拟模块中扩展共享接口,所述共享接口用于所述虚拟机程序与所述硬件模拟模块进行命令和数据的交互。
2.根据权利要求1所述的系统,其特征在于,所述硬件模拟程序包括通过软件进行封装的位真模型,所述位真模型以进程的形式运行。
3.根据权利要求2所述的系统,其特征在于,所述软件系统包含应用程序及驱动程序,所述应用程序用于分别与所述物理硬件及所述硬件模拟模块进行交互,所述驱动程序用于在所述应用程序的控制下实现对相应的所述硬件模拟模块的管控。
4.根据权利要求3所述的系统,其特征在于,所述应用程序包括原有应用程序及硬件应用程序,所述原有应用程序为所述系统自身包含的应用程序,用于分别与所述硬件应用程序及所述硬件代理进行交互,所述硬件应用程序为相应的所述硬件模拟模块的应用程序,用于与相应的所述硬件模拟模块的驱动程序进行交互。
5.根据权利要求4所述的系统,其特征在于,所述系统为PC、工作站或者服务器。
6.根据权利要求5所述的系统,其特征在于,所述虚拟机为QEMU或Gem5模拟器。
7.一种协同测试方法,其特征在于,包括:
使用虚拟机模拟处理器得到处理器模拟模块,并基于所述虚拟机提供的框架编写模拟相应硬件的程序得到硬件模拟模块;
在所述虚拟机中部署操作系统及包含相应软件的软件系统;
对相应物理硬件的管控以及实现相应物理硬件及所述软件系统之间的交互;
在所述处理器模拟模块及所述操作系统提供实现协同测试的环境,控制所述软件系统及所述硬件模拟模块进行交互,以实现相应软件和硬件的协同测试;
将所述物理硬件通过直通的方式传递给所述虚拟机,在实现协同测试的环境中与所述软件系统和/或所述硬件模拟模块进行交互,以实现相应软件和硬件的协同测试;
将硬件代理部署在所述虚拟机中,用于实现对相应物理硬件的管控以及实现相应物理硬件及所述软件系统之间的交互;
所述硬件模拟模块包括硬件模拟器及硬件模拟程序,所述硬件模拟器包括能够与所述软件系统进行通信的接口,所述硬件模拟程序包括实现相应硬件功能的程序;
将所述硬件模拟程序集成在虚拟机程序中,在所述虚拟机程序的后台和所述硬件模拟模块中扩展共享接口,所述共享接口用于所述虚拟机程序与所述硬件模拟模块进行命令和数据的交互。
CN202110093731.5A 2021-01-22 2021-01-22 一种协同测试系统及方法 Active CN112764981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110093731.5A CN112764981B (zh) 2021-01-22 2021-01-22 一种协同测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110093731.5A CN112764981B (zh) 2021-01-22 2021-01-22 一种协同测试系统及方法

Publications (2)

Publication Number Publication Date
CN112764981A CN112764981A (zh) 2021-05-07
CN112764981B true CN112764981B (zh) 2023-03-14

Family

ID=75706925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110093731.5A Active CN112764981B (zh) 2021-01-22 2021-01-22 一种协同测试系统及方法

Country Status (1)

Country Link
CN (1) CN112764981B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485755B (zh) * 2021-06-30 2023-08-18 深圳市科力锐科技有限公司 设备驱动程序验证方法、装置、设备及存储介质
CN114327648B (zh) * 2021-12-16 2024-02-02 北京安天网络安全技术有限公司 一种驱动调试方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499937A (zh) * 2009-03-16 2009-08-05 盛科网络(苏州)有限公司 一种基于fpga的软硬件协同仿真验证系统及方法
CN102521444A (zh) * 2011-12-08 2012-06-27 青岛海信信芯科技有限公司 软硬件协同仿真/验证方法及装置
CN111123737A (zh) * 2018-11-30 2020-05-08 中国航空工业集团公司沈阳飞机设计研究所 一种数字硬件虚拟仿真系统
CN111208746A (zh) * 2020-04-16 2020-05-29 中国人民解放军国防科技大学 一种北斗全球系统软硬协同仿真试验验证系统及建立方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088150A1 (en) * 1998-03-31 2004-05-06 Synopsys, Inc. System and method for hardware and software co-verification
US7107202B1 (en) * 2000-01-31 2006-09-12 Intel Corporation Method and apparatus for hardware and software co-simulation
US7827550B2 (en) * 2005-08-17 2010-11-02 Intel Corporation Method and system for measuring a program using a measurement agent
TWI598819B (zh) * 2015-04-30 2017-09-11 捷鼎國際股份有限公司 基於虛擬機器進行硬體裝置測試之電腦系統及方法
TWI540511B (zh) * 2015-04-30 2016-07-01 捷鼎國際股份有限公司 用以存取虛擬機器之電腦系統及方法
US11347531B2 (en) * 2018-10-31 2022-05-31 The Boeing Company Generalized virtualization platform for systems using hardware abstraction software layers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499937A (zh) * 2009-03-16 2009-08-05 盛科网络(苏州)有限公司 一种基于fpga的软硬件协同仿真验证系统及方法
CN102521444A (zh) * 2011-12-08 2012-06-27 青岛海信信芯科技有限公司 软硬件协同仿真/验证方法及装置
CN111123737A (zh) * 2018-11-30 2020-05-08 中国航空工业集团公司沈阳飞机设计研究所 一种数字硬件虚拟仿真系统
CN111208746A (zh) * 2020-04-16 2020-05-29 中国人民解放军国防科技大学 一种北斗全球系统软硬协同仿真试验验证系统及建立方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
基于动态二进制翻译技术的数管软件虚拟测试环境设计;韦涌泉等;《计算机测量与控制》;20180425(第04期);全文 *
多虚拟机协同计算任务的分发部署及运行框架;陈小军等;《应用科学学报》;20110930(第05期);全文 *
安全云环境下Zebra软件路由器的研究与实现;邓荣;《软件》;20161215(第12期);全文 *
支持硬件透明编程模型的动态可重构系统的设计与实现;钟俊等;《计算机应用研究》;20091115(第11期);全文 *
视频编码器片上系统集成中软硬件协同设计方法的研究;来金梅等;《计算机辅助设计与图形学学报》;20000601(第06期);全文 *

Also Published As

Publication number Publication date
CN112764981A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
US8930912B2 (en) Method and system for performing software verification
US8830228B2 (en) Techniques for enabling remote management of servers configured with graphics processors
CN104750603B (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN101344899B (zh) 一种片上系统的仿真测试方法及仿真测试系统
CN112764981B (zh) 一种协同测试系统及方法
JP7321839B2 (ja) ハードウェア抽象化ソフトウェアレイヤを使用するシステムのための汎用仮想化プラットフォーム
CN111679889B (zh) 一种虚拟机的转换迁移方法和系统
CN101739289A (zh) 一种在Linux虚拟机中设置显示模式的方法及装置
CN111459606A (zh) 一种虚拟化下快速创建虚拟机的方法及服务器
CN113657069B (zh) 片上系统soc仿真验证方法、装置、验证服务器及存储介质
CN117389694B (zh) 基于virtio-blk技术提升虚拟存储IO性能的方法
CN111353263A (zh) 软硬件设计与验证平台系统
CN113868174B (zh) 验证平台搭建方法、装置及存储介质
CN115203054A (zh) 一种虚拟化芯片测试系统
CN116611375A (zh) 软硬件协同仿真平台及软硬件测试方法
US20240176632A1 (en) Method for generating and verifying automotive embedded software based on autosar
CN109271231B (zh) 测试物理硬件装置的方法和仿真物理硬件装置的系统
US7447618B2 (en) Method and system for ASIC simulation
CN117971400B (zh) 一种网卡设备仿真系统、方法、电子设备及存储介质
Kleinert et al. Hardware-software co-simulation for medical x-ray control units
RU2818034C1 (ru) Способ и система запуска приложений в симулируемой среде
KR101412576B1 (ko) 가상 보드 플랫폼, 시스템-온-칩 시뮬레이션 장치, 시스템-온-칩 시뮬레이션 방법 및 시스템-온-칩 검증 방법
EP3961389A1 (en) Virtual machine for developing and testing target code for hardware designs
CN117785593B (zh) 一种基于UVM的xHCI驱动的实现系统及方法
WO2024139010A1 (zh) 固态硬盘控制器及其控制方法、固态硬盘、固态硬盘系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240702

Address after: 2324, Building 1, Aosheng Building, No. 1166 Xinluo Street, High tech Zone, Jinan City, Shandong Province, 250000

Patentee after: Inspur Computer Technology Co.,Ltd.

Country or region after: China

Address before: 35th floor, S01 building, Inspur science and Technology Park, 1036 Inspur Road, Jinan area, Jinan pilot Free Trade Zone, Jinan City, Shandong Province

Patentee before: Shandong Yunhai guochuang cloud computing equipment industry innovation center Co.,Ltd.

Country or region before: China