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

2023-11-23 19:45

本文主要是介绍让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数据库,做好通信工程师和软件工程师交互的桥梁。

这篇关于让SOME/IP运转起来——SOME/IP系统设计(下)之数据库开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420300

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3