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.效果体现

  • 能够在【硬件设备没有准备好/项目预研阶段】即可进行整体功能验证,使得最终交付系统的安全性、稳定性更有保障;

  • 可进行虚实结合切换进行功能验证,有效定位问题发生位置所在(在硬件层面或软件层面),故障定位更清晰;

  • 虚拟化软件替代可有效节省测试环境硬件设备依赖,节约硬件设备采购成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟ECU:彻底改变汽车软件开发与测试

汽车开发领域有着垂直性较强的一系列需求,其中最为瞩目的需求之一就是对安全高效的软件测试方法的需求。传统的汽车开发偏向使用硬件原型与真实ECU进行软件测试,但由于硬件设备往往在开发周期的中后阶段才生产完成,给汽车开发带来了成本与时间…

理解Solidity 中的 tx.origin 和 msg.sender

开发者需要了解在Solidity中tx.origin和msg.sender的区别。这两个全局变量经常被混淆,尽管它们之间有着根本的不同。虽然乍一看它们可能相似,但在交易的上下文中,tx.origin和msg.sender代表不同的地址。在这篇博客文章中,我们将深…

spring boot 之 事务

内容是小老弟的一些整理和个人思考总结,知识的海洋那么大,有错误的话还请诸位大佬指点一下! 事务是一个不可分割操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状…

电商内卷时代,视频号小店凭借一己之力“脱颖而出”

大家好,我是电商笨笨熊 今年618各大电商平台花样百出; 某宝更是直接取消了“预售”,从5月就开始进入618预热期; 不少玩家既开心又难过,市场如此内卷,618确实是个爆发期,但更多的需要不断压低…

Star CCM+分配零部件至区域后交界面丢失-更新找回

前言 在工程应用中,将零部件分配至区域后,一般常规的操作需要对交界面进行检查。偶尔会发现交界面丢失。遇到此类问题,在没有做其他操作前(比如画网格),可以选择先删除所有区域在重新分配至区域。若已经进…

基于SSM的大学生兼职管理系统

基于SSM的大学生兼职管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 企业界面 前台学生界面 管理员界面 摘要 随着大学生兼职市场的日益繁…

K8s 高级调度

文章目录 K8s 高级调度CronJobinitContainerTaint 和 Toleration污点(Taint)容忍(Toleration) AffinityNodeAffinityPodAnffinity 和 PodAntiAffinity 总结 K8s 高级调度 CronJob 在 k8s 中周期性运行计划任务,与 li…

【vue echart】完成一个简单echart图表+自适应

实现效果&#xff1a; html&#xff1a; <divref"echartOne"id"echartOne"style"width: 100%; height: 100%" ></div> js: getEchartOne() {let chart this.$echarts.init(this.$refs.echartOne);chart.setOption({title: {text:…

linux 有名管道FIFO

无名管道应用的一个重大限制是它没有名字&#xff0c;因此&#xff0c;只能用于具有亲缘关系的进程间通信&#xff0c;在有名管道&#xff08;named pipe或FIFO&#xff09;提出后&#xff0c;该限制得到了克服。FIFO不同于管道之处在于它提供一个路径名与之关联&#xff0c;以…

云原生|为什么服务网格能够轻松重塑微服务?一文讲清楚!

目录 一、概述 二、 设计 三、服务网格 四、总结 一、概述 容器化技术与容器编排推动了微服务架构应用的演进&#xff0c;于是应用的扩展与微服务的数量日益增加&#xff0c;新的问题随之而来&#xff0c;监控服务的性能变得越来越困难&#xff0c;微服务与微服务之间相互通…

v-rep--lua接口和c++接口的关联

我们在coppeliasim中调用的lua脚本函数sim.xxxxx()的执行规律有两种情况&#xff1a; 1&#xff0c;要么就是在coppliasim的sim.lua中有这个lua函数的定义&#xff0c;直接执行这个lua函数即可。比如&#xff0c;sim.creatPath(); 2&#xff0c;要么就是这个lua接口没有lua语…

Kafka-集群管理者(Controller)选举机制、任期(epoch)机制

Kafka概述 Kafka-集群管理者&#xff08;Controller&#xff09;选举机制 Kafka中的Controller是Kafka集群中的一个特殊角色&#xff0c;负责对整个集群进行管理和协调。Controller的主要职责包括分区分配、副本管理、Leader选举等。当当前的Controller节点失效或需要进行重新…

嵌入式实时操作系统笔记1:RTOS入门_理解简单的OS系统

今日开始学习嵌入式实时操作系统RTOS&#xff1a;UCOS-III实时操作系统 本次目标是入门RTOS&#xff0c;理解多任务系统...... 本文只是个人学习笔记&#xff0c;基本都是对网上资料的整合...... 目录 STM32裸机与RTOS区别&#xff1a; 裸机中断示例&#xff1a; RTOS对优先级…

汽车标定技术(二十一)--英飞凌TC3xx的OLDA怎么玩?(2)

目录 1.概述 2.Vector提出的OLDA概念 2.1 RAM Copy 2.2 Data Trace 3.小结 1.概述 上一篇汽车标定技术(二十一)--英飞凌TC3xx的OLDA怎么玩?(1)-CSDN博客,我们讲了TC3xx

Spring MVC/Web

1.Spring MVC 的介绍 Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;也是Spring框架的一部分。它提供了灵活可扩展的MVC架构&#xff0c;方便开发者构建高性能的Web应用程序&#xff0c;并与 Spring 生态系统无缝集成。 2.MVC 设计模式 MVC&#xff08;Model…

设计模式—23种设计模式重点 表格梳理

设计模式的核心在于提供了相关的问题的解决方案&#xff0c;使得人们可以更加简单方便的复用成功的设计和体系结构。 按照设计模式的目的可以分为三大类。创建型模式与对象的创建有关&#xff1b;结构型模式处理类或对象的组合&#xff1b;行为型模式对类或对象怎样交互和怎样…

CSS实现图片浮动在底层 div 之上,而不会影响底层 div 的布局和内容

前言&#xff1a;遇到个需求&#xff0c;需要图片显示在div之上&#xff0c;但是不占用div的空间布局&#xff0c;网上的答案五花八门&#xff0c;但其实使用css就可以简单实现&#xff0c;仅以此博客作为记录 举个栗子 <div class"container"><img src&qu…

Linux 网络编程基础——网络模型

网络模型 网络模型1. OSI七层模型1. 物理层&#xff08;Physical Layer&#xff09;2. 数据链路层&#xff08;Data Link Layer&#xff09;3. 网络层&#xff08;Network Layer&#xff09;4. 传输层&#xff08;Transport Layer&#xff09;5. 会话层&#xff08;Session Lay…

研发机构大数据迁移如何保障敏感数据不泄露

随着云计算和大数据技术的飞速进步&#xff0c;越来越多的企业正试图通过数据迁移来提升IT基础设施的效率&#xff0c;减少成本&#xff0c;并增强业务的灵活性。但是&#xff0c;这一过程并非没有它的挑战&#xff0c;尤其是在数据安全方面。数据在转移过程中可能会遭遇黑客攻…

SQL的多表联查

这里我先附上两张表的数据&#xff1a; Orders 表: OrderIDCustomerID1321324NULL Customers 表: CustomerIDCustomerName1Alice2Bob3Charlie4David INNER JOIN &#x1f91d; 概念&#xff1a; INNER JOIN&#xff08;内连接&#xff09;返回两个表中匹配的记录。如果某条…