SkyEye对接CANoe:助力汽车软件功能验证
01.简介
CANoe(CAN open environment)是德国Vector公司专为汽车总线设计而开发的一款通用开发环境,作为车载网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统的开发过程。CANoe丰富的功能和配置选项被OEM和供应商的网络设计、开发和测试工程师所广泛使用。
SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模。
- 基于SkyEye搭建的嵌入式系统虚拟化运行环境,工程师可不受物理硬件限制,随时访问目标系统,快速搭建虚拟硬件模型并提前进行开发、测试和验证工作,实现高效率、高质量的软件交付;
- 支持主流的嵌入式硬件平台,可运行国内外主流的操作系统,对国产生态的支持尤为出色;
- 利用基于LLVM的动态二进制翻译技术,SkyEye可使虚拟处理器在典型的桌面计算机上运行速度达到2000MIPS以上。
CANoe与SkyEye的结合,有助于工程师在汽车总线中开发设计中对挂载到总线的设备节点进行功能验证,总线协议设计的正确性得到保障,同时极大缩短了开发时间,提高了工程效率,有助于实现整车网络的快速开发。
02.系统架构
下图为真实设备与虚拟设备的对比图,表现了SkyEye在CANoe架构中功能和作用。
图中可以看到,在CANoe的真实使用场景中,CANoe通过CAN总线连接真实的ECU设备;虚拟设备使用场景的连接则是通过Vector SIL Kit来实现。
Vector SIL Kit是一个用于连接软件在环环境的开源库,可用于连接测试工具、仿真工具、虚拟ECU及应用软件。它提供:
- 汽车和非汽车应用的通信基础设施;
- 任何支持SIL Kit的应用程序之间的互操作性;
- 跨平台通信;
- 在没有平台依赖项的C++中实现;
- Windows、Linux和其他UNIX衍生产品之间的互操作性;
- 稳定的API和ABI以及长期的网络层兼容性。
03.实现功能
- 总线连接设备的替代:可以在虚拟环境中验证总线协议及上位机软件功能;
- 即研即验:开发同时,立即验证,边开发边调试,开发调试更方便;
- 更为便捷:避免了系统测试频繁更换硬件设备带来的人为损坏,使得测试工作能够更为顺利的进行。
04.技术优势
- 通过虚拟化技术,解决开发测试环节对硬件设备的依赖,使开发测试过程更顺畅;
- SkyEye采用动态二进制翻译技术,使仿真硬件运行速率与真实硬件基本一致;
- 原烧录到硬件环境的二进制文件可直接在SkyEye环境加载运行,运行结果与真实硬件中运行完全一致。
05.效果体现
- 能够在【硬件设备没有准备好/项目预研阶段】即可进行整体功能验证,使得最终交付系统的安全性、稳定性更有保障;
- 可进行虚实结合切换进行功能验证,有效定位问题发生位置所在(在硬件层面或软件层面),故障定位更清晰;
- 虚拟化软件替代可有效节省测试环境硬件设备依赖,节约硬件设备采购成本。