当前位置: 首页 > 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…...

跨平台游戏引擎 Axmol-2.0.0 正式发布

下载 https://github.com/axmolengine/axmol/releases/tag/v2.0.0 更新日志 添加实验性的 WebAssembly 构建支持(WebGL 2.0)&#xff0c;由 nowasm 贡献 已知问题 WebGL context lost 尚未处理 部署在 github pages 的 demo 可快速预览&#xff0c;注意&#xff1a;由于 Git…...

面试总结归纳

面试总结 注&#xff1a;循序渐进&#xff0c;由点到面&#xff0c;从技术点的理解到项目中的使用&#xff0c; ​ 要让面试官知道&#xff0c;我所知道的要比面试官更多 一、Mybatis 为ORM半持久层框架&#xff0c;它封装了JDBC&#xff0c;开发时只需要关注sql语句就可以了…...

【刷题篇】贪心算法(一)

文章目录 分割平衡字符串买卖股票的最佳时机Ⅱ跳跃游戏钱币找零 分割平衡字符串 class Solution { public:int balancedStringSplit(string s) {int lens.size();int cnt0;int balance0;for(int i0;i<len;i){if(s[i]R){balance--;}else{balance;}if(balance0){cnt;}}return …...

从维基百科通过关键字爬取指定文本内容

通过输入搜索的关键字&#xff0c;和搜索页数范围&#xff0c;爬出指定文本内内容并存入到txt文档。代码逐行讲解。 使用re、res、BeautifulSoup包读取&#xff0c;代码已测&#xff0c;可以运行。txt文档内容不乱码。 import re import requests from bs4 import BeautifulS…...

pytorch代码实现之SAConv卷积

SAConv卷积 SAConv卷积模块是一种精度更高、速度更快的“即插即用”卷积&#xff0c;目前很多方法被提出用于降低模型冗余、加速模型推理速度&#xff0c;然而这些方法往往关注于消除不重要的滤波器或构建高效计算单元&#xff0c;反而忽略了特征内部的模式冗余。 原文地址&am…...

一文解析-通过实例讲解 Linux 内存泄漏检测方法

一、mtrace分析内存泄露 mtrace&#xff08;memory trace&#xff09;&#xff0c;是 GNU Glibc 自带的内存问题检测工具&#xff0c;它可以用来协助定位内存泄露问题。它的实现源码在glibc源码的malloc目录下&#xff0c;其基本设计原理为设计一个函数 void mtrace ()&#x…...

Spring Boot常用的参数验证技巧和使用方法

简介 Spring Boot是一个使用Java编写的开源框架&#xff0c;用于快速构建基于Spring的应用程序。在实际开发中&#xff0c;经常需要对输入参数进行验证&#xff0c;以确保数据的完整性和准确性。Spring Boot提供了多种方式来进行参数验证&#xff0c;并且可以很方便地集成到应…...

手机+卫星的科技狂想

最近硬件圈最火热的话题之一&#xff0c;应该就是突然上线、遥遥领先的华为Mate 60 Pro了。 其中&#xff0c;CPU和类5G网速是怎么实现的&#xff0c;是大家特别关注的问题。相比之下&#xff0c;卫星通话这个功能&#xff0c;讨论度就略低一些&#xff08;没有说不火的意思&am…...

便捷查询中通快递,详细物流信息轻松获取

在如今快节奏的生活中&#xff0c;快递已成为人们生活中不可或缺的一部分。然而&#xff0c;快递查询却常常让人头疼&#xff0c;因为需要分别在不同的快递公司官网上进行查询&#xff0c;耗费时间和精力。为了解决这个问题&#xff0c;固乔科技推出了一款便捷的快递查询助手&a…...

ARM接口编程—Interrupt(exynos 4412平台)

CPU与硬件的交互方式 轮询 CPU执行程序时不断地询问硬件是否需要其服务&#xff0c;若需要则给予其服务&#xff0c;若不需要一段时间后再次询问&#xff0c;周而复始中断 CPU执行程序时若硬件需要其服务&#xff0c;对应的硬件给CPU发送中断信号&#xff0c;CPU接收到中断信号…...

商城网站建设代理商/产品销售方案与营销策略

更多精彩内容请关注我们在群雄逐鹿的中国超融合&#xff08;HCI&#xff09;市场上&#xff0c;谁最具技术底蕴&#xff1f;谁又能与国际一线大厂竞争&#xff1f;谁能扛起新一代IT基础架构变革的大旗&#xff1f;Gartner给出了自己的解答。在Gartner最新发布的报告“Competiti…...

快速做网站服务好/深圳网络营销渠道

数据库批处理 批处理(batch)指的是一次操作中执行多条SQL语句&#xff0c;批处理相比于一次一次执行效率会提高很多。 批处理操作数据库的过程主要是分两步&#xff1a; 将要执行的SQL语句保存执行保存的SQL语句 如何实现批处理 Statement和PreparedStatement都支持批处理操…...

外网访问wordpress版式不对/百度关键词下拉有什么软件

链表 在内存空间中&#xff0c;数组和链表都是基本的数据结构&#xff0c;都是【表】&#xff0c;或者叫【线性表】。线性表是一个线性结构&#xff0c;它是一个含有n≥0个结点的有限序列&#xff0c;对于其中的结点&#xff0c;有且仅有一个开始结点没有前驱但有一个后继结点…...

什么叫做门户网站/网络科技

1、按顺序安装如下包&#xff1a;中文支持fonts-chinese-3.02-12.el5.noarch.rpmm17n-db-common-cjk-1.3.3-46.el5.noarch.rpmm17n-db-chinese-1.3.3-46.el5.noarch.rpm中文输入法scim-libs-1.4.4-39.el5.i386.rpmscim-1.4.4-39.el5.i386.rpmscim-chinese-standard-0.0.2-1.el5…...

微信网站开发平台/一个产品营销策划方案

解决vscode出现两个光标的问题参考文章&#xff1a; &#xff08;1&#xff09;解决vscode出现两个光标的问题 &#xff08;2&#xff09;https://www.cnblogs.com/huahuayu/p/12235244.html 备忘一下。...

东莞网站建设服务/营销新闻

在函数内部&#xff0c;可以调用其他函数。如果一个函数在内部调用自身本身&#xff0c;这个函数就是递归函数。举个例子&#xff0c;我们来计算阶乘n! 1 * 2 * 3 * ... * n&#xff0c;用函数fact(n)表示&#xff0c;可以看出&#xff1a;fact(n) n! 1 x 2 x 3 x ... x (n-…...