Autosar 开篇

背景

AUTOSAR(Automotive Open System Architecture)是一个跨汽车行业的标准化软件架构,旨在促进汽车电子系统的开发和部署。下面是AUTOSAR发展的一些关键点:

  1. 起源和背景: AUTOSAR最初于2003年由汽车制造商宝马、戴姆勒克莱斯勒、福特和供应商博世联合发起,旨在应对汽车电子系统日益复杂的挑战。这些挑战包括不断增长的软件代码量、硬件和软件之间的紧密耦合,以及不同汽车制造商之间的差异化。

  2. 标准化软件架构: AUTOSAR致力于建立一个标准化的汽车软件架构,以便不同汽车制造商和供应商可以共享和重用软件组件。这意味着开发一次,部署多次,有助于降低开发成本和时间。

  3. 架构和标准: AUTOSAR定义了软件架构、通信协议、应用接口等方面的标准,以支持汽车电子系统的开发和集成。其中,最重要的是AUTOSAR架构,它提供了一个分层的软件体系结构,包括应用层、运行时环境、基础设施层等,以及与硬件无关的通信协议。

  4. 增强功能和适应性: 随着时间的推移,AUTOSAR标准不断发展和演进,以适应汽车行业的变化和需求。这包括增强对新技术(如自动驾驶、电动汽车)的支持,提高架构的灵活性和可配置性,以及加强安全性和可靠性。

  5. 全球化采用: AUTOSAR已成为全球范围内汽车电子系统开发的主要标准之一,得到了许多汽车制造商、供应商和软件开发商的采用。许多汽车公司都在其车辆中使用AUTOSAR标准,以确保软件的可重用性和互操作性。

AUTOSAR(Automotive Open System Architecture)是一种跨汽车行业的标准化软件架构,旨在促进汽车电子系统的开发、部署和管理。下面是AUTOSAR的概述

1. 目标和原则:
  • 标准化: AUTOSAR旨在建立一个统一的汽车软件平台,使不同制造商和供应商能够共享和重用软件组件,从而降低开发成本和时间。
  • 模块化: AUTOSAR鼓励模块化设计和开发,使得软件组件可以独立开发、测试和部署。
  • 可扩展性: AUTOSAR提供了一种可扩展的软件架构,支持汽车电子系统的不断演进和增强功能。
  • 硬件无关性: AUTOSAR的设计考虑了与硬件无关的特性,使得软件能够在不同的硬件平台上运行。

2. 架构和组成:
  • 应用层(Application Layer): 包含车辆的应用软件,如引擎控制、传感器管理等,业务代码。
  • 运行时环境(Runtime Environment): 提供运行时支持,包括任务管理、内存管理、时间管理等,起到与底层操作进行隔离作用,上层与下层通信,都需要经过RTE。
  • 基础软件层(BSW Layer): 提供基础设施支持,如通信栈、诊断模块、ECU管理等。
  • 复杂设备驱动(Complex Device Drivers): 用于与复杂硬件设备(如传感器、执行器)进行通信。

3. 核心概念:
  • 软件组件(Software Component): 可独立开发、测试和部署的软件单元。
  • 服务接口(Service Interface): 描述软件组件之间的通信接口,包括客户端接口和服务器接口。
  • 通信接口(Communication Interface): 描述ECU之间的通信协议和数据交换格式。
  • 配置描述(Configuration Description): 描述软件组件、服务接口和通信接口之间的关系和配置信息。
4. 标准化和规范:
  • AUTOSAR标准:AUTOSAR联盟制定了一系列的技术规范和标准,涵盖了软件架构、通信协议、接口规范等方面。
  • 工具链支持:为了支持AUTOSAR开发,提供了各种工具链,包括配置工具、仿真工具、代码生成工具等。
5. 应用领域:
  • 汽车电子系统:AUTOSAR广泛应用于汽车电子控制单元(ECU),包括引擎控制、传感器管理、车载娱乐系统等。
  • 汽车网络:AUTOSAR定义了一套标准的通信协议,支持在不同ECU之间进行数据交换和通信。

AUTOSAR的发展标志着汽车行业朝着更加标准化、模块化和可重用的方向发展,为未来汽车技术的创新和发展奠定了基础。

工具链

  • MATLAB +DaVinci(国内主流,参考书籍有《基于AUTOSAR规范的车用电机控制器软件开发》)

  • MATLAB+ ETAS(博世和联电主要用这个,参考书籍有《AUTOSAR规范与车用控制器软件开发》)

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

  • 在这里插入图片描述

  • DaVinci Developer:主要用来设计AppL的程序架构

  • DaVinci Configurator pro:主要用来配置BSW和自动生成RTE的

  • 在这里插入图片描述

  • EB Tresos:主要用来配置MCAL的,可以兼容英飞凌、瑞萨、恩智浦的芯片

接下来会介绍Appl、BSW、MCAL这几部分,并会选择NXP和infineon做一些小功能实操。

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

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

相关文章

从私人客户转变为教练会员网站

教练和顾问可以做出的最令人兴奋的转变之一就是通过教练会员网站扩大业务规模。 一对多优惠的类型有很多种,但与任何其他选择相比,教练和顾问的会员资格拥有最多的机会和灵活性,可以与你和你的客户一起发展。 世界正在转向更容易获得和更…

Peter算法小课堂—动态规划

Peter来啦,好久没有更新了呢 今天,我们来讨论讨论提高组的动态规划。 动态规划 动态规划有好多经典的题,有什么背包问题、正整数拆分、杨辉三角……但是,如果考到陌生的题,怎么办呢?比如说2000年提高组的…

AD24-Gerber生产文件输出及整理

一、Gerber生产文件输出 1、先进行规则检查 2、Gerber Files输出 3、钻孔文件 4、IPC网表 5、坐标文件 二、Gerber Flies文件整理 1、CAM 2、SMT 3、ASM 4、PRJ 5、DXF

ubuntu安装gptsovits

我看到社区有人需要,刚好我自己也要安装个ubuntu的用在自己的4090服务器上玩一玩。 于是就写一篇这样的教程。但是我只需要他的api推理,用于测试4090合成速度。所以这里只执行Python api.py 环境 1.首先下载整合包,里面有个nltk_data,拿出来…

Jmeter之单接口的性能测试

前言: 服务端的整体性能测试是一个非常复杂的概念,包含生成虚拟用户,模拟并发,分析性能结果等各种技术,期间可能还要解决设计场景、缓存影响、第三方接口mock、IP限制等问题。如何用有限的测试机器,在测试环…

Mysql 连接最近经常报超时

原因 怀疑是某个服务频繁调用mysql操作,导致linux buff/cache 过大 # 通过下列命令查看 free -h解决方案 临时解决方案: 可以通过写入 /proc/sys/vm/drop_caches 来释放缓存。这是一个临时的操作,内核会在需要时再次填充缓存 # 释放缓存 sync; echo 3 > /proc/…

【C语言】详解计算机二级c语言程序题

文章目录 前言资料相关程序题 一(字符串)程序题 二(数组)程序题 三(基础)程序题 四(结构体)程序题 五(结构体)程序题 六(基础) 前言 …

leetcode:491.递增子序列

1.误区:不能直接对数组排序再求解子集,因为那样就改变了原有数组的顺序 2.树形结构:一个一个取数,然后保证是递增序列,且不能重复。(数层上不可以重复取,树枝上可以重复取)收集的结…

[设计模式Java实现附plantuml源码~行为型]对象间的联动~观察者模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

【大模型 数据增强】IEPILE:基于模式的指令生成解法,提高大模型在信息抽取任务上的性能

IEPILE:基于模式的指令生成解法,提高大模型在信息抽取任务上的性能 提出背景基于模式的指令生成解法效果 提出背景 论文:https://arxiv.org/pdf/2402.14710.pdf 代码:https://github.com/zjunlp/IEPile 2024年02月发布了一个大…

MySQL锁三部曲:临键、间隙与记录的奇妙旅程

欢迎来到我的博客,代码的世界里,每一行都是一个故事 MySQL锁三部曲:临键、间隙与记录的奇妙旅程 前言临键锁的奥秘间隙锁记录锁 前言 在数据库世界中,锁是维护数据完整性的一种关键机制。而MySQL中的临键锁、间隙锁和记录锁则是锁…

Python 读取创建word文档

本篇文章内容为使用python 读取word文档和创建word文档 读取doc文件 引入类库 示例如下: import win32com import win32com.client import os 读取doc文件 通过得到的doc文件路径调用系统word功能。 打开文件获取其中的文本信息,输出文本信息&#…

彩虹全新 SUP 模板,卡卡云模板修复版

彩虹全新 SUP 模板,卡卡云模板,首页美化,登陆页美化,修复了 PC 端购物车页面显示不正常的问题。下载地址:彩虹全新 SUP 模板.zip 模板截图

[ Python+OpenCV+Mediapipe ] 实现对象识别

一、写在前面 本文所用例子为个人学习的小结,如有不足之处请各位多多海涵,欢迎小伙伴一起学习进步,如果想法可在评论区指出,我会尽快回复您,不胜感激! 所公布代码或截图均为运行成功后展示。 二、本文内容…

python 条件语句if else

python 条件语句if else Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为true,0 或者…

【C语言基础】:操作符详解(一)

文章目录 操作符详解1. 操作符的分类2. 二进制和进制转换2.1 什么是二进制、八进制、十进制、十六进制2.1.1 二进制和进制转换2.1.2 二进制转十进制2.2.3 二进制转八进制2.2.4 二进制转十六进制 3. 源码、反码、补码4. 移位操作符4.1 左移操作符4.2 右移操作符 5. 位操作符&…

Java学习笔记------继承

继承 Java中提供了一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立继承关系 如图,Student和Teacher类中除了study()和teacher()两个成员函数不同,其他重复了&…

【摸鱼日常】使用Docker部署2048小游戏

一、本次实践介绍 ​1. 本次实践简介 本次实践部署环境为个人测试环境,快速使用docker部署2048小游戏。 rootWellDone:/home/goodjob# uname -aLinux WellDone 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64…

【深度学习笔记】3_2线性回归的从零实现

注:本文为《动手学深度学习》开源内容,仅为个人学习记录,无抄袭搬运意图 3.2 线性回归的从零开始实现 在了解了线性回归的背景知识之后,现在我们可以动手实现它了。尽管强大的深度学习框架可以减少大量重复性工作,但若…

【C++精简版回顾】12.友元函数

1.友元函数 1.class class MM { public:MM(int age,string name):age(age),name(name){}friend void print(MM mm); private:int age;string name;void print() {cout << age << "岁的" << name << "喜欢你" << endl;} }; f…