一种实现虚拟验证系统数据采集的方法与流程

文档序号:11707436阅读:569来源:国知局
一种实现虚拟验证系统数据采集的方法与流程

本发明涉及虚拟验证系统仿真技术领域,尤其涉及一种实现虚拟验证系统数据采集的方法。



背景技术:

虚拟验证系统是能够对嵌入式硬件系统进行完整模拟的软件系统。用户可以在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入式软件进行测试与调试。通过使用虚拟验证系统,用户不仅可以极大地缩短嵌入式软件研制周期,而且能够避免高昂的辅助测试硬件研制费用、极大地降低系统成本。产品可以广泛应用于航空、航天、武器装备、汽车、机器人、工业控制等嵌入式系统开发领域,提升这些行业的劳动生产效率、降低成本、增强产品的竞争能力。

虚拟验证系统在提供纯软件模拟板级硬件测试环境的基础上,提供了大量的辅助调试测试手段,包括暂停仿真执行、断点设置、下一步执行(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所示。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1