CN113535487A - 测试系统及方法 - Google Patents

测试系统及方法 Download PDF

Info

Publication number
CN113535487A
CN113535487A CN202010298952.1A CN202010298952A CN113535487A CN 113535487 A CN113535487 A CN 113535487A CN 202010298952 A CN202010298952 A CN 202010298952A CN 113535487 A CN113535487 A CN 113535487A
Authority
CN
China
Prior art keywords
program
peripheral
data packet
communication interface
processor
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.)
Pending
Application number
CN202010298952.1A
Other languages
English (en)
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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems 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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN202010298952.1A priority Critical patent/CN113535487A/zh
Publication of CN113535487A publication Critical patent/CN113535487A/zh
Pending legal-status Critical Current

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/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开实施例提供一种测试系统和测试方法。所述测试系统包括:模拟器,可被部署在计算设备上,用于模拟待测程序在待测处理器上的执行结果,并且对于待测程序中包含的需要由第一外围设备执行的第一程序指令,根据第一程序指令构建第一数据包,并经由计算设备的通信接口发送第一数据包;开发板,包括:一个或多个外围设备,至少包括第一外围设备;通信接口,用于接收计算设备的通信接口发送的第一数据包;处理单元,用于解析第一数据包,并根据解析的结果向第一外围设备发送第一程序指令,以指示第一外围设备执行第一程序指令。本公开实施例的测试系统,通过将外围设备的行为转接到一块真实的开发板上,从而做到外围设备的真实化模拟。

Description

测试系统及方法
技术领域
本公开实施例属于嵌入式测试领域,尤其是一种测试系统及方法。
背景技术
通常,将要在嵌入式处理器(包括片上系统)上运行的程序(可称为嵌入式程序),在刻录到嵌入式系统之前会在模拟器上进行测试。模拟器是模拟嵌入式处理器的功能和行为的软件程序,通过模拟器,使得嵌入式程序可在传统计算机或者其他多媒体平台(掌上电脑,手机)上模拟出在嵌入式处理器上的执行结果。
如图1所示,计算设备10例如为一个计算机系统,其上部署一个模拟器11,由于嵌入式程序12需要由嵌入式处理器解析并处理,因此它不能直接在计算设备250上运行,而是必须采用模拟器11模拟嵌入式程序12的执行结果,该执行结果可输出到计算设备250的显示屏或文件系统中。在此过程中,对于嵌入式程序12中包含的用于指示外围设备工作的程序指令,由于外围设备需和嵌入式处理器适配,一般也无法安装在计算设备10上,因此模拟器11的模拟方法是根据外围设备的实际功能确定外围设备对于该程序指令的执行结果,并直接将该执行结果输出到显示屏或文件系统中。例如,当嵌入式程序12的某程序指令指示UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)发送数据“AAA”,模拟器11的模拟方法是把“AAA”发送到显示屏输出,因而在显示屏可以看到输出的“AAA”。但是这样的模拟方法在测试要求较低时还可以奏效,但是对测试要求较高时,由于外围设备并没有实际的执行,从而导致测试结果并不那么有效。尤其是,多个外围设备的交互操作是无法通过这种模拟方式实现的,例如,从一个外围设备向另一个外围设备发送消息。而同时,如果想在模拟器中实现所有外围设备的所有实际功能和操作行为,其代价又是极其昂贵的。
发明内容
有鉴于此,本公开实施例提供一种测试系统,以解决现有技术中存在的问题。
第一方面,本公开实施例提供一种测试系统,包括:
模拟器,可被部署在计算设备上,用于模拟待测程序在待测处理器上的执行结果,并且对于所述待测程序中包含的需要由第一外围设备执行的第一程序指令,根据所述第一程序指令构建第一数据包,并经由所述计算设备的通信接口发送所述第一数据包;
开发板,包括:
一个或多个外围设备,至少包括所述第一外围设备;
通信接口,用于接收所述计算设备的通信接口发送的所述第一数据包;
处理单元,用于解析所述第一数据包,并根据所述解析的结果向所述第一外围设备发送所述第一程序指令,以指示所述第一外围设备执行第一程序指令。
可选地,所述处理单元还包括:
根据所述第一外围设备的执行结果构建第二数据包,并经由所述开发板的通信接口和所述计算设备的通信接口将所述第二数据包发送给所述模拟器,
则所述模拟器还包括:
解析所述第二数据包以得到所述第一外围设备的执行结果。
可选地,所述处理单元还包括:
将所述第一外围设备的配置信息经由所述开发板的通信接口和所述计算设备的通信接口发送给所述模拟器,
所述模拟器还包括:
根据所述配置信息和所述第一外围设备的执行结果进行测试分析。
可选地,所述一个或多个外围设备还包括第二外围设备,所述第一程序指令指示所述第一外围设备向所述第二外围设备发送消息。
可选地,所述第一程序指令指示所述第一外围设备发送消息。
可选地,所述第一数据包包括以下数据项:一个或多个外围设备的标识、指令信息、数据信息。
可选地,所述计算设备的通信接口和所述开发板的通信接口均为以下中的一种:
USB接口、串行接口、并行接口、网络接口。
可选地,所述待测程序为嵌入式程序,所述待测处理器为嵌入式处理器。
第二方面,本公开实施例提供一种测试方法,包括:
在计算设备上部署模拟器,所述模拟器模拟待测程序在待测处理器上的执行结果,并且对于所述待测程序中包含的需要由第一外围设备执行的第一程序指令,根据所述第一程序指令构建第一数据包,并经由计算设备的通信接口发送所述第一数据包;
配置开发板,所述开发板包括:
一个或多个外围设备,至少包括所述第一外围设备;
通信接口,用于接收所述计算设备的通信接口发送的所述第一数据包;
处理单元,用于解析所述第一数据包,并根据所述解析的结果向所述第一外围设备发送所述第一程序指令,以指示所述第一外围设备执行第一程序指令。
可选地,所述待测程序为嵌入式程序,所述待测处理器为嵌入式处理器。
本公开实施例的测试系统,通过将外围设备的行为转接到一块真实的开发板上,从而做到外围设备的真实化模拟,并且开发板能够设置各种外围设备,无需为每种外围设备进行单独模拟,从而提高了开发效率,降低了开发成本。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是现有技术中,采用模拟器进行嵌入式程序测试的示意图;
图2是一个嵌入式系统的一种系统架构图;
图3是一个嵌入式处理器的结构图;
图4是本公开一个实施例的测试系统的结构图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本文中使用以下术语。
模拟器:主要通过软件模拟硬件处理器的功能和指令系统的程序,使计算机或者其他多媒体平台(掌上电脑,手机)能够运行其他平台上的软件。
外围设备:与处理器连接的外围设备,包括对输入、输出设备(包括外存储器)的统称。外围设备对数据和信息起着传输、转送和存储的作用,是系统中的重要组成部分。例如UART是其中的一种外围设备。
UART:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号。
嵌入式系统整体架构
嵌入式系统(Embedded system)是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。根据英国电气工程师协会(U.K.Institution of ElectricalEngineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。
图2是一个嵌入式系统100的一种系统架构图。
尽管各种具体的嵌入式系统的功能、外观界面、操作等各不相同,甚至千差万别,但是基本的硬件结构却是大同小异的,而且和通用计算机的硬件系统有着高度的相似性,但是嵌入式系统应用上的特点致使嵌入式系统在硬件的组成和实现形式上与通用计算机系统又有较大区别。
首先,为满足嵌入式系统100在速度、体积和功耗上的要求,操作系统、应用软件、特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用随机存储器102或闪存(Flash Memory)103,如图2所示。
另外,在嵌入式系统100中,需要A/D(模拟/数字转换)接口105和串行接口106,用于测控的需要,这在通用计算机中用得很少。A/D接口105主要完成测试中所需要的模拟信号到数字信号的转换、和数字信号到模拟信号的转换。嵌入式系统100应用于工业生产时经常需要测试。由于单片机产生的是数字信号,在测试时需要转换成模拟信号用于测试,因此,与通用计算机不同,需要A/D(模拟/数字转换)接口105完成相关转换。另外,工业中经常需要多个嵌入式系统串接在一起,完成相关功能,因此需要用于将多个嵌入式系统串联的串行接口106,而在通用计算机中则大多不需要。
另外,嵌入式系统100作为一个基本的处理单元,常常在工业设计中需要将多个嵌入式系统100联成网络,因此需要将嵌入式系统100联入网络的网络接口107。这在通用计算机中大多也不需要。此外,根据实际应用和规模的不同,有些嵌入式系统100要采用外部总线104。随着嵌入式系统100应用领域的迅速扩张,嵌入式系统100越来越趋于个性化,根据自身特点采用总线的种类也越来越多。另外,为了对嵌入式处理器101内部电路进行测试,处理器芯片普遍采用了边界扫描测试技术。为了适应该测试,采用了调试接口108。
嵌入式系统100的处理核心是嵌入式处理器101。图3是嵌入式处理器101的结构图。嵌入式处理器101包括算术逻辑单元(ALU)201、寄存器202和控制单元203。算术逻辑单元201完成实际的运算处理。寄存器202用于存储运算处理过程中的指令和运算处理中的中间结果等。控制单元203完成对外部的RAM 102、闪存103的访问的控制。
在执行待执行指令时,ALU 201将待执行指令从RAM 102或闪存103中搬运到寄存器202中,并接收下一个取指地址或根据取指算法计算获得下一个取指地址,取指算法例如包括:根据指令长度递增地址或递减地址。
取出指令后,ALU 201进入指令译码阶段,其按照预定的指令格式,对取回的指令进行译码,以获得取回的指令所需的操作数获取信息,从而为指令的执行做准备。操作数获取信息例如指向RAM 102或闪存103中的地址等。译码后,ALU按照操作数获取信息,获取RAM102或闪存103中存储的操作数执行处理。
ALU 201在执行某类指令(例如访存指令)时,需要访问RAM 102或闪存103,以获取其中存储的信息或提供需要写入RAM 102或闪存103中的数据。
访存指令被ALU 201获取之后,ALU 201可以对访存指令进行译码处理,使得访存指令的源操作数可被获取。ALU 201可以对访存指令的源操作数进行相应的运算(例如由算术逻辑单元对存储于寄存器中的源操作数进行运算)以获得访存指令对应的地址信息,并根据该地址信息发起相应的请求,例如地址转译请求、写访问请求等。
随着超大规模集成电路(Very Large Scale Integration)和半导体工艺的迅速发展,上述的嵌入式系统的部分或者全部可实现在一个硅片上,即为嵌入式片上系统(SoC)。
本公开实施例的技术方案
在工业实践中,类似于图上所示的嵌入式处理器和由该嵌入式处理器执行的嵌入式程序往往同步开发设计,嵌入式程序无法等到嵌入式处理器完全定型和产品化之后再进行测试。为此,本公开实施例提供一种如图4所示的测试系统,用于模拟待测处理器的功能和行为对待测程序进行测试,并解决现有技术中模拟器无法模拟所有外围设备的功能和行为的问题。应理解的是,本公开实施例提供的测试系统可扩展地应用于对所有程序的测试上,因此本文中的待测程序既可以是嵌入式程序,也可以是其他类型的程序,待测处理器既可以是嵌入式处理器,也可以是其他类型的处理器。
图4是本公开一个实施例的测试系统的结构图。参考图上所示,计算设备40为计算机系统。该计算机系统至少包括处理器(图上未示出)和存储器(图上未示出)。处理器一般具有本领域所公知的数据处理能力。它可以是复杂指令集(CISC)架构、精简指令集(RISC)架构、超长指令宇(VLIW)架构的处理器、或者是实现上述指令集组合的处理器、或者是任何为了专用目标构建的处理器设备。存储器可以是主存储器(简称为主存或内存),用于存储由数据信号表示的指令信息和/或数据信息。存储器也可以是辅助存储器或外部存储器,用于存储各种静态的程序指令和数据,辅助存储器或外部存储器例如为通过相应接口与总线耦合的硬盘、光盘以及闪存等设备。该计算机系统还安装有各种驱动程序、操作系统和应用软件,驱动程序为存储器驱动程序、输入输出驱动程序等。操作系统例如WINDOWSTM操作系统、UNIX操作系统、Linux操作系统、RTOS操作系统,应用软件例如为浏览器、视频播放软件、通信软件、各种研发工具。
模拟器401和待测程序402均可存储在存储器中。模拟器401可由计算设备40的处理器解析并执行。但是由于用于执行待测程序的待测处理器和计算设备40的处理器具有不同的指令集架构,因此计算设备40的处理器不能够直接解析和执行待测程序402,需要通过模拟器401模拟待测处理器的行为和功能,以将待测程序402的程序指令解析后执行,换言之,利用模拟器401将待测程序的程序指令从能被待测处理器的指令集架构理解的语言转化为能被计算设备40的处理器的指令集架构理解的语言后执行。
开发板(demo board)30是嵌入式系统开发和测试所使用的电路板。嵌入式开发人员可从市场上购买已经产品化的开发板,也可以根据自身的开发需求定制或购买元件自行设计和组装。开发板有各种类型,例如ARM处理器、FPGA、DSP的开发板。通常,开发板不仅包括硬件,还包括软件,例如一些产品化的开发板提供基础集成开发环境和软件源代码等软件资源。在本实施例中,设定开发板30具有使外围设备和处理器能够正常工作的必要软件资源。为了方便说明,图上的开发板30仅列出了与处理器301耦合的通信接口303、存储器302、外围设备303和外围设备304。处理器301可以是嵌入式处理器、片上系统、数字信号处理器、FPGA、等等。处理器301一般不同于模拟器401所模拟的待测处理器(例如该处理器设计制造尚未完成),例如,它与模拟器401所模拟的待测处理器具有不同的指令集架构和/或微架构。外围设备303和304可以和模拟器401所模拟的待测处理器组装在同一个系统中。虽然图上使用303和304标记外围设备,但是具体的外围设备的数量可以是一个或多个,需根据测试所需在开发板30上设置不同型号和规格的外围设备。例如,将通用异步收发传输器设置为外围设备303,并将设备ESP8266作为外围设备304。此外,需要强调的是,开发板上的外围设备303和304应是在计算设备40上无法安装和使用的外围设备,如此才有必要使用开发板30来进行转接。
通信接口303与计算设备40上的通信接口403匹配,用于在计算设备40和开发板30之间传输数据包。通信接口403和通信接口303包括且不局限于以下接口类型:I2C总线、串行外围设备接口(SPI,Serial Periphe ral Interface)、通用串行总线(USB,UniversalSerial Bus)、通用型之输入输出(GPIO,General-purpose input/output)、并行接口、网卡接口和蓝牙UART。
上述测试系统工作的工作流程大致如下:首先计算设备40的处理器利用模拟器401解析和执行待测程序402,对于待测程序402中包含的需要外围设备303执行的程序指令,根据该程序指令构建一个数据包packet,并经由通信接口403发送数据包packet到通信接口303上,虽然没有示出,但是开发板30上存储有软件程序,处理器301执行该软件程序的程序指令,以从通信接口303接收数据包packet,将数据包packet解析后,向外围设备303发送指令,外围设备303接到指令后,并执行相应操作。举例说明,或者,处理器301执行该软件程序的程序指令,以从通信接口303接收数据包packet,然后将数据包packet发送给外围设备303,外围设备303接到数据包后,解析并执行相应操作。举例说明。如果待测程序中的程序指令要求UART设备向WIFI设备发送数据“AAA”,则数据包packet可包括:起始标志,UART设备号,WIFI设备的设备号、数据“AAA”,结束标志,处理器301可解析该数据包,取出数据“AAA”后,调用UART设备的接口,以指示UART设备向WIFI设备发送数据“AAA”,或者处理器301将该数据包直接传送给UART设备,UART设备解析该数据包,从中得到数据“AAA”,并向设备WIFI设备发送数据“AAA”。当然,这个示例的前提是在开发板30上同时设置有求UART设备和WIFI设备。
综上所述,通过将外围设备的行为转接到一块真实的开发板上,从而做到外围设备的真实化模拟,由此得到的测试结果也会更接近于待测程序的真实执行情况。而且,由于开发板能够设置各种外围设备,从而测试系统能够获得各种外围设备的真实行为以用于待测程序的模拟测试。
在进一步的实施例中,为了能够更加灵活支持各种外围设备,可为数据包packet定义更加复杂的数据规范,例如包括一个或多个外围设备标识、指令信息、数据信息等,指令信息用于指示外围设备执行何种操作,指令信息可对应于外围设备的调用接口,外围设备的调用接口可以有多个,处理器301根据指令信息从多个外围设备的调用接口中选出一个进行调用。
在进一步的实施例中,如图上所示,计算设备40和开发板30之间的数据传输是双向的,例如,外围设备303或304在执行相应操作之后,构建一个包含执行结果的数据包,并将该数据包发送给处理器301,处理器301经由通信接口303和403将数据包发送给模拟器401,模拟器401从数据包内获取执行结果。该数据包内还可以包含执行相应操作的外围设备的配置信息,例如外围设备的产品类型、包含的元件型号和种类等,模拟器401可以根据配置信息和外围设备的执行结果进行测试分析,模拟器401还可以将配置信息与执行结果以及测试分析结果对应地输出到控制台,供开发人员参考。
和上述的测试系统对应,本公开实施例提供一种待测程序的测试方法。该模拟测试方法用于实现对待测程序的测试,在测试过程中,利用真实的开发板接收针对外围设备的测试指令,由此,在系统中实现真实化的外围设备行为。具体地,该方法包括:
在计算设备上部署用于模拟待测处理器的行为以测试待测程序的模拟器,其中,模拟器是软件程序,且模拟器在执行待测程序的程序指令的过程中,如果判断当前程序指令为需要由指定外围设备执行的程序指令,则根据程序指令构建数据包,并利用计算设备的通信接口将数据包发送给开发板;
配置开发板,开发板包括外围设备、通信接口和处理单元,通信接口接收数据包,处理单元执行软件程序,以实现以下操作:解析数据包,并根据解析的结果向外围设备发送程序指令,以指示外围设备执行程序指令。
本公开实施例的商业价值
在待测处理器未开发出来之前,利用模拟器和开发板对待测程序进行测试,从而做到待测程序的提前开发,并能够有效地帮助开发人员推进开发进度,从而提高了开发效率,降低了开发成本。因此本公开实施例的测试系统具有很高的使用价值和应用前景。
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种测试系统,包括:
模拟器,可被部署在计算设备上,用于模拟待测程序在待测处理器上的执行结果,并且对于所述待测程序中包含的需要由第一外围设备执行的第一程序指令,根据所述第一程序指令构建第一数据包,并经由所述计算设备的通信接口发送所述第一数据包;
开发板,包括:
一个或多个外围设备,至少包括所述第一外围设备;
通信接口,用于接收所述计算设备的通信接口发送的所述第一数据包;
处理单元,用于解析所述第一数据包,并根据所述解析的结果向所述第一外围设备发送所述第一程序指令,以指示所述第一外围设备执行第一程序指令。
2.根据权利要求1所述的测试系统,其中,所述处理单元还包括:
根据所述第一外围设备的执行结果构建第二数据包,并经由所述开发板的通信接口和所述计算设备的通信接口将所述第二数据包发送给所述模拟器,
则所述模拟器还包括:
解析所述第二数据包以得到所述第一外围设备的执行结果。
3.根据权利要求2所述的测试系统,其中,所述处理单元还包括:
将所述第一外围设备的配置信息经由所述开发板的通信接口和所述计算设备的通信接口发送给所述模拟器,
所述模拟器还包括:
根据所述配置信息和所述第一外围设备的执行结果进行测试分析。
4.根据权利要求1所述的测试系统,其中,所述一个或多个外围设备还包括第二外围设备,所述第一程序指令指示所述第一外围设备向所述第二外围设备发送消息。
5.根据权利要求1所述的测试系统,其中,所述第一程序指令指示所述第一外围设备发送消息。
6.根据权利要求1所述的测试系统,其中,所述第一数据包包括以下数据项:一个或多个外围设备的标识、指令信息、数据信息。
7.根据权利要求1所述的测试系统,其中,所述计算设备的通信接口和所述开发板的通信接口均为以下中的一种:
USB接口、串行接口、并行接口、网络接口。
8.根据权利要求1所述的测试系统,其中,所述待测程序为嵌入式程序,所述待测处理器为嵌入式处理器。
9.一种测试方法,包括:
在计算设备上部署模拟器,所述模拟器模拟待测程序在待测处理器上的执行结果,并且对于所述待测程序中包含的需要由第一外围设备执行的第一程序指令,根据所述第一程序指令构建第一数据包,并经由所述计算设备的通信接口发送所述第一数据包;
配置开发板,所述开发板包括:
一个或多个外围设备,至少包括所述第一外围设备;
通信接口,用于接收所述计算设备的通信接口发送的所述第一数据包;
处理单元,用于解析所述第一数据包,并根据所述解析的结果向所述第一外围设备发送所述第一程序指令,以指示所述第一外围设备执行第一程序指令。
10.根据权利要求9所述的测试方法,其中,所述待测程序为嵌入式程序,所述待测处理器为嵌入式处理器。
CN202010298952.1A 2020-04-16 2020-04-16 测试系统及方法 Pending CN113535487A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010298952.1A CN113535487A (zh) 2020-04-16 2020-04-16 测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010298952.1A CN113535487A (zh) 2020-04-16 2020-04-16 测试系统及方法

Publications (1)

Publication Number Publication Date
CN113535487A true CN113535487A (zh) 2021-10-22

Family

ID=78088358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010298952.1A Pending CN113535487A (zh) 2020-04-16 2020-04-16 测试系统及方法

Country Status (1)

Country Link
CN (1) CN113535487A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645339A (zh) * 2005-01-31 2005-07-27 浙江大学 在嵌入式系统模拟器上调试应用程序的方法
CN101706750A (zh) * 2009-11-16 2010-05-12 西安邮电学院 一种基于嵌入式模拟器的测试桩获取方法
CN102141961A (zh) * 2011-03-25 2011-08-03 株洲南车时代电气股份有限公司 一种列车车载软件的测试方法和测试系统
CN102567070A (zh) * 2010-12-15 2012-07-11 沈阳新邮通信设备有限公司 手机软件调试方法及其模拟器
CN107678307A (zh) * 2017-11-09 2018-02-09 重庆鲁班机器人技术研究院有限公司 半实物仿真测试方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645339A (zh) * 2005-01-31 2005-07-27 浙江大学 在嵌入式系统模拟器上调试应用程序的方法
CN101706750A (zh) * 2009-11-16 2010-05-12 西安邮电学院 一种基于嵌入式模拟器的测试桩获取方法
CN102567070A (zh) * 2010-12-15 2012-07-11 沈阳新邮通信设备有限公司 手机软件调试方法及其模拟器
CN102141961A (zh) * 2011-03-25 2011-08-03 株洲南车时代电气股份有限公司 一种列车车载软件的测试方法和测试系统
CN107678307A (zh) * 2017-11-09 2018-02-09 重庆鲁班机器人技术研究院有限公司 半实物仿真测试方法、装置及系统

Similar Documents

Publication Publication Date Title
US10180850B1 (en) Emulating applications that use hardware acceleration
JP2003532192A (ja) 統合グラフィカルデバッギング機能を備える強化プログラマブルコアモデル
JP2003518280A (ja) 構成可能なプロセッサを設計するための自動プロセッサ生成システムおよび生成方法
US9372770B2 (en) Hardware platform validation
CN113849433B (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
CN102480467A (zh) 一种基于网络通讯协议的soc软硬件协同仿真验证方法
CN112560390B (zh) 自动生成交叉覆盖点中的忽略仓的方法、装置、设备
CN114691240A (zh) 驱动硬件配置信息加载方法、装置和系统,以及计算设备
CN113835701A (zh) 一种基于组件化的代码生成方法和装置
EP4390673A1 (en) Ecu upgrade method and device, and readable storage medium
US9880966B1 (en) Encapsulating metadata of a platform for application-specific tailoring and reuse of the platform in an integrated circuit
CN115269006A (zh) 机器码指令转换方法、装置、电子设备及可读存储介质
US20230252209A1 (en) Method and apparatus of compiling verification system
CN113657069A (zh) 片上系统soc仿真验证方法、装置、验证服务器及存储介质
US6834359B2 (en) Method and system for testing a processor
CN116431103B (zh) 一种面向嵌入式软件的数字化DevOps平台设计方法
US20100274550A1 (en) Integrated development structure having virtual inputs/outputs for embedded hardware/software
CN106970825B (zh) 一种基于gdb可配置框架的arm7仿真目标机实现方法
CN113535487A (zh) 测试系统及方法
Chen et al. Me3D: A model-driven methodology expediting embedded device driver development
US20030093258A1 (en) Method and apparatus for efficient simulation of memory mapped device access
US10816600B1 (en) Protocol analysis and visualization during simulation
AU2017438670B2 (en) Simulation device, simulation method, and simulation program
CN113821438B (zh) 一种应用响应性能测试方法、系统及计算设备
CN111338761B (zh) 一种51单片机虚拟中断控制器及实现方法

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