SMAVE VIRTUAL SYSTEM
嵌入式处理器指令集与板级系统仿真分析平台
SMAVE VIRTUAL SYSTEM
针对虚拟目标机定义与配置、数据激励与采集、 测试用例的设计、管理与执行、软件代码的开发与调试等需求,提供一体化的设计验证支持
嵌入式处理器指令集与板级系统仿真与分析
SSMAVE Virtual System紧密结合软件研制与测试验证需求,广泛采用软件仿真技术,可提供嵌入式目标处理系统的虚拟仿真运行环境,使得源目标程序脱离其依赖的硬件执行环境异构运行于测试计算机之上。
SMAVE Virtual System可无缝集成硬件使用人员和软件开发人员对于虚拟目标机定义与配置、数据激励与采集、 测试用例的设计、管理与执行、软件代码的开发与调试等需求,提供一体化的设计验证支持,可实现针对目标系统的目标码、源代码覆盖率统计分析及软件性能分析;通过灵活的设备模型配置,可满足不同的系统应用场景。
接口类型包括:RS-422设备、RS-485设备、CAN总线设备、1553B设备、I/O设备等。实现包括ARM Cortex-M、ARM Cortex-A、Power PC等处理器的时钟周期精确的指令集仿真;实现了目标处理器寄存器、存储器、定时器、Cache、中断等片上设备的仿真。
■ 支持指定内存访问断点
■ 寄存器访问断点
■ 运行轨迹记录
■ 中断触发断点
■ 时钟触发断点
■ 支持外部通讯接口的实物集成
■ 目标代码级程序分析
产品优势
■ 快速定位问题
SMAVE Virtual System可将被测软件执行过程与原始硬件环境脱离,在时间和空间上减少了对硬件环境的依赖,通过将软件虚拟化设计与验证平台部署在不同的机器上可有助于并行开展测试任务、及时快速的发现并定位问题。
■ 显著提升测试充分性
SMAVE Virtual System能够精确模拟CPU 的运行过程并按照用户需求进行监控,最终获取软件动态运行后的覆盖率统计数据。通过加载不同测试用例,可显著提升相关处理器被测软件的测试充分性,解决实施单位软件测试能力的不足,从而提高其软件的质量水平。
■ 缩短研制周期
通过SMAVE Virtual System,可有效改进当前嵌入式软件研制及验证过程,将软件的设计验证过程与硬件齐套过程并行化,从而大大缩短嵌入式系统的整体研制周期,增强市场反应能力。
功能模块
SMAVE Virtual System CPU Modeler 目标处理器仿真模型:核心基础模块,提供等效于硬件的被件执行环境。SMAVE Virtual System Peripheral Device Modeler 外围设备仿真模型:模拟外部接口设备,实现接口设备的功能逻辑仿真
SMAVE Virtual System Debugger 调试器:提供了强大的虚拟化调试功能,方便用户随时查看和修改被测软件的执行情况。 SMAVE Virtual System Coverage Analyzer 覆盖率统计分析模块:提供针对代码、目标码的覆盖率统计分析功能。
SMAVE Virtual System Test Management 测试管理模块:提供测试工程管理功能:实现仿真模型、仿真工程、测试用例、测试结果多级管理。
产品特色
■ 在虚拟环境中开发软件
SMAVE Virtual System提供了支持DevOps和持续开发实践所需的访问、自动化和协作。通过使用虚拟平台和仿真,软件开发人员可以在开发过程中将他们的工作与物理硬件及其限制分离开来。对虚拟硬件的访问允许开发人员在开发周期中更快地进行连续集成和自动化测试,甚至在硬件设计完成之前还可以在设计和原型阶段执行测试和调试。所有团队成员都可以无限制地访问虚拟硬件,从而在整个生命周期中实现新的工作方式和改进的协作。虚拟硬件可以在任何时间、任何地点提供,从而改善协作,确保所有开发人员都有一个共同的基线。最终,开发人员可以采用更加灵活的工作方式,并且可以显著降低项目进度、预算和质量的风险。
软件开发人员使用SMAVE Virtual System来模拟几乎任何东西,从单个芯片到任何规模或复杂程度的完整系统和网络。目标系统的SMAVE Virtual System仿真可以运行未经修改的目标软件。它包括与硬件相同的引导加载程序、基本输入输出系统(BIOS)、固件、操作系统、板支持包(BSP)、中间件和应用程序。通过在模拟系统中进行故障注入,可以在安全可控的环境中测试。开发人员和测试人员甚至在硬件可用之前,就可以获得针对这种虚拟硬件开发的好处
■ 通过访问、协作和自动化最大限度地提高产品开发速度
SMAVE Virtual System使开发和测试更高效,速度更快。通过无缝可靠地访问SMAVE Virtual System虚拟硬件平台,团队可以实时优化、不断迭代;快速完成设计、开发和测试,以逐步构建他们的系统。SMAVE Virtual System通过自动化物理硬件不可能自动化的东西,帮助缩短开发和测试周期。
■
优化系统开发
复杂且相互连接的系统很难调试和管理。虽然传统的开发工具可以帮助您跟踪与单板或软件进程相关的bug,但在由多个板和处理器内核组成的系统中查找bug是一项艰巨的任务。例如,如果使用传统的调试器停止一个进程或线程,系统中的其他部分将继续执行,从而无法获得目标系统状态的全局一致视图。
SMAVE Virtual System提供对系统中所有板和处理器核心的访问、可见性和控制。单步前进和单步后退适用于整个系统,整个系统可以作为一个整体进行检查和调试。此外,还可以创建检查点或快照,以捕获整个系统状态。这个状态可以传递给另一个开发人员,然后他们可以检查精确的硬件和软件状态,重放记录的执行,并继续执行,就好像它从未停止过一样。
SMAVE Virtual System虚拟平台比物理硬件更易于配置和管理。随着每种类型电路板的无限供应,可伸缩性测试可以超越物理硬件的可能。此外,开发人员和测试人员可以以无损和可重复的方式将故障注入系统的任何部分。SMAVE Virtual System可以模拟包含数百个处理器的系统,其性能水平可以执行真正的软件目标负载。
■ 按需分配
开发、调试、集成和测试电子系统的最大障碍之一是,目标硬件和物理实验室并非总是对处于运行状态的每个人都可用,或者它们要等待很长时间才能访问。这种有限的访问意味着工程师们不得不接受不太理想的替代品,如参考板或基于主机的开发。使用SMAVE Virtual System,您可以构建一个可供任何团队成员在任何时间、任何地点、任何数量的硬件按需使用的虚拟实验室。此外,虚拟实验室不仅仅是系统的一部分,它可以是一个完整的系统。这个功能允许用户在一个完整系统的上下文中完成他们的工作,而不仅仅是其中的一部分。对于支持目标硬件多种不同配置的开发人员来说,SMAVE Virtual System虚拟平台可以方便地管理组件的多种配置,这对于兼容性测试和测试特定的客户场景尤其有用。
■ 产品生命周期的持续支持
SMAVE Virtual System支持整个产品生命周期,从设计到产品部署和维护。
设计
从上一代开始,一代一代地开发产品,并逐个组件地实现下一代功能。试验硬件和软件的变化,并分析影响。
开发
■ 开发、调试和测试底层软件、BSP和操作系统配置,即使硬件不可用,也不受物理硬件的限制
■ 并行化并减少软件和硬件开发之间的依赖性
■ 为所有应用程序开发人员提供虚拟目标硬件,以便随时在真实系统上进行测试
■ 利用高级调试功能,如检查点、记录、回放、反向调试以及高级代码和硬件断点
集成和测试
■ 在开发过程的早期就开始测试和自动化。尽早在虚拟硬件上进行连续的硬件和软件集成,并在可用时扩展到物理硬件
■ 使用SMAVE Virtual System故障注入测试容错能力
■ 无损安全检测允许根据需要多次进行测试、重置和再次测试,而不会损坏系统
■ 通过将硬件的SMAVE Virtual System模型与物理世界或系统环境的外部模型集成,对整个系统进行测试和集成
■ 通过将SMAVE Virtual System绑定到现有的软件构建和测试工作流中,自动化回归测试和持续集成
■ 无限期地维护产品,而不必担心硬件过时