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