CN112527458A - 一种嵌入式系统的测试方法和测试系统 - Google Patents

一种嵌入式系统的测试方法和测试系统 Download PDF

Info

Publication number
CN112527458A
CN112527458A CN202011481286.1A CN202011481286A CN112527458A CN 112527458 A CN112527458 A CN 112527458A CN 202011481286 A CN202011481286 A CN 202011481286A CN 112527458 A CN112527458 A CN 112527458A
Authority
CN
China
Prior art keywords
embedded system
virtual
virtual machine
instruction
sends
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.)
Granted
Application number
CN202011481286.1A
Other languages
English (en)
Other versions
CN112527458B (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.)
Xi'an Zhonglang Intelligent Control Technology Co ltd
Original Assignee
Xi'an Zhonglang Intelligent Control Technology 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 Xi'an Zhonglang Intelligent Control Technology Co ltd filed Critical Xi'an Zhonglang Intelligent Control Technology Co ltd
Priority to CN202011481286.1A priority Critical patent/CN112527458B/zh
Publication of CN112527458A publication Critical patent/CN112527458A/zh
Application granted granted Critical
Publication of CN112527458B publication Critical patent/CN112527458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Abstract

本申请提供了一种嵌入式系统的测试方法和测试系统。本申请提供的技术方案中,通过虚拟路由来实现虚拟机与被测嵌入式系统之间的总线消息的传递。此外,本申请提出的技术方案中,通过虚拟时钟向虚拟机和被测嵌入式系统授时,使得双方在同一时钟系统下工作,从而可以提高测试准确率。

Description

一种嵌入式系统的测试方法和测试系统
技术领域
本申请涉及软件测试领域,并且更具体地,涉及一种嵌入式系统的测试方法和测试系统。
背景技术
嵌入式系统的测试是嵌入式系统的开发过程中的关键部分。嵌入式系统在虚拟机上运行时,虚拟机和嵌入式系统之间需要进行总线消息传递。那如何传递虚拟机和嵌入式系统之间的总线消息才能高效地实现总线消息的传递呢?
发明内容
本申请提供一种嵌入式系统的测试方法和测试系统,可以提高虚拟机和嵌入式系统之间的总线消息的传递效率,从而提高测试效率。
第一方面,本申请提供一种嵌入式系统的测试方法,所述方法包括:虚拟路由器接收来自所述嵌入式系统的总线消息;所述虚拟路由器将来自所述嵌入式系统的总线消息添加至总线消息列表中,并向虚拟机发送来自所述嵌入式系统的总线消息,所述虚拟机用于运行所述嵌入式系统;所述虚拟路由器接收来自所述虚拟机的总线消息;所述虚拟路由器将来自所述虚拟机的总线消息添加至所述总线消息列表中,并向所述嵌入式系统发送来自所述虚拟机的总线消息。
本方法通过虚拟路由器来传递虚拟机与嵌入式系统之间的总线消息,可以使得总线消息的传输得到保证,以及可以提高总线消息的传递效率,进而可以提高测试效率。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:虚拟时钟向所述嵌入式系统和所述虚拟机同时发送运行指令;所述嵌入式系统接收到所述运行指令之后才开始运行;所述虚拟机接收到所述运行指令之后才开始执行测试脚本。
本实现方式,虚拟时钟作为独立工具,对嵌入式系统和虚拟机进行授时管理,实现虚拟机和嵌入式系统的实时性运行。
其中,为避免虚拟时钟的发送的授时信号阻塞,虚拟时钟的信号收发采用独立端口,独立于原有虚拟测试环境外运行。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令;所述虚拟机执行完所述测试脚本之后向所述虚拟时钟发送运行结束指令;所述虚拟时钟接收到所述嵌入式系统和所述虚拟机发送的运行结束指令之后向所述嵌入式系统和所述虚拟机发送运行指令。
该实现方式中,通过同一个虚拟时钟对嵌入式系统和虚拟机进行授时,控制测试脚本的执行速度和嵌入式系统的运行周期,使得虚拟机和嵌入式系统在同一时钟系统下工作。
结合第一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令;所述虚拟时钟接收到所述嵌入式系统发送的运行结束指令之后向所述嵌入式系统发送运行指令。
该实现方式中,只对嵌入式系统进行周期控制,不对虚拟机周期控制,虚拟机自动执行脚本,方便虚拟机断点调试使用。
第二方面,本申请提供一种嵌入式系统的测试系统,所述测试系统包括虚拟路由器和虚拟机,所述测试系统对所述嵌入式系统进行测试时,所述虚拟路由器接收来自所述嵌入式系统的总线消息,所述虚拟路由器将来自所述嵌入式系统的总线消息添加至总线消息列表中,并向所述虚拟机发送来自所述嵌入式系统的总线消息,所述虚拟路由器接收来自所述虚拟机的总线消息,所述虚拟路由器将来自所述虚拟机的总线消息添加至所述总线消息列表中,并向所述嵌入式系统发送来自所述虚拟机的总线消息。
结合第二方面,在第一种可能的实现方式中,所述测试系统还包括虚拟时钟,相应地,所述测试系统对所述嵌入式系统进行测试时,所述虚拟时钟向所述嵌入式系统和所述虚拟机同时发送运行指令,所述嵌入式系统接收到所述运行指令之后才开始运行,所述虚拟机接收到所述运行指令之后才开始执行测试脚本。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述测试系统对所述嵌入式系统进行测试时,所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令,所述虚拟机执行完所述测试脚本之后向所述虚拟时钟发送运行结束指令,所述虚拟时钟接收到所述嵌入式系统和所述虚拟机发送的运行结束指令之后向所述嵌入式系统和所述虚拟机发送运行指令。
结合第一种可能的实现方式,在第三种可能的实现方式中,所述测试系统对所述嵌入式系统进行测试时,所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令,所述虚拟时钟接收到所述嵌入式系统发送的运行结束指令之后向所述嵌入式系统发送运行指令。
第三方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或其中任意一种实现方式中的方法。
附图说明
图1是本申请实施例的测试系统的示意结构图;
图2是本申请实施例的总线消息传递方法的流程示意图;
图3是本申请实施例的测试方法的示意性流程图。
具体实施方式
图1为本申请实施例提供的一种嵌入式系统的测试系统的框架示意图。如图1所示,该测试系统可以包括虚拟路由器和虚拟机,虚拟机用于运行嵌入式系统。
该测试系统中,虚拟路由器主要是完成各种总线消息(例如1553B、422、429、FC)的转发和实时监控。
如图2所示,测试系统对嵌入式系统进行测试时,虚拟路由器接收来自嵌入式系统的总线消息,虚拟路由器解析来自嵌入式系统的总线消息,并将解析得到的总线消息添加至总线消息列表中,以及向虚拟机发送解析得到的总线消息;虚拟路由器接收来自虚拟机的总线消息,虚拟路由器解析来自虚拟机的总线消息,并将解析得到的总线消息添加至总线消息列表中,以及向嵌入式系统发送该解析得到的总线消息。
如图1所示,可选地,该测试系统还可以包括虚拟时钟,虚拟时钟又可以称为虚拟晶振。
虚拟时钟对嵌入式系统和虚拟机进行授时,控制测试脚本的执行速度和嵌入式系统的运行周期,使得双方在同一时钟系统下工作。此外,虚拟时钟可以实时显示虚拟虚拟机运行的时间,即运行周期数。进一步地,虚拟时钟可以对嵌入式系统和虚拟机之间的测试用例数据进行监控和转发。
图3为本申请一个实施例的测试方法的示例性流程图。如图3所示,虚拟晶振负责同时向嵌入式系统和虚拟机发送运行指令(Start)。
虚拟机在开始运行前,等待虚拟晶振的运行指令(Start)。虚拟机接收到运行指令之后,才开始执行测试脚本。本周期测试脚本测试结束后,虚拟机向虚拟晶振回复确认(Ack),表示本周期结束。
嵌入式系统在运行前等待虚拟晶振的运行指令(Start),并在接收到运行指令后,才开始运行,运行结束后,向虚拟晶振回复Ack,表示本“周期”结束。
虚拟晶振只有在接收到嵌入式系统和虚拟机回复的Ack后,才同时向双方下发下一周期的运行指令。
图3所示的流程中,可以称为虚拟时钟工作在同步模式。在其他一些实现方式中,虚拟时钟可以工作在异步模式。
在异步模式下,虚拟时钟可以只对虚拟机进行周期控制,不对嵌入式系统进行周期控制,嵌入式系统可以自动开始运行,方便虚拟机的断点调试。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种嵌入式系统的测试方法,其特征在于,所述方法包括:
虚拟路由器接收来自所述嵌入式系统的总线消息;
所述虚拟路由器将来自所述嵌入式系统的总线消息添加至总线消息列表中,并向虚拟机发送来自所述嵌入式系统的总线消息,所述虚拟机用于运行所述嵌入式系统;
所述虚拟路由器接收来自所述虚拟机的总线消息;
所述虚拟路由器将来自所述虚拟机的总线消息添加至所述总线消息列表中,并向所述嵌入式系统发送来自所述虚拟机的总线消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
虚拟时钟向所述嵌入式系统和所述虚拟机同时发送运行指令;
所述嵌入式系统接收到所述运行指令之后才开始运行;
所述虚拟机接收到所述运行指令之后才开始执行测试脚本。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令;
所述虚拟机执行完所述测试脚本之后向所述虚拟时钟发送运行结束指令;
所述虚拟时钟接收到所述嵌入式系统和所述虚拟机发送的运行结束指令之后向所述嵌入式系统和所述虚拟机发送运行指令。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令;
所述虚拟时钟接收到所述嵌入式系统发送的运行结束指令之后向所述嵌入式系统发送运行指令。
5.一种嵌入式系统的测试系统,其特征在于,所述测试系统包括虚拟路由器和虚拟机,所述测试系统对所述嵌入式系统进行测试时,所述虚拟路由器接收来自所述嵌入式系统的总线消息,所述虚拟路由器将来自所述嵌入式系统的总线消息添加至总线消息列表中,并向所述虚拟机发送来自所述嵌入式系统的总线消息,所述虚拟路由器接收来自所述虚拟机的总线消息,所述虚拟路由器将来自所述虚拟机的总线消息添加至所述总线消息列表中,并向所述嵌入式系统发送来自所述虚拟机的总线消息。
6.根据权利要求5所述的测试系统,其特征在于,所述测试系统还包括虚拟时钟,相应地,所述测试系统对所述嵌入式系统进行测试时,所述虚拟时钟向所述嵌入式系统和所述虚拟机同时发送运行指令,所述嵌入式系统接收到所述运行指令之后才开始运行,所述虚拟机接收到所述运行指令之后才开始执行测试脚本。
7.根据权利要求6所述的测试系统,其特征在于,所述测试系统对所述嵌入式系统进行测试时,所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令,所述虚拟机执行完所述测试脚本之后向所述虚拟时钟发送运行结束指令,所述虚拟时钟接收到所述嵌入式系统和所述虚拟机发送的运行结束指令之后向所述嵌入式系统和所述虚拟机发送运行指令。
8.根据权利要求6所述的测试系统,其特征在于,所述测试系统对所述嵌入式系统进行测试时,所述嵌入式系统当前周期运行结束之后向所述虚拟时钟发送运行结束指令,所述虚拟时钟接收到所述嵌入式系统发送的运行结束指令之后向所述嵌入式系统发送运行指令。
9.一种计算机可读介质,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器实现如权利要求1至4中任一项所述的方法。
CN202011481286.1A 2020-12-15 2020-12-15 一种嵌入式系统的测试方法和测试系统 Active CN112527458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011481286.1A CN112527458B (zh) 2020-12-15 2020-12-15 一种嵌入式系统的测试方法和测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011481286.1A CN112527458B (zh) 2020-12-15 2020-12-15 一种嵌入式系统的测试方法和测试系统

Publications (2)

Publication Number Publication Date
CN112527458A true CN112527458A (zh) 2021-03-19
CN112527458B CN112527458B (zh) 2022-02-25

Family

ID=75000379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011481286.1A Active CN112527458B (zh) 2020-12-15 2020-12-15 一种嵌入式系统的测试方法和测试系统

Country Status (1)

Country Link
CN (1) CN112527458B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283750A (zh) * 2014-10-22 2015-01-14 北方信息控制集团有限公司 基于以太网总线的统一链路层多协议交换方法
CN105323161A (zh) * 2015-12-09 2016-02-10 武汉烽火网络有限责任公司 基于Windows平台的实现虚拟化路由器的方法及系统
US9479457B2 (en) * 2014-03-31 2016-10-25 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
CN110879769A (zh) * 2019-10-16 2020-03-13 中国航空工业集团公司洛阳电光设备研究所 一种基于动态可配置框架的嵌入式系统测试环境构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479457B2 (en) * 2014-03-31 2016-10-25 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
CN104283750A (zh) * 2014-10-22 2015-01-14 北方信息控制集团有限公司 基于以太网总线的统一链路层多协议交换方法
CN105323161A (zh) * 2015-12-09 2016-02-10 武汉烽火网络有限责任公司 基于Windows平台的实现虚拟化路由器的方法及系统
CN110879769A (zh) * 2019-10-16 2020-03-13 中国航空工业集团公司洛阳电光设备研究所 一种基于动态可配置框架的嵌入式系统测试环境构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FANGFANG YAN等: "Congestion-Aware Embedding of Heterogeneous Bandwidth Virtual Data Centers With Hose Model Abstraction", 《IEEE/ACM TRANSACTIONS ON NETWORKING 》 *
张洪等: "基于Linux虚拟网卡测试平台的系统设计", 《电子设计工程》 *

Also Published As

Publication number Publication date
CN112527458B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN109634728B (zh) 作业调度方法、装置、终端设备及可读存储介质
US9483383B2 (en) Injecting faults at select execution points of distributed applications
CN103150238B (zh) 一种服务请求处理方法、模拟性能测试方法及装置
CN106919485B (zh) 一种基于服务器上配置硬件测试工具的系统
EP3343377A1 (en) Debugging method, multi-core processor, and debugging equipment
CN112463581B (zh) 一种对分布式系统进行模糊测试的方法及系统
CN112733369B (zh) 智能设备检修方法、终端及系统、电子设备
JP2014157505A (ja) コントローラ、情報処理装置およびプログラム
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
CN111124789B (zh) 一种芯片仿真调试系统及调试方法
CN110688313B (zh) 一种VxWorks操作系统下软件测试的故障注入方法
JP2017117442A (ja) コンパイラー型情報を利用するプロセッサトレースログにおけるデータフロー分析のための方法及び装置
KR100249797B1 (ko) 알피씨 기반 분산처리 프로그램의 통신 이벤트/메시지 추적 방법
KR20130069106A (ko) 임베디드 소프트웨어 검증장치 및 그 운용방법
CN115525490A (zh) 一种内存眼图测试方法、硬件调试设备及存储介质
CN109407655B (zh) 一种调试芯片的方法及装置
CN117176802B (zh) 一种业务请求的全链路监控方法、装置、电子设备及介质
US20220206887A1 (en) Bus monitoring device and method, storage medium, and electronic device
CN112527458B (zh) 一种嵌入式系统的测试方法和测试系统
JP2006164185A (ja) デバッグ装置
Kranzlmüller et al. NOPE: A nondeterministic program evaluator
CN111274132A (zh) 设备驱动程序数据清理函数可靠性测试的方法及装置
CN113742185A (zh) 一种服务器及服务器除错的状态监控方法
EP3121728A1 (en) System and method for remotely debugging a device
CN111352802A (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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A test method and system for embedded system

Effective date of registration: 20221104

Granted publication date: 20220225

Pledgee: Xi'an innovation financing Company limited by guarantee

Pledgor: Xi'an Zhonglang Intelligent Control Technology Co.,Ltd.

Registration number: Y2022610000710

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20231009

Granted publication date: 20220225

Pledgee: Xi'an innovation financing Company limited by guarantee

Pledgor: Xi'an Zhonglang Intelligent Control Technology Co.,Ltd.

Registration number: Y2022610000710