CN106959883A - 一种实现虚拟验证系统数据采集的方法 - Google Patents

一种实现虚拟验证系统数据采集的方法 Download PDF

Info

Publication number
CN106959883A
CN106959883A CN201710144300.0A CN201710144300A CN106959883A CN 106959883 A CN106959883 A CN 106959883A CN 201710144300 A CN201710144300 A CN 201710144300A CN 106959883 A CN106959883 A CN 106959883A
Authority
CN
China
Prior art keywords
data
data acquisition
triggering
collection
address
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
CN201710144300.0A
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.)
Shenzhen Academy of Aerospace Technology
Original Assignee
Shenzhen Academy of Aerospace Technology
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 Shenzhen Academy of Aerospace Technology filed Critical Shenzhen Academy of Aerospace Technology
Priority to CN201710144300.0A priority Critical patent/CN106959883A/zh
Publication of CN106959883A publication Critical patent/CN106959883A/zh
Pending legal-status Critical Current

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种实现虚拟验证系统数据采集的方法,包括1、读取用户的操作,选择本次数据采集所针对的数据类型,是寄存器采集、变量采集还是内存数据采集;2、针对所述数据采集类型,读取用户的触发模式配置信息,判断是时间触发,还是地址触发;3、根据已读取的数据采集类型以及数据采集触发形式,读取用户的数据采集信息,并生成专用命令字;4、将生成的命令字通过特定命令管道传输至GDB模块;5、GDB模块对命令字进行解析,封装成虚拟验证系统能够识别的专用数据结构;6、通过虚拟验证系统的事件机制,将数据采集实例注入到系统当中;7、完成一个数据采集实例的注入。本发明针对虚拟仿真运行提供多种触发模式、多种采集类型的数据采集功能。

Description

一种实现虚拟验证系统数据采集的方法
技术领域
本发明涉及虚拟验证系统仿真技术领域,尤其涉及一种实现虚拟验证系统数据采集的方法。
背景技术
虚拟验证系统是能够对嵌入式硬件系统进行完整模拟的软件系统。用户可以在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入式软件进行测试与调试。通过使用虚拟验证系统,用户不仅可以极大地缩短嵌入式软件研制周期,而且能够避免高昂的辅助测试硬件研制费用、极大地降低系统成本。产品可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。
虚拟验证系统在提供纯软件模拟板级硬件测试环境的基础上,提供了大量的辅助调试测试手段,包括暂停仿真执行、断点设置、下一步执行(4种形式)、查看变量、仿真硬件信息以及故障注入、数据采集、覆盖率分析功能。其中,数据采集的主要功能是在待测试代码仿真运行过程当中,随时采集产生用户指定的数据,生成数据采集报告,借此功能来全面掌握待测试软件的数据变化历史。
发明内容
本发明的目的在于提供一种实现虚拟验证系统数据采集的方法,在虚拟验证系统下,针对虚拟仿真运行提供多种触发模式、多种采集类型的数据采集功能,使得用户可便捷地随时采集产生用户指定的数据,生成数据采集报告,以此全面掌握待测试软件的数据变化历史。
为达上述目的,本发明通过以下技术方案实现:
一种实现虚拟验证系统数据采集的方法,所述方法包括:
S1、读取用户的操作,选择本次数据采集所针对的数据类型,是寄存器采集、变量采集还是内存数据采集;
S2、针对本次的数据采集类型,读取用户的触发模式配置信息,判断是时间触发,还是地址触发;
S3、根据已读取的数据采集类型以及数据采集触发形式,读取用户的数据采集信息,并生成专用命令字;
S4、将生成的命令字通过特定命令管道传输至GDB模块;
S5、GDB模块对命令字进行解析,封装成虚拟验证系统能够识别的专用数据结构;
S6、通过虚拟验证系统的事件机制,将数据采集实例注入到系统当中;
S7、完成一个数据采集实例的注入。
附图说明
图1是本发明的数据采集用户操作接口;
图2是数据采集与虚拟验证系统的交互示意图;
图3是本发明实现虚拟验证系统数据采集的方法流程图;
图4是时间触发(60ms起始、5ms采集一次)的pc寄存器数据采集结果;
图5是地址触发(代码段数据读取触发)的pc寄存器数据采集结果。
具体实施方案
下面通过具体实施方式结合附图对本发明作进一步详细说明。
本发明欲保护的数据采集能力是在虚拟验证系统下,针对虚拟仿真运行提供多种触发模式、多种采集类型的数据采集功能。包含:1)时间触发的指定寄存器数据采集;2)时间触发的指定变量数据采集;3)时间触发的指定内存段数据数据采集;4)地址触发的指定寄存器数据采集;5)地址触发的指定变量数据采集;6)地址触发的指定内存段数据采集。
虚拟验证系统通过对嵌入式硬件系统进行模拟,为嵌入式软件提供了测试软平台,无需相应的硬件即可对软件进行测试与调试。使用系统起初,用户需要按照硬件需求,在系统组件库中选取相应的虚拟处理器型号、虚拟设备型号,通过相关参数配置,搭建所需的板级硬件虚拟系统实例。系统配置完成后,用户可将编译好的可执行文件通过系统工具链加载到系统实例中虚拟执行,并通过寄存器访问、内存数据访问、变量访问、断点、单步执行等调试功能,进行对测试代码的调试工作。在虚拟执行过程中,用户可通过系统的数据采集器,设置数据采集类型、数据采集触发形式等参数完成数据采集操作,对测试代码的指定数据变化历史生成数据采集报告。
在虚拟验证系统中,数据采集模块是作为系统辅助测试模块存在的。它包含两个主要部分:
1)面向用户,提供用户操作接口。用户可以选择触发模式:若是时间触发,则需设置起始时间、时间间隔以及触发次数;若是地址触发,则需设置起始地址、终止地址以及读写触发形式。之后,用户需要设置数据采集类型:若为寄存器采集,则需选择寄存器编号;若为变量采集,则需选择变量名;若为内存采集,则续设置内存段的起始地址、长度。最后,选择数据采集报告的生成路径即可。
通过以上几个配置步骤,即可以完成一个数据采集实例的配置。用户可以根据需求,配置多个数据采集实例,配置界面如图1所示。
2)数据采集模块在接收到了用户的数据采集配置信息之后,会将其转换成命令字,通过专用数据管道传递给虚拟验证系统的GDB模块,由GDB模块对命令字进行解析以及事件封转,最后注入到虚拟验证实例中去。命令字的定义见表1.
表1数据采集与虚拟验证系统的交互命令字规范
在虚拟验证实例进行代码仿真执行过程中,会实时检测数据采集的触发条件,一旦满足即根据相应事件内的描述进行相关数据的采集,最终生成数据采报告。数据采集模块与虚拟验证系统的交互如图2所示。
本发明实现虚拟验证系统数据采集的方法流程如附图3所示,主要包括以下几步:
1)读取用户的操作,选择本次数据采集所针对的数据类型,是寄存器采集、变量采集还是内存数据采集;
2)针对本次的数据采集类型,读取用户的触发模式配置信息,判断是时间触发,还是地址触发;
3)根据已读取的数据采集类型以及数据采集触发形式,读取用户的数据采集信息,根据“数据采集与虚拟验证系统的交互命令字”规范,生成专用命令字;
4)将生成的命令字通过特定命令管道传输至GDB模块;
5)GDB模块对命令字进行解析,封装成虚拟验证系统能够识别的专用数据结构,所述数据结构定义如表2所示:
表2虚拟验证系统能够识别的专用数据结构
6)通过虚拟验证系统的事件机制,将数据采集实例注入到系统当中。此处使用的虚拟验证系统事件注入接口函数以及相关数据结构定义如表3所示:
表3虚拟验证系统事件注入接口函数以及相关数据结构定义
7)完成一个数据采集实例的注入。接下来根据用户需求可重新开始下一个实例的配置、注入过程,直至全部满足用的要求;
8)在虚拟验证系统实例进行代码仿真执行过程中,会实时检测数据采集的触发条件,一旦满足即根据相应事件内的描述进行相关数据的采集,最终生成数据采报告。以时间触发、地址触发的寄存器(pc寄存器)数据采集为例,生成的数据采集报告如附图4-5所示。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

1.一种实现虚拟验证系统数据采集的方法,其特征在于,所述方法包括:
S1、读取用户的操作,选择本次数据采集所针对的数据类型,是寄存器采集、变量采集还是内存数据采集;
S2、针对本次的数据采集类型,读取用户的触发模式配置信息,判断是时间触发,还是地址触发;
S3、根据已读取的数据采集类型以及数据采集触发形式,读取用户的数据采集信息,并生成专用命令字;
S4、将生成的命令字通过特定命令管道传输至GDB模块;
S5、GDB模块对命令字进行解析,封装成虚拟验证系统能够识别的专用数据结构;
S6、通过虚拟验证系统的事件机制,将数据采集实例注入到系统当中;
S7、完成一个数据采集实例的注入。
2.根据权利要求1所述的方法,其特征在于:所述方法还包括在步骤S7之后根据用户需求重新开始下一个实例的配置、注入过程,直至全部满足用户的需求。
3.根据权利要求1所述的方法,其特征在于:所述方法还包括在虚拟验证系统实例进行代码仿真执行过程中,会实时检测数据采集的触发条件,一旦满足即根据相应事件内的描述进行相关数据的采集,最终生成数据采报告。
4.根据权利要求1所述的方法,其特征在于:所述方法还包括面向用户,提供用户操作接口,用户选择触发模式:若是时间触发,则需设置起始时间、时间间隔以及触发次数;若是地址触发,则需设置起始地址、终止地址以及读写触发形式;之后,用户需要设置数据采集类型:若为寄存器采集,则需选择寄存器编号;若为变量采集,则需选择变量名;若为内存采集,则续设置内存段的起始地址、长度;最后,选择数据采集报告的生成路径。
5.根据权利要求1所述的方法,其特征在于:所述生成专用命令字具体为根据“数据采集与虚拟验证系统的交互命令字”规范,生成专用命令字。
6.根据权利要求5所述的方法,其特征在于:所述“数据采集与虚拟验证系统的交互命令字”规范包括:时间触发的指定寄存器数据采集RegRecd-TimeTrig:寄存器编号+报告路径+起始时间+时间间隔+采集次数;时间触发的指定变量数据采集VarRecd-TimeTrig:变量名+变量类型+报告路径+起始时间+时间间隔+采集次数;时间触发的指定内存段数据数据采集MemRecd-TimeTrig:内存起始地址+内存段长度+报告路径+起始时间+时间间隔+采集次数;地址触发的指定寄存器数据采集RegRecdAddrTrig:寄存器编号+报告路径+起始触发地址+终止触发地址+读写形式;地址触发的指定变量数据采集VarRecd-AddrTrig:变量名+变量类型+报告路径+起始触发地址+终止触发地址+读写形式。
7.根据权利要求1所述的方法,其特征在于:所述数据采集功能包含:1)时间触发的指定寄存器数据采集;2)时间触发的指定变量数据采集;3)时间触发的指定内存段数据数据采集;4)地址触发的指定寄存器数据采集;5)地址触发的指定变量数据采集;6)地址触发的指定内存段数据采集。
CN201710144300.0A 2017-03-10 2017-03-10 一种实现虚拟验证系统数据采集的方法 Pending CN106959883A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710144300.0A CN106959883A (zh) 2017-03-10 2017-03-10 一种实现虚拟验证系统数据采集的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710144300.0A CN106959883A (zh) 2017-03-10 2017-03-10 一种实现虚拟验证系统数据采集的方法

Publications (1)

Publication Number Publication Date
CN106959883A true CN106959883A (zh) 2017-07-18

Family

ID=59470167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710144300.0A Pending CN106959883A (zh) 2017-03-10 2017-03-10 一种实现虚拟验证系统数据采集的方法

Country Status (1)

Country Link
CN (1) CN106959883A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648696A (zh) * 2023-11-27 2024-03-05 中国电子科技集团公司第十五研究所 一种软件安全性测试方法及装置
CN117648696B (zh) * 2023-11-27 2024-06-04 中国电子科技集团公司第十五研究所 一种软件安全性测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907682A (zh) * 2009-06-02 2010-12-08 上海摩波彼克半导体有限公司 数字基带芯片Gptimer模块自动测试电路结构、测试平台及方法
CN103150941A (zh) * 2013-04-10 2013-06-12 浙江传媒学院 一种可视化虚拟数字电路系统的建立方法
CN106250308A (zh) * 2016-07-22 2016-12-21 北京赛博智通信息技术有限责任公司 一种基于仿真数据模型的模拟器系统及方法
CN106326107A (zh) * 2016-07-27 2017-01-11 北京计算机技术及应用研究所 基于仿真环境的非侵入式嵌入式软件异常处理验证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907682A (zh) * 2009-06-02 2010-12-08 上海摩波彼克半导体有限公司 数字基带芯片Gptimer模块自动测试电路结构、测试平台及方法
CN103150941A (zh) * 2013-04-10 2013-06-12 浙江传媒学院 一种可视化虚拟数字电路系统的建立方法
CN106250308A (zh) * 2016-07-22 2016-12-21 北京赛博智通信息技术有限责任公司 一种基于仿真数据模型的模拟器系统及方法
CN106326107A (zh) * 2016-07-27 2017-01-11 北京计算机技术及应用研究所 基于仿真环境的非侵入式嵌入式软件异常处理验证方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648696A (zh) * 2023-11-27 2024-03-05 中国电子科技集团公司第十五研究所 一种软件安全性测试方法及装置
CN117648696B (zh) * 2023-11-27 2024-06-04 中国电子科技集团公司第十五研究所 一种软件安全性测试方法及装置

Similar Documents

Publication Publication Date Title
CN104657247B (zh) 基于jtag调试方式实现通用型故障注入系统和故障注入方法
CN107025171A (zh) 一种实现虚拟验证系统故障注入的方法
CN102508780B (zh) 一种用于软件测试的交叉式动态法和装置
TWI530783B (zh) 軟體除錯之除錯途程
US7756695B2 (en) Accelerated simulation and verification of a system under test (SUT) using cache and replacement management tables
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN104216746B (zh) 一种星上设备dsp程序地面在线烧写的实时监控和校验方法
Svenningsson et al. Model-implemented fault injection for hardware fault simulation
Woskowski Applying industrial-strength testing techniques to critical care medical equipment
Da Silva et al. LEON3 ViP: a virtual platform with fault injection capabilities
CN110704315B (zh) 一种嵌入式软件测试的故障注入装置
JP2010539577A (ja) 航空機搭載のオペレーション・ソフトウェアのデバッグ・フェーズ中に扱われる情報の量を処理するための方法およびその方法を実施するためのデバイス
Rebaudengo et al. Evaluating the fault tolerance capabilities of embedded systems via BDM
Marra et al. Debugging cyber-physical systems with pharo: An experience report
CN106844221B (zh) 一种实现虚拟验证系统覆盖率分析的方法
Kantrowitz et al. Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip
CN110147314A (zh) 测试方法、装置及计算机可读存储介质
Chyłek et al. QEMU-based fault injection framework
Tsai et al. FTAPE-A fault injection tool to measure fault tolerance
CN109739760B (zh) 一种代码调测测试方法及装置、存储介质
CN106959883A (zh) 一种实现虚拟验证系统数据采集的方法
CN110955605A (zh) 一种cpu验证单步动态执行的方法
Schulze et al. Model-based testing of NASA's OSAL API—An experience report
CN208384556U (zh) 仿真器
Ballerini et al. Software rejuvenation impacts on a phased-mission system for Mars exploration

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170718