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

【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 请求的路由&#xff0c;绑定访问地址 /get 到 App\Controller\IndexController 的 …...

我们可以用微服务创建状态机吗?

大家好&#xff0c;我是锋哥。今天分享关于【我们可以用微服务创建状态机吗&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; 我们可以用微服务创建状态机吗&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 是的&#xff0c;微服务架构可…...

邦芒贴士:职场新人需远离的7种坏习惯

咱们每一个人都会有这样那样的毛病&#xff0c;而试用期就是试毛病的大小。对于职场新人来说&#xff0c;第一份工作很容易暴露这样那样的职业毛病。职业习惯直接决定了我们以后的职业发展&#xff0c;职业能力。对于职场新人来说&#xff0c;在试用期内&#xff0c;一些职场坏…...

面向医院的统一支付平台产品经验分享

我们面向医院的统一支付平台其实应该属于四方平台的范畴,依托于微信、支付宝等第三方支付平台和银联、银行等渠道生存。 二、医院常见系统说明: 先普及一下医院的系统情况: HIS(医院信息系统Hospital Information System):医院内的核心系统,为医院所属各部门提供病人诊…...

http作业

配置nginx服务通过ip访问多网站 1、前提配置 2、安装nginx服务 3、配置多IP 在linux主机上查看ip地址 4、定义nginx文件 5、在主机创建文件&#xff0c;重启nginx服务 6、测试...

AlDente Pro for Mac电脑 充电限制保护工具 安装教程【简单,轻松上手】

Mac分享吧 文章目录 AlDente Pro for Mac 充电限制保护工具 安装完成&#xff0c;软件打开效果一、AlDente Pro for Mac 充电限制保护工具 Mac电脑版——v1.28.41️⃣&#xff1a;下载软件2️⃣&#xff1a;安装软件&#xff0c;将安装包从左侧拖入右侧文件夹中&#xff0c;等…...

C语言数据结构之算法复杂度

目录 一、数据结构是什么 二、算法是什么 三、算法的效率 3.1 复杂度的概念 四、时间复杂度 4.1 大O渐进表示法 4.2 算法题分析 五、空间复杂度 5.1 复杂度对比 5.2 算法题题分析 正文开始 一、数据结构是什么 每个计算机专业的同学在大学都会接触到一门计算机必修课《数…...

HDU RSA

翻译成中文后&#xff1a; 思路&#xff1a;由题易得&#xff0c;d * e y * f ( n ) 1 ,且gcd ( e , f ( n ) ) 1,所以用扩展欧几里得求出 d &#xff0c;但要保证 d 是非负的&#xff0c;最有用快速幂求出每个字符即可。 #include<bits/stdc.h> using namespace std;…...

数据仓库建设 : 主题域简介

在数据仓库建设中&#xff0c;主题域是数据模型的一个重要概念&#xff0c;它帮助构建逻辑清晰、层次分明的数据结构。主题域的设计基于企业的业务结构&#xff0c;将业务中的关键部分提炼出来&#xff0c;划分为若干个主题域。每个主题域对应一个特定的业务领域&#xff0c;便…...

开源表单生成器OpnForm

什么是 OpnForm &#xff1f; OpnForm 是一个开源的表单构建工具&#xff0c;旨在简化创建自定义表单的过程&#xff0c;特别适合无编码知识的用户。它通过人工智能优化表单创建流程&#xff0c;支持多种用途&#xff0c;如联系人表单、调查表等。OpnForm 提供了一个直观的拖放…...

Zookeeper面试整理-Zookeeper的基础概念

Zookeeper的基础概念是理解其作为分布式协调服务的核心要素。以下是一些关键的基础概念: 1. Zookeeper是什么? Zookeeper 是一个开源的分布式协调服务,用于分布式应用中的配置管理、命名服务、分布式锁、集群管理等任务。它提供了一组简单的原语,帮助开发人员构建健壮的分布…...

验证archive_command配置是否正确

要验证 archive_command 配置是否正确&#xff0c;你可以按照以下步骤进行&#xff1a; ‌检查配置文件‌&#xff1a; 确保 postgresql.conf&#xff08;或你的 PostgreSQL 实例使用的任何自定义配置文件&#xff09;中的 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表格

首先先找到数据源&#xff0c;如上图。我们用的是excel表格。 这里你需要选择excel版本&#xff0c;反正你随便选&#xff0c;应该没什么问题的。 再导入数据 我们需要导入最后那个&#xff0c;也就是OLE DB Provider for SQL SERVER 只有这个才能导入到当前的数据库中 接下来…...

Vue学习笔记(三、v-cloak、v-text、v-html指令)

一、 v-cloak v-cloak 是 Vue.js 提供的一个特殊指令&#xff0c;用于在 Vue 实例准备完毕并开始进行 DOM 编译之前隐藏未编译的模板。它通常用于防止页面闪烁或者展示未编译的 Vue 模板语法。 你可以简单地在 HTML 元素上添加 v-cloak 指令&#xff0c;然后在确保 Vue…...

Java | Leetcode Java题解之第496题下一个更大元素I

题目&#xff1a; 题解&#xff1a; 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&#xff08;CVPR&#xff09; 2021PATHoBot: A Robot for Glasshouse Crop Phenotyping and Intervention 2023ORB-Livox: A real-time dynamic system for fruit detection and localization&#xff08;Com…...

JVS-APS智能排产后如何配置移动端扫码报工

报工是在工厂中&#xff0c;确定人员/产线按照计划执行后&#xff0c;提交生产结果数据&#xff0c;那么在APS 完成计划排产后&#xff0c;如何能便捷的报工&#xff0c;下面我们有JVS快速开发平台做了一个报工的应用&#xff0c;实现 aps-mes 之间 任务下发与任务结果反馈的整…...

突破网页资源提取困境:猫抓工具解密流媒体下载全攻略

突破网页资源提取困境&#xff1a;猫抓工具解密流媒体下载全攻略 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾为无法保存在线课程视频而…...

Postman实战指南:深入解析CORS预检请求与响应头配置

1. 为什么CORS会成为开发者的噩梦&#xff1f; 第一次遇到CORS问题时&#xff0c;我盯着浏览器控制台那个鲜红的报错信息整整发呆了十分钟。"Access-Control-Allow-Origin"这个看起来人畜无害的响应头&#xff0c;竟然能让整个前端应用瘫痪。后来才发现&#xff0c;这…...

终极CPU稳定性测试指南:CoreCycler单核心轮询测试完全教程

终极CPU稳定性测试指南&#xff1a;CoreCycler单核心轮询测试完全教程 【免费下载链接】corecycler Script to test single core stability, e.g. for PBO & Curve Optimizer on AMD Ryzen or overclocking/undervolting on Intel processors 项目地址: https://gitcode.…...

Jimeng LoRA效果对比:同一seed下不同Epoch生成图随机性与稳定性分析

Jimeng LoRA效果对比&#xff1a;同一seed下不同Epoch生成图随机性与稳定性分析 1. 项目简介&#xff1a;一个专为LoRA效果测试而生的工具 如果你玩过Stable Diffusion&#xff0c;肯定对LoRA不陌生。它是一种轻量化的模型微调方法&#xff0c;能在不改变基础大模型的情况下&…...

lingbot-depth-vitl14镜像兼容性说明:insbase-cuda124-pt250-dual-v7底座深度适配细节

lingbot-depth-vitl14镜像兼容性说明&#xff1a;insbase-cuda124-pt250-dual-v7底座深度适配细节 1. 引言&#xff1a;为什么你需要关注这个深度估计模型&#xff1f; 如果你正在做机器人、自动驾驶或者AR/VR相关的项目&#xff0c;肯定遇到过这样的问题&#xff1a;怎么让机…...

告别“直升机起飞”:用4张RTX 4090 DIY一台能放在工位旁的静音深度学习工作站

告别“直升机起飞”&#xff1a;用4张RTX 4090 DIY一台能放在工位旁的静音深度学习工作站 在深度学习研究的前沿领域&#xff0c;算力需求与日俱增&#xff0c;但商业级服务器的高昂价格和庞大体积往往让个人研究者望而却步。更令人困扰的是&#xff0c;传统多GPU工作站在满载…...

Pixel Couplet Gen 社区贡献指南:在CSDN分享你的使用心得与创意

Pixel Couplet Gen 社区贡献指南&#xff1a;在CSDN分享你的使用心得与创意 1. 为什么要分享你的使用经验 当你成功部署并体验了Pixel Couplet Gen后&#xff0c;可能会发现一些独特的用法或优化技巧。把这些经验分享出来&#xff0c;不仅能帮助其他开发者少走弯路&#xff0…...

从MAX30102项目实战出发:解决Keil5编译STM32时ARMCLANG和头文件缺失的连环坑

从MAX30102项目实战解析Keil5编译STM32的深度排坑指南 当你在深夜调试MAX30102血氧传感器时&#xff0c;Keil5突然弹出一连串编译器报错——这种经历对STM32开发者来说绝不陌生。本文将以真实项目为背景&#xff0c;拆解那些官方文档从未提及的编译陷阱。不同于常规操作手册&a…...

Java微服务在Istio中出现“偶发503 no healthy upstream”?7分钟定位Sidecar健康检查盲区与Liveness Probe冲突真相

第一章&#xff1a;Java微服务在Istio中偶发503问题的现象与影响在基于Istio构建的服务网格环境中&#xff0c;Java微服务&#xff08;尤其是采用Spring Cloud Kubernetes或原生Spring Boot Istio Sidecar部署模式&#xff09;频繁出现偶发性HTTP 503 Service Unavailable响应…...