CANoe测试应用案例之A2L
写在前面
本系列文章主要讲解CANoe测试应用案例之A2L的相关知识,希望能帮助更多的同学认识和了解CANoe测试。
若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)
CANoe Option AMD/XCP支持加载A2L到CANoe中,方便ECU内部变量在功能验证中的应用,其结构如图1所示。
图 1 通过Option AMD/XCP直接获取DUT内部状态
1. On Target 的软件功能测试
ADAS和新能源相关控制器在软件集成到硬件后,需对软件功能进行自动化验证。传统HiL设备昂贵且通常系统测试工程师有测试任务占用,故搭建简易的功能验证是重要的补充。图2所示经济型桌面测试系统已被诸多用户应用在软硬件集成测试验证中 (如Electric Axle Drive、辅助泊车模块、BMS和MCU等)。使用VT System通道接通ECU电源和总线通道后,传感器和执行器的状态直接通过修改和读取Memory地址对应的A2L实现仿真和测量。
图 2 SW/HW集成测试的桌面型系统
2. 集成VX1000满足高速数据交互测试
在底盘和ADAS域控制器测试验证时,内部数据的访问需要更快速的数据交互;系统级黑盒测试时需要获取每条系统测试用例对应函数/函数调用覆盖,从而更好满足功能安全ISO 26262的验证。直接访问被测ECU的调试接口是推荐的最佳方式。VX1000是针对高速测量的专业设备,与控制器的高速调试接口(例如DAP、JTAG和Aurora等)相连并传输数据,支持通过XCP on Ethernet集成到CANoe中满足高速数据应用的测试;同时若系统使用VectorCAST/QA可实现系统级函数覆盖率测试。
图 3 Option AMD/XCP集成VX1000系统
3. 配合AUTOSAR.AMD满足AUTOSAR控制器测量与调试
MICROSAR中的AMD模块,在应用软件和基础软件模块的监控与调试方面为软件集成工程师和测试工程师提供了轻量级方案。AMD模块中的DBG和DLT是AUTOSAR标准的一部分,RTM是Vector自定义的扩展模块。
图 4 MICROSAR.AMD模块配合CANoe可实现的功能
RTM模块可实现指定代码段的运行次数、响应时间和CPU load等指标测量。通过集成Rtm.h和初始化配置等快速设置后,便可在DaVinci Configurator中配置监测内容。在配置更新A2L文件后,加载协议栈配置时生成的自动化脚本在CANoe Option AMD/XCP中运行,则会生成如图5所示的自动化测试报告。
图 5 RTM模块对应脚本在CANoe中运行后的测试报告
4. 同一地址数据诊断协议和标定协议读取变量对比测试
某ECU有部分内部变量通过标定和诊断在同一时刻读取的值不一致,用户想实现自动化对比快速定位问题。CANoe Option AMD/XCP和CANoe Option DiVa实现所有可通过两种方式读取变量的自动化对比。将A2L加载到CANoe Option AMD/XCP中配置生成System variables的配置文件,在CANoe Option DiVa中直接加载系统变量做配置(见图6),便可快速生成自动化对比脚本加载到CANoe中运行,从而完美解决客户问题。
图 6 Option AMD/XCP与Option DiVa的组合应用
5. 结合CSM的EtherCAT数采模块满足耐久测试
在耐久环境自动化测试台架中,被测ECU的常规I/O可通过VT System实现,内部状态参数可通过Option AMD/XCP处理,Option Ethernet则用于样件通信或外设控制。环境相关参数也需同步采集判断,测量模块有两种接口:CAN和EtherCAT,其中CAN接口可直接通过VN/VT总线接口卡集成,EtherCAT模块可通过Option AMD/XCP和Option Ethernet集成到CANoe中(见图7)。
图 7 Option AMD/XCP通过XCPon Ethernet集成EtherCAT测量模块
6. 协同iSYSTEM调试器满足PiL应用
CANoe Option AMD/XCP可直接集成iSYSTEM的调试器,使用时需要在winIDEA中激活XCP plug-in。iSYSTEM的调试环境内通过FPGA实现了XCP Ethernet Slave功能,使得被测ECU不需要集成XCP驱动或VX1000。若软件开发工程师有使用iSYSTEM调试器,则对应软件功能模块自动化测试可直接实现。
图 8 Option AMD/XCP无缝集成iSYSTEM调试器
本文章是博主花费大量的时间精力进行梳理和总结而成,希望能帮助更多的小伙伴~ 🙏🙏🙏
后续内容将持续更新,敬请期待(*^▽^*)
欢迎大家评论,点赞,收藏→→→
相关文章:
CANoe测试应用案例之A2L
写在前面 本系列文章主要讲解CANoe测试应用案例之A2L的相关知识,希望能帮助更多的同学认识和了解CANoe测试。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) CANoe Option AMD/XCP支持加载A2L到CANoe中,方便ECU内部变量在功能验…...
H2数据库源码学习+debug, 数据库 sql、数据库引擎、数据库存储从此不再神秘
一、源码结构概览 H2源码采用标准Maven结构,核心模块在src/main/org/h2目录下: ├── command/ # SQL解析与执行 ├── engine/ # 数据库引擎核心(会话、事务) ├── table/ # 表结构定义与操作 ├── index/ # 索引实现&am…...
PopSQL:一个支持团队协作的SQL开发工具
PopSQL 是一款专为团队协作设计的现代化 SQL 编辑器,通过通团队过协作编写 SQL 查询、交互式可视化以及共享结果提升数据分析和管理效率。 PopSQL 提供了基于 Web 的在线平台以及跨系统(Windows、macOS、Linux)的桌面应用,包括免费…...
tomcat查看状态页及调优信息
准备工作 先准备一台已经安装好tomcat的虚拟机,tomcat默认是状态页是默认被禁用的 1.添加授权用户 vim /usr/local/tomcat/conf/tomcat-users.xml22 <role rolename"manager-gui"/>23 <user username"admin" password"tomcat&q…...
贝塞尔曲线原理
文章目录 一、 低阶贝塞尔曲线1.一阶贝塞尔曲线2. 二阶贝塞尔曲线3. 三阶贝塞尔曲线 一、 低阶贝塞尔曲线 1.一阶贝塞尔曲线 如下图所示, P 0 P_0 P0, P 1 P_1 P1 是平面中的两点,则 B ( t ) B ( t ) B(t) 代表平面中的一段线段。…...
【MYSQL】笔记
📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🅒 C 语言 | 🌐 计算机网络 在ubuntu中,改配置文件: sudo nano /etc/mysql/mysql.conf.d/mysq…...
构建 TypoView:一个富文本样式预览工具的全流程记录
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 在一次和 CodeBuddy 的日常交流中,我提出了一个构想:能不能帮我从零构建一个富文本样式…...
使用conda创建python虚拟环境,并自定义路径
创建虚拟环境 conda create --prefixE:/ai-tools/Luoxuejiao/envs/Luo24 python3.8 此时虚拟环境没有名字,只有路径,下面将名字添加到配置中: conda config --append envs_dirs E:/ai-tools/Luoxuejiao/envs/...
【自然语言处理与大模型】向量数据库技术
向量数据库,是专门为向量检索设计的中间件! 高效存储、快速检索和管理高纬度向量数据的系统称为向量数据库 一、向量数据库是什么有什么用? 向量数据库是一种专门用于高效存储和检索高维向量数据的系统。它通过嵌入模型将各类非结构化数据&am…...
Java中的伪共享(False Sharing):隐藏的性能杀手与高并发优化实战
引言 在高性能Java应用中,开发者通常会关注锁竞争、GC频率等显性问题,但一个更隐蔽的陷阱——伪共享(False Sharing)——却可能让精心设计的并发代码性能骤降50%以上。伪共享是由CPU缓存架构引发的底层问题,常见于多…...
【数据结构】2-3-3单链表的查找
数据结构知识点合集 知识点 单链表的按位查找 GetElem(L,i):按位查找操作。获取表L中第i个位置的元素的值。 /*查找L中的第i个节点并返回*/ LNode *GetElm(LinkList L,int i) { /*位置不合法返回NULL*/ if(i<0) return NULL; /*p指向当前节…...
从0开始学linux韦东山教程第四章问题小结(1)
本人从0开始学习linux,使用的是韦东山的教程,在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。说实在的越看视频越感觉他讲的有点乱后续将以他的新版PDF手册为中心,视频作为辅助理解的工具。参考手册为嵌入式Linux应用开发…...
TYUT-企业级开发教程-第三章
JAVAWEB的三大组件 在 Spring Boot 项目中,会自动将 Spring 容器中的 Servlet 、 Filter 、 Listener 实例注册为 Web 服务器中对应的组件。因此,可以将自定义的 Java Web 三大组件作为 Bean 添加到 Spring 容器中,以实现组件的注册。使用 S…...
【数据结构】2-3-2 单链表的插入删除
数据结构知识点合集 知识点 按位序插入带头节点链表 ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e;找到第 i-1 个结点,将新结点插入其后 。 /*在带头节点的单链表L的第i个位置插入元素e*/ bool ListInsert(LinkList …...
spark-配置yarn模式
1.上传并解压spark-3.1.1-bin-hadoop3.2.tgz (/opt/software) 解压的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module (cd /opt/software 进入software) 2.重命名 解压之后的目录为spark-yarn(原为spark-3.1.1-…...
鸿蒙系统电脑:开启智能办公新时代
鸿蒙系统电脑:开启智能办公新时代 引言 2025 年 5 月 8 日,华为正式推出了鸿蒙系统电脑,这款具有里程碑意义的产品,不仅彰显了华为在智能设备领域的创新实力,也为用户带来了全新的智能办公体验。在数字化转型加速的背…...
Ubuntu---omg又出bug了
自用遇到问题的合集 250518——桌面文件突然消失 ANS:参考博文...
COCO数据集神经网络性能现状2025.5.18
根据当前搜索结果,截至2025年5月,COCO数据集上性能最佳的神经网络模型及其关键参数如下: 1. D-FINE(中科大团队) 性能参数: 在COCO数据集上以78 FPS的速度实现了59.3%的平均精度(AP࿰…...
elementplus menu 设置 activeindex
<el-menu:default-active"defaultActive"> 更改当前激活的 index 可以 绑定:default-active"defaultActive" 改变 defaultActive 值 即会改变 index 但不会改变路径 watch(() > route.fullPath,(newPath: string) > {defaultActive.value…...
张 心理问题的分类以及解决流程
心理问题的分类以及解决流程 目录 心理问题的分类以及解决流程心理问题的分类**一、心理问题的分类与层次****1. 一般心理问题****2. 严重心理问题****3. 神经症性心理问题(神经症)****4. 精神障碍**轻度问题以心理咨询==判断:时间(3个月,1年,大于1年=神经质),社会功能(…...
网页 H5 微应用接入钉钉自动登录
ℹ️关于云审批 云审批(cloud approve) ,一款专为小微企业打造,支持多租户的在线审批神器。它简化了申请和审批流程,让您随时随地通过手机或电脑完成请款操作。员工一键提交申请,审批者即时响应,…...
接口——类比摄像
最近迷上了买相机,大疆Pocket、Insta Go3、大疆Mini3、佳能50D、vivo徕卡人像大师(狗头),在买配件的时候,发现1/4螺口简直是神中之神,这个万能接口让我想到计算机设计中的接口,遂有此篇—— 接…...
java每日精进 5.18【文件存储】
1.文件存储思路 支持将文件上传到三类存储器: 兼容 S3 协议的对象存储:支持 MinIO、腾讯云 COS、七牛云 Kodo、华为云 OBS、亚马逊 S3 等等。磁盘存储:本地、FTP 服务器、SFTP 服务器。数据库存储:MySQL、Oracle、PostgreSQL、S…...
LeetCode 394. 字符串解码详解:Java栈实现与逐行解析
文章目录 1. 问题描述2. 解决思路核心问题栈的应用遍历逻辑 3. 完整代码实现4. 关键代码解析处理右括号 ]处理嵌套的示例 5. 复杂度分析6. 总结 1. 问题描述 给定一个经过编码的字符串,要求将其解码为原始字符串。编码规则为 k[encoded_string],表示方括…...
基于STC89C52的红外遥控的电子密码锁设计与实现
一、引言 电子密码锁作为一种安全便捷的门禁系统,广泛应用于家庭、办公室等场景。结合红外遥控功能,可实现远程控制开锁,提升使用灵活性。本文基于 STC89C52 单片机,设计一种兼具密码输入和红外遥控的电子密码锁系统,详细阐述硬件选型、电路连接及软件实现方案。 二、硬…...
Android 性能优化入门(一)—— 数据结构优化
1、概述 一款 app 除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样才能更好地提高用户体验: 优化目的性能指标优化的方向更快流畅性启动速度页面显示速度(显示和切换)响应速度更稳定稳定性避免出现 应用崩溃&…...
深入理解Docker和K8S
深入理解Docker和K8S Docker 是大型架构的必备技能,也是云原生核心。Docker 容器化作为一种轻量级的虚拟化技术,其核心思想:将应用程序及其所有依赖项打包在一起,形成一个可移植的单元。 容器的本质是进程: 容器是在…...
5.18本日总结
一、英语 复习list3list28 二、数学 学习14讲部分内容,1000题13讲部分 三、408 学习计网5.3剩余内容 四、总结 计网TCP内容比较重要,连接过程等要时常复习;高数学到二重积分对定积分的计算相关方法有所遗忘,需要加强巩固。…...
muduo库TcpServer模块详解
Muduo库核心模块——TcpServer Muduo库的TcpServer模块是一个基于Reactor模式的高性能TCP服务端实现,负责管理监听端口、接受新连接、分发IO事件及处理连接生命周期。 一、核心组件与职责 Acceptor 监听指定端口,接受新连接,通过epoll监听l…...
深入理解 OpenCV 的 DNN 模块:从基础到实践
在计算机视觉领域蓬勃发展的当下,深度学习模型的广泛应用推动着技术的不断革新。OpenCV 作为一款强大且开源的计算机视觉库,其 DNN(Deep Neural Network)模块为深度学习模型的落地应用提供了高效便捷的解决方案。本文将以理论为核…...
MyBatis 延迟加载与缓存
一、延迟加载策略:按需加载,优化性能 1. 延迟加载 vs 立即加载:核心区别 立即加载:主查询(如查询用户)执行时,主动关联加载关联数据(如用户的所有账号)。 场景…...
6.2.2邻接表法-图的存储
知识总览: 为什么要用邻接表 因为邻接矩阵的空间复杂度高(O(n)),且不适合边少的稀疏图,所以有了邻接表 用代码表示顶点、图 声明顶点图信息 声明顶点用一维数组存储各个顶点的信息,一维数组字段包括2个,每个顶点的…...
【甲方安全建设】拉取镜像执行漏洞扫描教程
文章目录 前置知识镜像(Docker Image)是什么?镜像的 tag(标签)查看本地已有镜像的 tag查看远程仓库的所有 tag构建镜像与拉取镜像的区别正文安装docker拉取待扫描镜像安装 veinmind-runner 镜像下载 veinmind-runner 平行容器启动脚本快速扫描本地镜像/容器6. 生成 报告前…...
第四天的尝试
目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 很抱歉的说一下,我昨天看白色巨塔电视剧,看的入迷了,同时也看出一些道理,学到东西; 但是把昨天的写事情给忘记了,今天…...
大数据场景下数据导出的架构演进与EasyExcel实战方案
一、引言:数据导出的演进驱动力 在数字化时代,数据导出功能已成为企业数据服务的基础能力。随着数据规模从GB级向TB级甚至PB级发展,传统导出方案面临三大核心挑战: 数据规模爆炸:单次导出数据量从万级到亿级的增长…...
svn: E170013 和 svn: E120171 的问题
在 Deepin23 上尝试用 svn 连接我的 Visual SVN 服务器,得到如下错误信息, > svn: E170013: Unable to connect to a repository at URL https://my.com/svn/mysource/branch_4.2.x > svn: E120171: 执行上下文错误: An error occurred during SSL…...
Limesurvay系统“48核心92GB服务器”优化方案
1、Redis maxmemory 16GB # 限制Redis内存(预留足够空间给其他服务) maxmemory-policy volatile-lru # 自动淘汰旧会话(仅对带TTL的键) save 300 100 # 仅保留一个条件减少阻塞 stop-writes-on-bgsave-error no #…...
DockerFile实战
背景 在上一篇文章中,我们对DockerFile有了一个较为深刻的认识,那么这篇文章,我将会向你展示如何自定义一个镜像并且在docker上运行。 一、基础指令 指令技术说明生产环境最佳实践典型错误示例FROM- 必须作为Dockerfile第一条指令 - 推…...
【Linux】简易版Shell实现(附源码)
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 前言 之前我们学习了Linux的进程概念以及进程控制相关接口: 【Linux】进程控制-CSDN博客 本篇文章,我们将一起踏上一段有趣的旅程&a…...
MATLAB安装常见问题解决方案
目前新版本的matlab安装往往需要十几G的本地安装容量,例如matlab2022b、matlab2023b, 首先就是要保证本地硬盘空间足够大,如果没有足够的本地内存空间,那么可以尝试释放本地硬盘空间,或者安装所需内存空间较小的旧版本的matlab&am…...
在 Vue 中插入 B 站视频
前言 在 Vue 项目中,有时我们需要嵌入 B 站视频来丰富页面内容,为用户提供更直观的信息展示。本文将详细介绍在 Vue 中插入 B 站视频的多种方法。 使用<iframe>标签直接嵌入,<iframe>标签是一种简单直接的方式,可将 B 站视频嵌…...
【深度学习】#12 计算机视觉
主要参考学习资料: 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李沐学AI 目录 目标检测锚框交并比(IoU)锚框标注真实边界框分配偏移量计算损失函数 非极大值抑制预测 多尺度目标检测单发多框检测(S…...
QT学习3
QT项目视图 1、List View清单视图 private:QListView *listview1; private slots:void slotClickedFunc(const QModelIndex &index); #include "widget.h" #include "ui_widget.h"#include <QStringListModel>//字符串列表模型 #include <QS…...
Vue 3 动态 ref 的使用方式(表格)
一、问题描述 先给大家简单介绍一下问题背景。我正在开发的项目中,有一个表格组件,其中一列是分镜描述,需要支持视频上传功能。用户可以为每一行的分镜描述上传对应的视频示例。然而,在实现过程中,出现了一个严重的问…...
FAST-DDS源码分析PDP(一)
准备开一个FAST-DDS源码分析系列,源码版本FAST-DDS 1.1.0版本。 FAST-DDS这种网络中间件是非常复杂的,所以前期先去分析每个类的作用是什么,然后在结合RTPS DOC,FAST-DDS DEMO,以及FAST-DDS的doc去串起来逻辑。 Builtin Discovery…...
Flutter与Kotlin Multiplatform(KMP)深度对比及鸿蒙生态适配解析
Flutter 与 Kotlin Multiplatform(KMP)深度对比及鸿蒙生态适配解析 在跨平台开发领域,Flutter 与 Kotlin Multiplatform(KMP)代表了两种不同的技术路线:前者以 “统一 UI 体验” 为核心,后者以…...
深入了解linux系统—— 基础IO(上)
文件 在之前学习C语言文件操作时,我们了解过什么是文件,这里简单回顾一下: 文件存在磁盘中,文件有分为程序文件、数据文件;二进制文件和文本文件等。 详细描述见文章:文件操作——C语言 文件在磁盘里&a…...
C++ map multimap 容器:赋值、排序、大小与删除操作
概述 map和multimap是C STL中的关联容器,它们存储的是键值对(key-value pairs),并且会根据键(key)自动排序。两者的主要区别在于: map不允许重复的键multimap允许重复的键 本文将详细解析示例代码中涉及的map操作,包括赋值、排…...
EmuEdit
EmuEdit详解:统一多任务图像编辑的扩展性范式 引言:图像编辑的困境 近年来,扩散模型(Diffusion Models)在图像合成和编辑方面取得了巨大进展,如 Prompt-to-Prompt (P2P)、InstructPix2Pix、DiffEdit 等方法…...
Linux编译rpm包与deb包
注意: 本文内容于 2025-05-14 23:55:53 创建,可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容,请访问原文地址:编译rpm包与deb包。感谢您的关注与支持! 近期在通过源码编译安装一些软件包时&#…...