Simics工具如何实现模拟特定硬件设计并用软件完成测试
扫描二维码
随时随地手机看文章
不久前召开的2013年风河(Wind River)中国开发者大会重点探讨并展现了物联网领域的主要趋势、挑战和机会,会上还着重介绍了风河Simics全系统软件模拟工具。风河调试工具及生命周期解决方案副总裁Michel Genard在接受本刊记者采访时表示,Simics是一个全系统软件模拟工具,可供软件开发者模拟硬件,并可模拟任何规模和复杂度的电子系统,可以帮助工程师突破传统的产品开发和测试流程。
Simics工具的产生
Michel Genard介绍说,近年来,由于电子系统日益复杂且对系统间的互换要求不断提高,例如,有些电子系统大多使用异构多处理器和多核处理器来运行多个软件栈和操作系统,有时这些系统还会作为大型系统的一部分,通过总线、背板、局域网或因特网进行互联。而传统的开发工具和流程在面对这些系统的调试、集成和测试时就显得力不从心。风河根据市场需求开发的Simics全系统软件模拟工具可帮助开发人员从根本上提高系统开发、调试和测试的效率,从而大大改善包括产品上市时间、成本、产品质量在内的一些重要的业务指标。
Simics工具实现的功能
Michel Genard向记者详细介绍了Simics工具的功能,Simics工具优势主要体现在:一是可模拟完整的系统。风河Simics可为软件开发人员把整个目标硬件平台模拟出来。无论该硬件是一个独立的处理器,还是一个大型的、复杂的、互联的、多个电子系统,均可通过一个虚拟平台把目标硬件的各种功能操作模拟完成,使得未经修改的目标软件(BSP、固件、实际操作系统、中间件和应用程序)能完全按它在真实硬件平台上运行的方式在虚拟的平台上运行,开发者不必担心模拟部分和实际部分有什么误差(图1)。
图1:Simics与单元测试。
二是能加快产品开发速度。Simics模拟工具可完成电路板设计、系统集成、系统测试等环节,在实体硬件之前就可开始工作。Simics还支持协同平台开发,让所有开发人员能够共享整个虚拟系统和它的状态,从而提高效率并加快软件的开发和测试。
三是优化系统开发。传统的开发工具只能解决单个参考板上的故障,要在多个参考板组成的系统中查找错误就会变得非常复杂。例如,使用传统调试工具停止运行某块参考板时,系统中的其他参考板仍然会继续执行任务,这样就让实现故障隔离几乎成为不可能的事情。Simics可让工程师们同时操作、查看和控制系统中所有的参考板。任何正向、逆向的单步执行都可应用于整个系统而非某一部分,还可以先创建整个系统的检查点或快照再共享给其他开发人员,这样整个设计团队都可以看到整个系统的状态,从而继续无断点执行原有操作。Simics虚拟平台比实体硬件更易于设置和管理,且可以通过复制部分系统来测试扩展性。Simics甚至可以模拟几百个参考板和处理器组成的系统,在上面运行所有的目标软件。
四是攻克全系统目标硬件管理和系统集成系统的开发、调试、集成和测试过程中面临的最大困难,即缺少目标硬件。以往设计工程师都是使用一些替代方案,例如使用评估板或基于PC主机的开发。有了Simics之后,整个开发团队都能获得一个虚拟的目标硬件系统,而且是一个完整的系统,使每个开发人员都能基于整个系统对设计方案进行修改与开发。Simics虚拟平台还能帮助他们实现多种组件配置,这一功能在兼容性测试和客户的特定条件测试中至关重要。同时,Simics对整个产品生命周期都能提供支持,从系统定义到后期产品维护。五是Simics工具可支持多种目标架构。Michel Genard强调,Simics工具不是仅为某一家开发的,而是面向和支持整个市场,例如支持Power、Intel、ARM、MIPS、TI等等。
应用案例
Michel Genard举了一个在卫星系统使用的案例,出现的问题是,太空中老化的卫星系统需要用软件补丁来弥补硬件缺陷,而在地面上很难创建修补用的软件补丁,因为缺少实际硬件。而采用Simics工具的解决方案可仿真系统硬件,并模拟硬件的退化程序来测试软件。在上传补丁之前,能够在地面上用仿真平台进行完整的测试(单元测试和系统测试)。Michel Genard表示,Simics工具已在众多客户和应用领域得到广泛应用,根据客户的反馈,使用Simics工具后,调试时间可节省35%,运行成本可减少50%,产品上市时间可缩短66%。