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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【php开发系统性学习】——thinkphp框架的安装和启动保姆式教程

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

Linux应用入门(二)

1. 输入系统应用编程 1.1 输入系统介绍 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等。用户经过这些输入设备与Linux系统进行数据交换。这些设备种类繁多,如何去统一它们的接口,Linux为了统一管理这些输入设备实现了一套能兼容所有输入设备的…

CSS基础(第五天)

目录 定位 为什么需要定位 定位组成 边偏移 静态定位 static(了解) 相对定位 relative 绝对定位 absolute(重要) 子绝父相的由来 固定定位 fixed (重要) 粘性定位 sticky(了解&#xff…

【笔记】树(Tree)

一、树的基本概念 1、树的简介 之前我们都是在谈论一对一的线性数据结构,可现实中也有很多一对多的情况需要处理,所以我们就需要一种能实现一对多的数据结构--“树”。 2、树的定义 树(Tree)是一种非线性的数据结构&#xff0…

Hadoop3:HDFS中NameNode和SecondaryNameNode的工作机制(较复杂)

一、HDFS存储数据的机制简介 HDFS存储元数据(meta data)的时候 结果,记录在fsImage文件里 过程,记录在Edits文件里 同时fsImageEdits最终结果,这个最终结果(fsImageEdits)会保存一份在内存中,为了提升性能…

5月30日在线研讨会 | 面向智能网联汽车的产教融合解决方案

随着智能网联汽车技术的快速发展,产业对高素质技术技能人才的需求日益增长。为了促进智能网联汽车行业的健康发展,推动教育链、人才链与产业链、创新链的深度融合,经纬恒润推出产教融合相关方案,旨在通过促进教育链与产业链的深度…

Cookie 和 Session概念及相关API

目录 1.Cookie概念 2.理解会话机制 (Session) 3.相关API 3.1HttpServletRequest 3.2HttpServletResponse 3.3HttpSession 3.4Cookie 4.代码示例: 实现用户登陆 1.Cookie概念 Cookie 是存储在用户本地终端(如计算机、手机等)上的数据片段。 它…

5款AI工具,PS插件的智能升级

在Photoshop插件的世界里,创新和效率是永远的主题。随着AI技术的融入,传统的PS插件正在经历一场革命。本文将介绍五款结合了人工智能技术的PS插件,它们不仅提升了设计工作的效率,还拓展了创意的边界。 StartAI —— 智能设计的未来…

【包公断案】http请求神秘失踪案

案件名称:http请求离奇失踪案 案发地点:公司内部机器 案发时间:早上9点到9点30分 案发背景:两地三中心,双机房只单边出现该问题 案发事件:服务A的某些api请求离奇失踪,超时无响应,微…

【Qt】如何优雅的进行界面布局

文章目录 1 :peach:写在前面:peach:2 :peach:垂直布局:peach:3 :peach:水平布局:peach:4 :peach:网格布局:peach:5 :peach:表单布局:peach: 1 🍑写在前面🍑 之前使⽤ Qt 在界⾯上创建的控件, 都是通过 “绝对定位” 的⽅式来设定的。也就是每个控件所在…

数字信号处理:matlab解差分方程

1. 验证全响应 %验证全响应零状态响应零输入响应 %y(n)4y(n-1)x(n),其中x(n)δ(n),y(-1)2.clc;%清屏 clear all;%清除所有变量的值 b[1]; a[1,-4]; ys[2]; xs[0];%没有初始值,就是0 xn[1, zeros(1,4)];%输入序列,假设长度是5,则输出长度也是…

WDW-100G 高温拉力试验机 技术方案书

一、整机外观图: 二、项目简介: 微机控制高温拉力试验机是电子技术与机械传动相结合的新型材料试验机,它具有宽广准确的加载速度和测力范围,对载荷、变形、位移的测量和控制有较高的精度和灵敏度,还可以进行等速加载、…

sharded jedis pipelined 执行后 数据并未存入redis

前言 因为历史原因,在某个同步菜单操作的方法中先清除缓存,然后在初始化缓存。本来很正常的逻辑,但是这个清除是db查询获取所有的菜单 然后循环一条条删除 然后在db查询有效的菜单操作 在循环一条条插进去 经统计这个菜单操作大概有个7千个 …

【区块链】fisco网络运维之添加节点黑名单

基于已完成的区块链系统与管理平台搭建工作,开展区块链节点的黑名单工作,具体操作如下 以node3为例子 1查看node0节点的连接状态日志(现有4个节点连接) 注意:如果查询不到连接状态,修改node0的配置文件中…

QT5.15.2及以上版本安装

更新时间:2024-05-20 安装qt5.15以上版本 系统:ubuntu20.04.06 本文安装:linux-5.15.2 下载安装 # 安装编译套件g sudo apt-get install build-essential #安装OpenGL sudo apt-get install libgl1-mesa-dev# 下载qt安装器 https://downl…

每天五分钟深度学习框架PyTorch:创建具有特殊值的tensor张量

本文重点 tensor张量是一个多维数组,本节课程我们将学习一些pytorch中已经封装好的方法,使用这些方法我们可以快速创建出具有特殊意义的tensor张量。 创建一个值为空的张量 import torch import numpy as np a=torch.empty(1) print(a) print(a.dim()) print(s.shape) 如图…

supOS NEO科技普惠!永久免费!亿元补贴

数字化转型正在全球蓬勃发展,工业操作系统进入大规模推广期! 如果您正在被预算不足、技术团队不强、数字化投入产出比等问题困扰,supOS NEO是您最好的选择。 “让supOS走进万千工厂、千行百业!让全世界每个工厂都能用得上supOS&am…

.net core web项目部署IIS报错:HTTP 错误 413.1 - Request Entity Too Large

HTTP 错误 413.1 - Request Entity Too Large 解决办法 这个报错的原因是因为IIS配置问题,IIS最大默认配置只有30M,超过30M就会报错 解决办法 在程序中配置能接收最大字节大小 //配置请求头中能最大接收多少数据 //builder.WebHost.UseKestrel(option…

VS2022通过C++网络库Boost.asio搭建一个简单TCP异步服务器和客户端

基本介绍 上一篇博客我们介绍了通过Boost.asio搭建一个TCP同步服务器和客户端,这次我们再通过asio搭建一个异步通信的服务器和客户端系统,由于这是一个简单异步服务器,所以我们的异步特指异步服务器而不是异步客户端,同步服务器在…

c语言:利用随机函数产生20个[120, 834] 之间互不相等的随机数, 并利用选择排序法将其从小到大排序后输出(每行输出5个)

利用随机函数产生20个[120, 834] 之间互不相等的随机数&#xff0c; 并利用选择排序法将其从小到大排序后输出&#xff08;每行输出5个&#xff09; 代码如下&#xff1a; #include <stdio.h> #include <time.h> #include <stdlib.h> int shenchen(int a[…