让SOME/IP运转起来——SOME/IP系统设计(下)之数据库开发

上一篇我们介绍了SOME/IP矩阵的设计流程,这一篇重点介绍如何把SOME/IP矩阵顺利的交给下游软件团队进行开发。

车载以太网通信矩阵开发完成后,下一步应该做什么?

当我们完成SOME/IP矩阵开发,下一步需要把开发完成的矩阵换成固定格式的数据库文件,方便软件团队进行开发,目前普遍使用ARXML文件。

ARXML数据库文件开发完成后,软件工程师可以导入到专用的配置工具中生成配置代码,将配置代码和核心软件代码一起编译,生成最终的软件代码。

ARXML文件是什么?

ARXML是AUTOSAR标准中的一种XML文件格式,用于描述汽车电子软件系统的软件架构和配置信息,是一个通用的配置/数据库文件。ARXML文件包含了各种AUTOSAR软件组件的定义、接口定义、模块定义、配置数据和元数据等。

ARXML可以兼容所有软件平台吗?

诚然我们在实际车型中使用的控制器通常会基于AP(Adaptive Platform)或CP(Classic Platform)软件平台进行开发,但是只要满足不同平台的格式要求,ARXML都可以满足下游软件开发需求。

CP 和AP 有什么区别?

在这里插入图片描述

如何开发车载以太网ARXML数据库文件?

我们当前使用的是自研工具INTEWORK-VDE(Vehicle Database Editor)。

INTEWORK-VDE是一款通信设计及数据库编辑工具,具备以下功能:

  • 支持以车系、车型、网段为网络架构进行通信数据库的设计
  • 支持CAN(FD)、LIN、J1939、Ethernet的通信数据库的设计,可提供中心服务器进行数据的统一管理,并且支持审批发布、邮件发送等功能

如何操作?操作步骤是否简单易学呢?

ARXML数据库的导出仅需两步。

  1. 把已经设计好的SOME/IP矩阵导入INTEWORK-VDE工具中 导出ARXML数据库文件
  2. 为了满足不同软件平台的需求,目前INTEWORK-VDE可以参照实际开发需求分别导出AP 和CP的ARXML数据库。

INTEWORK-VDE不但可以生成整车数据库也可以生成单个ECU节点的数据库,后续也支持生成单服务的数据库。生成的数据库支持导入CANoe、VBA等下游工具进行仿真测试,支持导入DaVinci、EAS等配置工具生成协议栈代码。此外,INTEWORK-VDE也支持从ARMXL导出EXCEL矩阵,方便工程师拿到数据库文件后,快速进行解析。

图 VDE界面

SOMEIP数据库开发操作视频

结语

通信数据库的设计服务于后续软件开发工作,是软件开发的重要输入。

对于车载以太网的通信系统设计来说,不同的操作系统需要各种不同的ARXML数据库来适配。合适的工具可以缩减开发周期,提升工作效率。VDE可以有效的帮忙工程师快速生成相应的ARXML数据库,做好通信工程师和软件工程师交互的桥梁。

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

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

相关文章

10.docker的网络network-概述

1.docker的网络模式 docker共有四种网路模式,分别是bridge、host、none和container. 1.1 bridge bridge,也称为虚拟网桥。在bridge模式下,为每个容器分配、配置IP等,并将容器连接到一个docker0。使用–network bridge命令指定,…

【每日OJ —— 622. 设计循环队列】

每日OJ —— 622. 设计循环队列 1.题目:622. 设计循环队列2.解法2.1.解法讲解2.1.1.算法讲解2.1.2.代码实现2.1.3.提交通过展示 1.题目:622. 设计循环队列 2.解法 1.本题有很多解法:可以使用数组,单链表,双链表&#x…

控制论与科学方法论

《控制论与科学方法论》,真心推荐。 书籍原文电子版PDF:https://pan.quark.cn/s/aa40d59295df(分类在学习目录下) 备用链接:https://pan.xunlei.com/s/VNgj2vjW-Hf_543R2K8kbaifA1?pwd2sap# 控制论是一种让系统按照我…

【精选】CSS入门必看知识点大合集

CSS简介 CSS概念 CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表 CSS文件后缀名为.css CSS用于HTML文档中元素样式的定义 为什么需要CSS 使用css的唯一目的就是让网页具有美观一致的页面 语法 CSS 规则…

每日一题(LeetCode)----链表--分隔链表

每日一题(LeetCode)----链表–分隔链表 1.题目(86. 分隔链表) 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初…

Vue3使用dataV报错问题解决

DataV官网:https://datav-vue3.jiaminghi.com/guide/ vue2中是没有问题的,这是第一次在vue3中使用发现的报错问题 报错问题 首先安装: pnpm add dataview/datav-vue3 1. 全局注册报错 然后main.ts全局注册 import { createApp } f…

Redis-Day1基础篇(初识Redis, Redis常见命令, Redis的Java客户端)

Redis-Day1基础篇 初识Redis认识NoSQL认识Redis安装Redis启动RedisRedis客户端 Redis命令数据结构介绍通用命令操作命令StringHashListSetSortedSet Redis的Java客户端客户端对比Jedis客户端Jedis快速入门Jedis连接池 SpringDataRedis客户端SpringDataRedis概述SpringDataRedis…

浅谈WPF之各种Template

前几天写了一篇文章【浅谈WPF之控件模板和数据模板】,有粉丝反馈说这两种模板容易弄混,不知道什么时候该用控件模块,什么时候该用数据模板,以及template和itemtemplate之间的关系等,今天专门写一篇文章,简述…

推荐一款适合做智慧旅游的前端模板

目录 前言 一、功能介绍 二、前端技术介绍 三、功能及界面设计介绍 1、数据概览 2、车辆监控 3、地图界面 4、其它功能 四、扩展说明 总结 前言 智慧旅游是一种全新的旅游业务模式,它充分利用先进的信息技术,提升旅游体验,优化旅游管…

【HarmonyOS】元服务卡片本地启动拉起加桌没问题,上架后拉起加桌时卡片展示异常

【关键字】 加桌选卡展示异常 、 2卡共用一个布局 、 代码混淆 【问题现象】 元服务卡片在本地启动拉起加桌时,多卡的选卡过程显示是没问题的。但是在上架后拉起加桌时,多卡的选卡过程卡片展示异常。 代码逻辑是通过创建卡片的时候判断卡片的尺寸大小…

设计模式-16-Spring源码中的设计模式

1-Spring之观察者模式 Java、Google Guava都提供了观察者模式的实现框架。Java提供的框架比较简单,只包含java.util.Observable和java.util.Observer两个类。Google Guava提供的框架功能比较完善和强大:通过EventBus事件总线来实现观察者模式。实际上&am…

对比两个数组中对应位置的两个元素将每次对比的最大值用于构成新的数组np.maximum()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 对比两个数组中对应位置的两个元素 将每次对比的最大值用于构成新的数组 np.maximum() 选择题 以下代码的输出结果为? import numpy as np a1 [1,2,33] a2 [11,2,3] print("…

查看当前laravel版本三种方法(笔记二)

1、在终端中使用 Artisan 命令:在 Laravel 项目的根目录下,打开终端(命令行界面),然后运行以下命令: php artisan --version 2、控制器中打印版本 var_dump(app()->version()); 3、在 Laravel 项目的根目…

【如何学习Python自动化测试】—— 多层窗口定位

6 、 多层窗口定位 多层窗口指的是在操作系统图形界面中,一个窗口被另一个窗口覆盖的情况。在多层窗口中,如何定位需要操作的窗口? 一种常见的方法是使用操作系统提供的AltTab快捷键,可以在打开的所有窗口中快速切换焦点。如果需要…

MacOS 成为恶意软件活动的目标

Malwarebytes 警告称,一个针对 Mac 操作系统 (OS) 的数据窃取程序正在通过虚假的网络浏览器更新分发给毫无戒心的目标。 Atomic Stealer,也称为 AMOS,是 Mac OS 上流行的窃取程序。 Atomic Stealer (AMOS) 恶意软件最近被发现使用“ClearFa…

Rust错误处理:Result

文章目录 简介错误匹配 Rust基础教程: 初步⚙ 所有权⚙ 结构体和枚举类⚙ 函数进阶⚙ 泛型和特征⚙ 并发和线程通信⚙ cargo包管理⚙ 可空类型Option Rust进阶教程: 用宏实现参数可变的函数⚙ 类函数宏 简介 Rust中没有提供类似try…catch之类…

封装一个基于ThreeJS渲染基础模型的类,非常简单,可拖动可缩放

工作需求要求threeJS渲染一个模型以供可视化大屏展示,抛出模型精度不谈,只说业务实现 1.Three.JS的引入 ThreeJS官网地址:Three.js – JavaScript 3D Library 查看文档 中文切换及安装创建步骤 如果是自己研究学习用的,在官网安装完后&…

JVM垃圾回收相关算法

目录 一、前言 二、标记阶段:引用计数算法 三、标记阶段:可达性分析算法 (一)基本思路 (二)GC Roots对象 四、对象的finalization机制 五、MAT与JProfiler的GC Roots溯源 六、清除阶段:…

C#,数值计算——插值和外推,多项式插值与外推插值(Poly_interp)的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 多项式插值与外推插值 /// Polynomial Interpolation and /// Extrapolation interpolation routines for one dimension /// </summary> public class Poly…