当前位置: 首页 > news >正文

1-3 AUTOSAR软件架构

目录

一、简介

二、基础软件层 BSW

2.1 微控制器抽象层

2.2 ECU抽象层

2.3 复杂的驱动程序

2.4 服务层

三、运行时环境 RTE

四、应用软件层 SWC


一、简介

        分层架构是实现软硬件分离的关键,它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时对硬件系统的依赖。

        AUTOSAR架构在最高的抽象级别上区分了三个软件层:

  • 应用程序层(APPL)
  • 运行时环境(RTE)
  • 在微控制器上运行的基础软件层(BSW)

        为保证上层与下层的无关性,在通常情况下,每一层只能使用下一层所提供的接口,并向上一层提供相应的接口。

        而基础软件层可以进一步划分为以下四部分:

  • 服务层
  • ECU抽象
  • 微控制器抽象
  • 复杂驱动程序

        基本的软件层被进一步划分为功能组。其中基础软件层提供的服务实例有系统服务、存储服务、加密服务、通信服务。

二、基础软件层 BSW

2.1 微控制器抽象层

        微控制器抽象层是基本软件中最低的软件层。它包含内部驱动程序,这是一种可以直接访问µC和内部外设的软件模块。

        目的是使更高的软件层独立于具体的微控制器硬件。

2.2 ECU抽象层

ECU抽象层与微控制器抽象层的驱动器进行接口。它还包含了用于外部设备的驱动程序。它提供了一套标准的API,用于访问外围设备和设备,而不管这些设备的具体位置(微控制器内部/外部)以及它们与微控制器的连接(端口引脚、接口类型)。

目的是使更高的软件层独立于ECU的硬件布局。

2.3 复杂的驱动程序

        复杂驱动程序层从硬件扩展到RTE。提供集成特殊用途功能的功能模块,例如,没有在AUTSOAR中指定的设备驱动程序;或是对实行性有较高要求的功能等。

2.4 服务层

        服务层是基本软件的最高层,为应用程序、RTE和基本软件模块提供基本服务。

        虽然对I/O信号的访问由ECU抽象层覆盖,但服务层提供:

  1. 操作系统功能
  2. 车辆网络通信和网络管理服务
  3. 存储服务
  4. 诊断服务(包括UDS通信、错误记忆和故障处理)
  5. ECU状态管理、模式管理
  6. 逻辑和时间上的程序流监控(Wdg管理器)

三、运行时环境 RTE

        运行时环境RTE是为应用软件提供通信服务的层。在RTE之上,软件架构风格从“分层”转变为“组件风格”。而RTE为AUTOSAR应用层软件组件间、软件组件与基础软件层间、基础软件各模块之间提供通信通信服务。

        RTE的存在使得软件组件可以独立与具体的ECU进行平台化系统设计,最后再将软件组件映射到特定的ECU上运行。

四、应用软件层 SWC

        应用软件层主要由一个一个SWC组成的,其中的SWC分为两类:

  • 原子软件组件(compoment SWC):可以理解为一个.c文件上实现的模块功能,上边实现了多个具体的函数
  • 非原子软件组件(composition SWC):有原子软件组件组成,可以理解为一个较大的功能集,放置在同一个文件夹中的应用软件。

相关文章:

1-3 AUTOSAR软件架构

目录 一、简介 二、基础软件层 BSW 2.1 微控制器抽象层 2.2 ECU抽象层 2.3 复杂的驱动程序 2.4 服务层 三、运行时环境 RTE 四、应用软件层 SWC 一、简介 分层架构是实现软硬件分离的关键,它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时…...

Dajngo02_第一个Django案例

Dajngo02_第一个Django案例 经过之前学习,我们已经可以创建Django环境 现在开始尝试快速使用Django开发一个案例 案例:利用Django实现一个查看当前时间的web页面。 在django中要提供数据展示给用户,一般情况下我们需要完成3个步骤: 在urls.…...

R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...

全文链接:https://tecdat.cn/?p33609 Reaven和Miller(1979)研究了145名非肥胖成年人的葡萄糖耐量和胰岛素血液化学指标之间的关系。他们使用斯坦福线性加速器中心的PRIM9系统将数据可视化为3D,并发现了一个奇特的图案&#xff0c…...

有效回文字符串(Valid palindrome)

题目描述 思路分析 代码实践 java: public class Solutation1 {//定义一个方法,判断是否是有效数字或者字母private static boolean isValid(char c) {//如果不是字母或者数字,那就返回一个flase//这里调用了Character类里面的方法return Character.i…...

9月9日,每日信息差

今天是2023年9月9日,以下是为您准备的12条信息差 第一、前晨汽车动力电池项目落地厦门,第二十届中国国际投资贸易洽谈会于2023年9月8日在福建省厦门市开幕。会上,前晨汽车科技有限公司与福建省厦门市集美区进行了前晨汽车动力电池项目签约&a…...

Java——》synchronized编译

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

vue3使用el-form实现登录、注册功能,且进行表单验证(Element Plus中的el-form)

简介:Element Plus 中的 el-form 是一个表单组件,用于快速构建表单并进行数据校验。它提供了丰富的表单元素和验证规则,使表单开发变得更加简单和高效。可以搭配el-dialog实现当前页面的登录、注册页 ,这两天在vue3中用到了表单登…...

12个微服务架构模式最佳实践

微服务架构是一种软件开发技术,它将大型应用程序分解为更小的、可管理的、独立的服务。每个服务负责特定的功能,并通过明确定义的 API 与其他服务进行通信。微服务架构有助于实现软件系统更好的可扩展性、可维护性和灵活性。 接下来,我们将介…...

快速搭建:对象存储平台MinIO

简介:MinIO 是一个高性能的对象存储服务器,兼容Amazon S3云存储服务。适用于大数据存储和用于构建私有云的场景。作为一个对象存储服务,它基于Apache License 开源协议,兼容Amazon S3云存储接口。适合存储非结构化数据&#xff0c…...

Nomad 系列-Nomad+Traefik+Tailscale 集成实现零信任安全

系列文章 Nomad 系列文章Traefik 系列文章Tailscale 系列文章 概述 终于到了令人启动的环节了:NomadTraefikTailscale 集成实现零信任安全。 在这里: Nomad 负责容器调度;(容器编排工具)Traefik 负责入口流量&…...

(二十一)大数据实战——Flume数据采集之复制和多路复用案例实战

前言 本节内容我们完成Flume数据采集的一个多路复用案例,使用三台服务器,一台服务器负责采集本地日志数据,通过使用Replicating ChannelSelector选择器,将采集到的数据分发到另外俩台服务器,一台服务器将数据存储到hd…...

VM安装RedHat7虚机ens33网络不显示IP问题解决

1、今天在VMware中安装RedHat7.4虚拟机,网络连接使用的是 NAT 连接方式,刚开始安装成功之后输入ifconfig 还能看到ens33自动分配的IP地址,但是当虚机关机重启后,再查看IP发现原来的ens33网络已经没有了,只变成了这两个…...

Leetcode 第 362 场周赛题解

Leetcode 第 362 场周赛题解 Leetcode 第 362 场周赛题解题目1:2848. 与车相交的点思路代码复杂度分析 题目2:2849. 判断能否在给定时间到达单元格思路代码复杂度分析 题目3:2850. 将石头分散到网格图的最少移动次数思路代码复杂度分析 题目4…...

蓝桥杯官网练习题(0的个数)

问题描述 给定一个正整数 n ,请问 n 的十进制表示中末尾总共有几个 0 ? 输入格式 输入一行包含一个正整数 n。 输出格式 输出一个整数,表示答案。 样例输入 20220000样例输出 4评测用例规模与约定 对于所有评测用例,1 &l…...

计算线段上距离线段外某一点最近的点

一、问题 已知 p 0 = ( x 0 , y 0 ) p_0=(x_0, y_0) p...

港联证券股票分析:经济拐点显现 积极提升仓位

港联证券指出,商场底部上升的方向不变,当时稳增加和活跃资本商场的活跃方针仍在持续落地,一起也看到了一些经济数据边沿企稳的迹象,跟着方针作用的进一步闪现,商场情绪有望持续好转,上市公司基本面也有望得…...

不同的图像质量评价指标(IQA)

一、NR-IQA 这是一种方法不是指标 “Non-Reference Image Quality Assessment”(NR-IQA)是一种图像质量评价(Image Quality Assessment, IQA)方法,通常用于评估图像的质量,而无需使用参考图像(…...

linux命令-tar 命令

tar 命令 tar 命令一般用来打包文件 ,文件夹 , 方便传输使用. tar命令是在Linux和UNIX系统上用于创建、查看和提取tar归档文件的工具。它通常与gzip一起使用,以便在创建归档文件时进行压缩或解压缩。 -c: 创建归档文件 -x: 提取文件 -z: 告诉 tar 命令使用 gzip …...

selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

1、异常原因 在编写ui自动化时&#xff0c;执行报错元素无法点击&#xff1a;ElementClickInterceptedException 具体报错&#xff1a;selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class"el-c…...

05_css选择器的使用

一、css选择器的类型 1、标签选择器 用法&#xff1a;直接写 写标签名&#xff1a;标签名{} 示例&#xff1a; <!-- <!DOCTYPE html --> <html><head><meta charset"utf-8"><title>标签选择器</title><style type"te…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...