AutoSAR(基础入门篇)1.3-AutoSAR的概述

news2024/9/21 12:41:09

目录

一、到底什么是AutoSAR

1、大白话来讲

2、架构上来讲

应用软件层(APPL)

实时运行环境(RTE)

基础软件层(BSW)

3、工具链上来讲

二、AutoSAR的目标


一、到底什么是AutoSAR

1、大白话来讲

AUTOSAR 就是AUTomotive Open System ARchitecture的简称,中文翻译就是汽车开放系统架构

  • 再说直白一点就是:  将汽车电子控制单元(ECU)的软件底层做了一个标准的封装。使得大家都能共用一套底层软件,只需要修改其中的一些参数,就可以匹配不同硬件,也可以匹配不同的应用层软件。如此之后,用户只需要专心负责应用层与一些复杂驱动功能开发即可,底层都交给AutoSAR工程师(基础软件部门)就行了。
  • 更加容易理解但不是很准确的讲就是一套写的比较好的底层软件"。其实现了硬件驱动的封装(类似于STM32的库),实现了操作系统的功能。 用户只需要开发操作系统上层的软件应用即可(类似于基于安卓开发App)

2、架构上来讲

首先我们来看一张整体的架构图,以后我们会在这张图上细分和深入,添加细节来补充完整。首先就能看出AutoSAR主要分为3个层级:应用软件层 (AppL),实时运行环境(RTE)和基础软件层(BSW)

  • 应用软件层主要就是用来存放我们自己的代码的地方
  • 实时运行环境是提供应用层所需的资源,同时将应用层和底层隔离
  • 基础软件层是将硬件做封装,一直封装到一个标准的操作系统的状态,以便上层可以标准化调用系统服务,这里又分几个部分,马上将会讲到

上图中应用层和BSW层都比其他层大一些,这是因为它们两还可以再做细分,接下来我们看下面这张图,我们将应用层和基础软件层做了细分, 就这几层现在做分别的讨论:

应用软件层(APPL)

该层是由一个一个SWC组成的,每个SWC咱们可以理解为一个.c文件,而整个应用软件层就是一个文件夹。用下面这张图应该很好的说明了对应关 系:

1. 图中右边的工程只是为了大家理解建立的一个样板,与Vector的实际工程还有很大区别,将会在后续章节中讲到

2. composition SWC和其他更加详细的说明会在SWC章节中讲到

3. 可以看出:这里的整个工程就是我们的AutoSAR架构,而其中的AppL、RTE和BSW都分别对应一个文件夹,而我们的SWC组件就是一个一个 的.c文件(和.h)

实时运行环境(RTE)

做一个不太恰当的比喻:把BSW比作我们的windows系统,AppL就是开发的应用软件,而RTE更像是一个虚拟机,将上层应用和底层操作系统隔绝 开的同时,又兼容了不同厂商开发的软件。(实际上更像是电话转接员的工作,这里在后面讨论)

基础软件层(BSW)

基础软件层又分为4大部分:

1. 硬件抽象层(MCAL):可能用过STM32的童鞋应该都知道库的概念,硬件抽象层又叫MCAL,就是将芯片的寄存器操作都封装成一个AutoSAR

规定的统一的库Api。就是说这套Api是不同厂商都支持的,但是底层怎么实现,就是芯片厂商的事了。同时也有软件工具EB,可以通过界面配置

MCAL功能

2. ECU抽象层(ECU Abstraction Layer):如果说MCAL只封装了芯片,那么ECU抽象层就是将硬件上所有的硬件都进行了封装。比如我们的控制器上有一个主芯片英飞凌的

TC275,还有采样电路,电源电路,CAN电路等等。而MCAL就是封装了芯片上有的功能。而ECU抽象层就是将所有的这些都做一个统一的封 装。所以不管硬件是如何实现的,这里封装后,也形成了统一的Api

3. 服务层(Service Layer):这里有是更加高级的一层了,服务层里是包含操作系统(OS)的。OS将使用ECU抽象层的Api,再对上层暴露出服务接口,其实就是 嵌入式实时操作系统(RTOS)所作的工作。

4. 复杂驱动(CDD Complex Device Drivers):又叫做CDD,主要工作是将AutoSAR未定义的一些功能封装起来,给应用层提供接口来调用这些功能。(简单说就是其他的概念)

3、工具链上来讲

目前主要是2大流派:

  • MATLAB + DaVinci(国内主流,参考书籍有《基于AUTOSAR规范的车用电机控制器软件开发》)
  • MATLAB + ETAS(博世和联电主要用这个,参考书籍有《AUTOSAR规范与车用控制器软件开发》)
  • 其实国内也有一家做AutoSAR开发工具的,叫做恒润,可以稍微了解一下

这里我们就选国内常用的Matlab(MathWork) + DaVinci(Vector)来详细说明一下:

  • Matlab:

大家应该都很熟悉了,主要是用Simulink做代码生成的,就是我们的应用层软件就需要Matlab来开发,当然手写也是可以的,不过弊端就很多 了,这个看预算和需求吧

  • DaVinci Developer: 主要用来设计AppL的程序架构
  • DaVinci Configurator pro: 主要用来配置BSW和自动生成RTE的

  • EB Tresos: 主要用来配置MCAL的,可以兼容英飞凌和恩智浦的芯片
  • Vector还有其他的一系列的工具:比如Canoe、Canape等,这里就暂时略过

二、AutoSAR的目标

目标这个东西不是重点,这里就不长篇大论了,我通过一句话的总结一下: 建立一套优秀的软件底层代码,使得各大主机厂都能通用,同时使汽车软件开发更加标准化、规范化、安全化、快速化和经济化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1316611.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯地图绘画多边形和计算面积

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>地图</title></head><script src…

[论文笔记] GAMMA: A Graph Pattern Mining Framework for Large Graphs on GPU

GAMMA: A Graph Pattern Mining Framework for Large Graphs on GPU GAMMA: 基于 GPU 的针对大型图的图模式挖掘框架 [Paper] [Code] ICDE’23 摘要 提出了一个基于 GPU 的核外(out-of-core) 图模式挖掘框架(Graph Pattern Mining, GPM) GAMMA, 充分利用主机内存来处理大型图…

【Spark精讲】Spark五种JOIN策略

目录 三种通用JOIN策略原理 Hash Join 散列连接 原理详解 Sort Merge Join 排序合并连接 Nested Loop 嵌套循环连接 影响JOIN操作的因素 数据集的大小 JOIN的条件 JOIN的类型 Spark中JOIN执行的5种策略 Shuffle Hash Join Broadcast Hash Join Sort Merge Join C…

ffmpeg踩坑之手动编译报错Unrecognized option ‘preset‘及rtsp/rtmp推流

本文解决的问题记录&#xff1a; 报错1&#xff1a;Unrecognized option preset. Error splitting the argument list: Option not found 报错2&#xff1a;ERROR: x264 not found using pkg-config 报错3&#xff1a;ffmpeg: error while loading shared libraries: libavd…

【Linux】文件系统、文件系统结构、虚拟文件系统

一、文件系统概述 1. 什么是文件系统&#xff1f;2. 文件系统&#xff08;文件管理系统的方法&#xff09;的种类有哪些&#xff1f;3. 什么是分区&#xff1f;4. 什么是文件系统目录结构&#xff1f;5. 什么虚拟文件系统Virtual File System &#xff1f;6. 虚拟文件系统有什…

Unity中 URP Shader 的纹理与采样器的分离定义

文章目录 前言一、URP Shader 纹理采样的实现1、在属性面板定义一个2D变量用于接收纹理2、申明纹理3、申明采样器4、进行纹理采样 二、申明纹理 和 申明采样器内部干了什么1、申明纹理2、申明采样器 三、采样器设置采样器的传入格式1、纹理设置中&#xff0c;可以看见我们的采样…

〖大前端 - 基础入门三大核心之JS篇(55)〗- 内置对象

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩编程&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xff0c;目前在公司…

C# 获取Windows所有窗口句柄

写在前面 在做录屏或截屏操作时&#xff0c;需要获取当前正在运行中的桌面程序句柄&#xff0c;在网上查找资源的的时候&#xff0c;发现了一个工具类还不错&#xff0c;这边做个验证记录。 参考代码 public class WindowApi{//寻找目标进程窗口 [DllImport("USER…

前端桌面通知(Desktop Notifications)API

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

antd+vue:tree组件:父级节点禁止选择并不展示选择框——基础积累

antdvue:tree组件&#xff1a;父级节点禁止选择并不展示选择框——基础积累 1.判断哪些是父节点&#xff0c;给父节点添加disabled属性——this.permissionList是数据源2.通过css样式来处理disabled的父节点3.完整代码如下&#xff1a; 最近在写后台管理系统的时候&#xff0c;…

【linux】图形界面Debian的root用户登陆

图形界面Debian默认不允许以root用户登录。这是出于安全考虑&#xff0c;以防止用户使用root权限执行可能损害系统的操作。 如果需要使用root用户&#xff0c;可以通过以下步骤进行登录&#xff1a; 打开终端&#xff0c;使用su命令切换到root用户。修改/etc/gdm3/daemon.con…

2023年中国法拍房用户画像和数据分析

法拍房主要平台 法拍房主要平台有3家&#xff0c;分别是阿里、京东和北交互联平台。目前官方认定纳入网络司法拍卖的平台共有7家&#xff0c;其中阿里资产司法拍卖平台的挂拍量最大。 阿里法拍房 阿里法拍房数据显示2017年&#xff0c;全国法拍房9000套&#xff1b;2018年&a…

CentOS 7系统加固详细方案SSH FTP MYSQL加固

一、删除后门账户 修改强口令 1、修改改密码长度需要编译login.defs文件 vi /etc/login.defs PASS_MIN_LEN 82、注释掉不需要的用户和用户组 或者 检查是否存在除root之外UID为0的用户 使用如下代码&#xff0c;对passwd文件进行检索&#xff1a; awk -F : ($30){print $1) …

基于vue+element-plus+echarts制作动态绘图页面(柱状图,饼图和折线图)

前言 我们知道echarts是一个非常强大的绘图库&#xff0c;基于这个库&#xff0c;我们可以绘制出精美的图表。对于一张图来说&#xff0c;其实比较重要的就是配置项&#xff0c;填入不同的配置内容就可以呈现出不同的效果。 当然配置项中除了样式之外&#xff0c;最重要的就是…

Mr. Cappuccino的第66杯咖啡——解决MacOS中终端下的中文乱码问题

解决MacOS中终端下的中文乱码问题 中文乱码问题解决方法 中文乱码问题 解决方法 查看Mac使用的是哪个shell echo $SHELL我这里使用的是zsh&#xff0c;将配置添加到.zshrc配置文件中 vi ~/.zshrc 输入i进入编辑模式 esc退出编辑模式 :wq# UTF-8 export LANGen_US.UTF-8加载配…

k8s-1.23版本安装

一、主机初始化 1、修改主机名 hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node32、主机名解析 echo 192.168.1.200 master >> /etc/hosts echo 192.168.1.201 node1 >>…

CSS 基础

文章目录 CSS 常见的属性CSS 常见样式行内样式内嵌样式导入样式 CSS 选择器标签选择器id选择器类选择器全局选择器属性选择器组合选择器 CSS 常见应用表格列表导航栏下拉菜单提示工具图片廊 CSS (Cascading Style Sheets&#xff0c;层叠样式表&#xff09;&#xff0c;是一种用…

《工程数值计算Python教程》笔记

文章目录 [toc]第一章&#xff1a;绪论 1.1 1.1 1.1|数值计算在工程科学中的重要性 1.2 1.2 1.2|数值计算方法 1.3 1.3 1.3|程序设计盒图计算方法的选取减少运算次数避免相近的数相减 1.4 1.4 1.4|误差的来源、表示及传递误差的来源和分类模型误差观测误差截断误差舍入误差 误差…

【 某景点舆情分析:Python、Echarts、Flask、文本处理技术的应用】

某景点舆情分析&#xff1a;Python、Echarts、Flask、文本处理技术的应用 前言技术栈数据获取与准备景点数据统计分析评论数据处理与分析词频统计分词与文本处理情感分析 数据可视化Web应用搭建结语 前言 随着旅游行业的蓬勃发展&#xff0c;越来越多的人通过网络平台获取关于…

vue3 setup语法糖写法基本教程

前言 官网地址&#xff1a;Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)下面只讲Vue3与Vue2有差异的地方&#xff0c;一些相同的地方我会忽略或者一笔带过与Vue3一同出来的还有Vite&#xff0c;但是现在不使用它&#xff0c;等以后会有单独的教程使用。目前仍旧使用v…