【AUTOSAR标准文档】AotuSar结构横向分层详解(RTE、BSW)
Top view
The AUTOSAR Architecture distinguishes on the highest abstraction level between three software layers: Application, Runtime Environment and Basic Software which run on a Microcontroller.
译文:AUTOSAR架构在最高抽象层次上将软件分为三层:运行在微控制器上的应用层、运行环境层和基础软件层。

Coarse view
The AUTOSAR Basic Software is further divided in the layers: Services, ECU Abstraction, Microcontroller Abstraction and Complex Drivers.
译文: AUTOSAR基础软件进一步细分为以下几个层次:服务层、ECU抽象层、微控制器抽象层和复杂驱动层。
The Basic Software Layers are further divided into functional groups. Examples of Services are System, Memory and Communication Services.
译文:基础软件层进一步被划分为不同的功能组。服务的例子包括系统服务、内存服务和通信服务。
Detailed view

Microcontroller Abstraction Layer
The Microcontroller Abstraction Layer is the lowest software layer of the Basic Software.
It contains internal drivers, which are software modules with direct access to the µC and internal peripherals.
Task
Make higher software layers independent of µC
Properties
Implementation: µC dependent Upper
Interface: standardized and µC independent
译文:
微控制器抽象层是基础软件的最低层。
它包含内部驱动程序,这些驱动程序是能够直接访问微控制器(µC)及其内部外设的软件模块。
任务:
使更高的软件层与微控制器(µC)保持独立。
特性:
- 实现:依赖于微控制器(µC)的上层(此处“Upper”可能指的是该层之上的软件层或接口,即该层的实现是依赖于µC的,但其为上层提供了与µC无关的接口)。
注意:在“Properties”下的“Implementation: µC dependent Upper”这句话中,“Upper”一词可能有些含糊,因为通常我们不会这样描述一个层的实现。但根据上下文,这里可能是指该层(微控制器抽象层)的实现是依赖于微控制器的,并且它为上层软件提供了与微控制器无关的接口。为了更准确地表达,我们可以稍作调整,但保留原意:该层的实现依赖于微控制器,但其提供的接口是标准化的,与微控制器无关。

ECU Abstraction Layer
The ECU Abstraction Layer interfaces the drivers of the Microcontroller Abstraction Layer. It also contains drivers for external devices.
It offers an API for access to peripherals and devices regardless of their location (µC internal/external) and their connection to the µC (port pins, type of interface)
Task
Make higher software layers independent of ECU hardware layout
Properties
Implementation: µC independent, ECU hardware dependent Upper
Interface: µC and ECU hardware independen
译文:
ECU抽象层与微控制器抽象层的驱动程序进行接口连接,并且它还包含用于外部设备的驱动程序。
它提供了一个应用程序接口(API),用于访问外设和设备,无论这些外设和设备位于何处(微控制器内部/外部)以及它们与微控制器的连接方式(端口引脚、接口类型)如何。
任务:
使更高的软件层独立于ECU硬件布局。
特性:
- 实现:与微控制器无关,但与ECU硬件相关(上层,即该层之上的软件层或接口与该层提供的接口进行交互时,无需关心ECU硬件的具体实现)。
- 接口:与微控制器和ECU硬件无关(即该层提供的接口是标准化的,不依赖于特定的微控制器或ECU硬件)。
注意:在描述软件架构时,“实现”通常指的是软件层或组件的具体实现方式,而“接口”则指的是这些层或组件之间如何进行交互的规范或协议。在这里,“实现:µC independent, ECU hardware dependent Upper”意味着ECU抽象层的实现不依赖于特定的微控制器,但确实依赖于ECU硬件的某些方面(例如,ECU上的外设和设备的类型、连接方式等)。同时,“接口:µC and ECU hardware independent”则表明该层提供的接口是标准化的,不依赖于特定的微控制器或ECU硬件,从而允许更高的软件层以统一的方式与外设和设备进行交互。

Complex Drivers
The Complex Drivers Layer spans from the hardware to the RTE.
Task
Provide the possibility to integrate special purpose functionality, e.g. drivers for devices:
① which are not specified within AUTOSAR,
② with very high timing constrains or
③ for migration purposes etc.
Properties
Implementation: might be application, µC and ECU hardware dependent Upper
Interface: might be application, µC and ECU hardware dependent
译文:
复杂驱动层跨越硬件到运行时环境(RTE)的范围。
任务:
提供集成特定功能(例如设备驱动程序)的可能性,这些设备包括:
① 在AUTOSAR规范中未指定的设备,
② 具有极高时间约束的设备,
③ 或出于迁移目的等所需的设备。
特性:
- 实现:可能依赖于应用程序、微控制器(µC)和ECU硬件(上层,即该层之上的软件层或接口与该层提供的接口进行交互时,可能会受到应用程序、微控制器和ECU硬件的影响)。
- 接口:可能依赖于应用程序、微控制器(µC)和ECU硬件(即该层提供的接口可能会因应用程序、微控制器和ECU硬件的不同而有所变化)。
需要注意的是,复杂驱动层的存在是为了处理那些不在AUTOSAR标准范围内的、具有特殊需求的设备。因此,它的实现和接口可能会更加灵活,以适应这些特殊设备的需求。同时,这也意味着在使用复杂驱动层时,需要更加谨慎地考虑其与其他软件层之间的交互和依赖关系。

Services Layer
The Services Layer is the highest layer of the Basic Software which also applies for its relevance for the application software: while access to I/O signals is covered by the ECU Abstraction Layer, the Services Layer offers:
① Operating system functionality
② Vehicle network communication and management services
③ Memory services (NVRAM management)
④ Diagnostic Services (including UDS communication, error memory and fault treatment)
⑤ ECU state management, mode management
⑥ Logical and temporal program flow monitoring (Wdg manager)
Task
Provide basic services for applications, RTE and basic software modules.
Properties
Implementation: mostly µC and ECU hardware independent Upper Interface: µC and ECU hardware independent
译文:
服务层是基础软件的最高层,同时也因其对应用软件的重要性而备受关注。虽然ECU抽象层负责处理I/O信号的访问,但服务层则提供了以下功能:
① 操作系统功能
② 车辆网络通信和管理服务
③ 内存服务(NVRAM管理)
④ 诊断服务(包括UDS通信、错误内存和故障处理)
⑤ ECU状态管理、模式管理
⑥ 程序流程的逻辑和时间监控(看门狗管理器)
任务:
为应用、运行时环境(RTE)和基础软件模块提供基本服务。
特性:
- 实现:大多与微控制器(µC)和ECU硬件无关(上层,即该层之上的软件层或接口与该层提供的接口进行交互时,无需关心微控制器和ECU硬件的具体实现)。
- 接口:与微控制器(µC)和ECU硬件无关(即该层提供的接口是标准化的,不依赖于特定的微控制器或ECU硬件)。
服务层作为基础软件的顶层,为应用软件和其他软件组件提供了必要的服务和支持,确保了整个AUTOSAR架构的稳定性和可靠性。

AUTOSAR Runtime Environment (RTE)
The RTE is a layer providing communication services to the application software (AUTOSAR Software Components and/or AUTOSAR Sensor/Actuator components).
Above the RTE the software architecture style changes from “layered“ to “component style“.
The AUTOSAR Software Components communicate with other components (inter and/or intra ECU) and/or services via the RTE.
Task
Make AUTOSAR Software Components independent from the mapping to a specific ECU.
Properties
Implementation: ECU and application specific (generated individually for each ECU)
Upper Interface: completely ECU independent
译文:
运行时环境(RTE)是一个为应用软件(AUTOSAR软件组件和/或AUTOSAR传感器/执行器组件)提供通信服务的层。
在RTE之上,软件架构风格从“分层式”转变为“组件式”。
AUTOSAR软件组件通过RTE与其他组件(ECU内部和/或ECU之间)和/或服务进行通信。
任务:
使AUTOSAR软件组件独立于特定ECU的映射。
特性:
- 实现:针对ECU和应用具有特异性(为每个ECU单独生成)。
- 上层接口:完全独立于ECU。
运行时环境(RTE)作为连接AUTOSAR软件组件与底层硬件及服务的桥梁,确保了软件组件的可移植性和可重用性。通过RTE,软件组件可以在不同的ECU上运行,而无需关心底层硬件的具体实现,从而提高了软件开发的效率和灵活性。

相关文章:
【AUTOSAR标准文档】AotuSar结构横向分层详解(RTE、BSW)
Top view The AUTOSAR Architecture distinguishes on the highest abstraction level between three software layers: Application, Runtime Environment and Basic Software which run on a Microcontroller. 译文:AUTOSAR架构在最高抽象层次上将软件分为三层&…...
新 Chrome 插件可检测 AI 伪造声音;Canary Speech 推出用于临床对话的语音分析技术丨 RTE 开发者日报
开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…...
1. 路由定义
1. 通过配置文件形式 配置方式与laravel的配置方式相似 <?php use Hyperf\HttpServer\Router\Router;Router::get(/hello-hyperf, function () {return Hello Hyperf.; });// 设置一个 GET 请求的路由,绑定访问地址 /get 到 App\Controller\IndexController 的 …...
我们可以用微服务创建状态机吗?
大家好,我是锋哥。今天分享关于【我们可以用微服务创建状态机吗?】面试题?希望对大家有帮助; 我们可以用微服务创建状态机吗? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 是的,微服务架构可…...
邦芒贴士:职场新人需远离的7种坏习惯
咱们每一个人都会有这样那样的毛病,而试用期就是试毛病的大小。对于职场新人来说,第一份工作很容易暴露这样那样的职业毛病。职业习惯直接决定了我们以后的职业发展,职业能力。对于职场新人来说,在试用期内,一些职场坏…...
面向医院的统一支付平台产品经验分享
我们面向医院的统一支付平台其实应该属于四方平台的范畴,依托于微信、支付宝等第三方支付平台和银联、银行等渠道生存。 二、医院常见系统说明: 先普及一下医院的系统情况: HIS(医院信息系统Hospital Information System):医院内的核心系统,为医院所属各部门提供病人诊…...
http作业
配置nginx服务通过ip访问多网站 1、前提配置 2、安装nginx服务 3、配置多IP 在linux主机上查看ip地址 4、定义nginx文件 5、在主机创建文件,重启nginx服务 6、测试...
AlDente Pro for Mac电脑 充电限制保护工具 安装教程【简单,轻松上手】
Mac分享吧 文章目录 AlDente Pro for Mac 充电限制保护工具 安装完成,软件打开效果一、AlDente Pro for Mac 充电限制保护工具 Mac电脑版——v1.28.41️⃣:下载软件2️⃣:安装软件,将安装包从左侧拖入右侧文件夹中,等…...
C语言数据结构之算法复杂度
目录 一、数据结构是什么 二、算法是什么 三、算法的效率 3.1 复杂度的概念 四、时间复杂度 4.1 大O渐进表示法 4.2 算法题分析 五、空间复杂度 5.1 复杂度对比 5.2 算法题题分析 正文开始 一、数据结构是什么 每个计算机专业的同学在大学都会接触到一门计算机必修课《数…...
HDU RSA
翻译成中文后: 思路:由题易得,d * e y * f ( n ) 1 ,且gcd ( e , f ( n ) ) 1,所以用扩展欧几里得求出 d ,但要保证 d 是非负的,最有用快速幂求出每个字符即可。 #include<bits/stdc.h> using namespace std;…...
数据仓库建设 : 主题域简介
在数据仓库建设中,主题域是数据模型的一个重要概念,它帮助构建逻辑清晰、层次分明的数据结构。主题域的设计基于企业的业务结构,将业务中的关键部分提炼出来,划分为若干个主题域。每个主题域对应一个特定的业务领域,便…...
开源表单生成器OpnForm
什么是 OpnForm ? OpnForm 是一个开源的表单构建工具,旨在简化创建自定义表单的过程,特别适合无编码知识的用户。它通过人工智能优化表单创建流程,支持多种用途,如联系人表单、调查表等。OpnForm 提供了一个直观的拖放…...
Zookeeper面试整理-Zookeeper的基础概念
Zookeeper的基础概念是理解其作为分布式协调服务的核心要素。以下是一些关键的基础概念: 1. Zookeeper是什么? Zookeeper 是一个开源的分布式协调服务,用于分布式应用中的配置管理、命名服务、分布式锁、集群管理等任务。它提供了一组简单的原语,帮助开发人员构建健壮的分布…...
验证archive_command配置是否正确
要验证 archive_command 配置是否正确,你可以按照以下步骤进行: 检查配置文件: 确保 postgresql.conf(或你的 PostgreSQL 实例使用的任何自定义配置文件)中的 archive_command 已经设置为你想要的命令。 重启 …...
2024.10.19小米笔试题解
第一题数独计数 考虑dfs遍历所有情况 n = int(input())def check(grid, x, y, v):dx = [1, 0, -1, 0]dy = [0, 1, 0, -1]for i in range(4):nx, ny = x + dx[i], y + dy[i]if 0 <= nx < 3 and 0 <= ny < 3:if grid[nx][ny] == 0:continueif abs(grid[nx][ny] - v…...
SQL-SERVER导入excel表格
首先先找到数据源,如上图。我们用的是excel表格。 这里你需要选择excel版本,反正你随便选,应该没什么问题的。 再导入数据 我们需要导入最后那个,也就是OLE DB Provider for SQL SERVER 只有这个才能导入到当前的数据库中 接下来…...
Vue学习笔记(三、v-cloak、v-text、v-html指令)
一、 v-cloak v-cloak 是 Vue.js 提供的一个特殊指令,用于在 Vue 实例准备完毕并开始进行 DOM 编译之前隐藏未编译的模板。它通常用于防止页面闪烁或者展示未编译的 Vue 模板语法。 你可以简单地在 HTML 元素上添加 v-cloak 指令,然后在确保 Vue…...
Java | Leetcode Java题解之第496题下一个更大元素I
题目: 题解: class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {Map<Integer, Integer> map new HashMap<Integer, Integer>();Deque<Integer> stack new ArrayDeque<Integer>();for (int i num…...
【ArcGIS微课1000例】0125:ArcGIS矢量化无法自动完成面解决方案
文章目录 一、坐标系统问题二、正确使用自动完成面工具一、坐标系统问题 1. 数据库坐标系 arcgis矢量化的过程中,无法自动完成面,可能是因为图层要素没有坐标系造成的。双击数据库打开数据库属性,可以查看当前数据框的坐标系。 2. 图层坐标系 双击图层,打开图层属性,切…...
slam技术支持下的果园作物估产论文汇总
文章目录 2019ROLS : Robust Object-level SLAM for grape counting(CVPR) 2021PATHoBot: A Robot for Glasshouse Crop Phenotyping and Intervention 2023ORB-Livox: A real-time dynamic system for fruit detection and localization(Com…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
