CN106959883A - 一种实现虚拟验证系统数据采集的方法 - Google Patents
一种实现虚拟验证系统数据采集的方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; 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)地址触发的指定内存段数据采集。
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)
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)
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 | 北京计算机技术及应用研究所 | 基于仿真环境的非侵入式嵌入式软件异常处理验证方法 |
-
2017
- 2017-03-10 CN CN201710144300.0A patent/CN106959883A/zh active Pending
Patent Citations (4)
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)
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 |