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.mfbz.cn/a/409485.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

x(x-1)的含义

一.二进制中x&(x-1)的含义 把x的二进制最后一个1变为0 找一下规律: 二.应用 我们可以利用这个特性,来数这个数字中有多少数字1 算法分析:放入一个计数器,每循环一次,就把这个数字的最后一个1变为0,计数…

【JavaEE】 spring boot的配置文件详解

spring boot的配置文件详解 文章目录 spring boot的配置文件详解常用配置spring boot的配置文件1. properties 文件2. YAML 文件3. 多环境配置4. 配置文件优先级5. 配置属性注入特殊说明 properties配置文件基本语法 例子peoperties文件的缺点 YML配置文件YML使用yml 配置不同数…

阿里云-系统盘-磁盘扩容

阿里云系统磁盘扩容 之前是测试环境磁盘用的默认的有 40G,后面升级到正式的 磁盘怕不够用打算升级到 100G, 系统镜像: Alibaba Cloud Linux 3.2104 LTS 64 位 磁盘 ESSD 40G 升级步骤: 扩容与创建快照 在阿里云后台首先去扩容…

【Docker】三、日志控制

三、日志控制 使用Docker部署服务器,要对Docker日志定时处理。否则,服务器运行一段时间后,磁盘占比报警。 出现磁盘占比报警,大概率是大文件的问题,可查看服务器中的大文件,排除问题。 (一&am…

apache 模式、优化、功能 与 nginx优化、应用

一、I/O模型——Input/Output模型 1.同步/异步 A程序需要调用B程序的某一个功能,A发送一个请求需要B完成一个任务 同步:B不会主动去通知A是否完成需要A自己去问 异步:B会主动通知A是否完成 2.阻塞/非阻塞 A发送一个请求需要B完成一个任务 …

Python文件和异常(二)

目录 三、异常 (一)处理 ZeroDivisionError 异常 (二)使用 try-except 代码块 (三)使用异常避免崩溃 (四)else 代码块 (五)处理 FileNotFoundError 异常…

单片机05__串口USART通信__按键控制向上位机传输字符串

串口USART通信 通用UART介绍 1.通信的概念 计算机与外界进行信息交换的过程称之为通信。 在通信的过程中,通信双方都需要遵守的规则称之为通信协议。 硬件协议:将数据以什么样的方式传输过去 软件协议:将数据以什么样的顺序传输过去 2.常用…

042 继承

代码实现 首先定义Person类(人类) /*** 人的基础特征** author Admin*/ public class Person {/*** 姓名*/String name;/*** 生日*/Date birthday;/*** 手机号码*/String tel;/*** 身份证号码*/String idCode;public Person() {}public Person(String …

BlackberryQ10 是可以安装 Android 4.3 应用的,Web UserAgent 版本信息

BlackberryQ10 是可以安装 Android 4.3 应用的 最近淘了个 Q10 手机,非常稀罕它,拿着手感一流。这么好的东西,就想给它装点东西,但目前所有的应用都已经抛弃这个安卓版本了。 一、开发环境介绍 BlackBerry Q10 的 安卓版本是 4.…

Spring Boot对接RocketMQ示例

部署服务 参考RocketMq入门介绍 示例 引入maven依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.2</version></dependency>完整依赖如下&am…

栈和队列笔试题

答案&#xff1a;&#xff08;1&#xff09;seqn[tail]data; tail(tail1)%SEQLEN; &#xff08;2&#xff09;data seqn[head]; head (head1)%SEQLEN; &#xff08;3&#xff09;head tail; &#xff08;4&#xff09;(tail1)%SEQLEN head; (5) while(head!tail) head (h…

PHP WebSocket:技术解析与实用指南

本文旨在帮助初学者掌握在PHP中使用WebSocket的关键概念和技术。我们将深入讨论从建立连接、绑定到监听等各方面的操作&#xff0c;并提供易于理解和实践的指导。 一、socket协议的简介 WebSocket是什么&#xff0c;有什么优点 WebSocket是一个持久化的协议&#xff0c;这是…

基于相位的运动放大:如何检测和放大难以察觉的运动(01/2)

基于相位的运动放大&#xff1a;如何检测和放大难以察觉的运动 目录 一、说明二、结果的峰值三、金字塔背景3.1 可操纵金字塔3.2 亚倍频程复数可控金字塔 四、基本方针4.1 1D 问题陈述4.2 一维方法4.3 实际实施说明 五、放大倍率的限制5.1 空间支持的影响5.2 频带的影响 六、推…

【Oracle】玩转Oracle数据库(五):PL/SQL编程

前言 嗨&#xff0c;各位数据库达人&#xff01;准备好迎接数据库编程的新挑战了吗&#xff1f;今天我们要探索的是Oracle数据库中的神秘魔法——PL/SQL编程&#xff01;&#x1f52e;&#x1f4bb; 在这篇博文【Oracle】玩转Oracle数据库&#xff08;五&#xff09;&#xff1…

2.25基础会计学

资本公积是指由股东投入、但不能构成“股本”或“实收资本”的资金部分。 盈余公积是指公司按照规定从净利润中提取的各种积累资金。 所以区别在于盈余公积来自净利润。 借贷其实就是钱从哪来和到哪去的问题&#xff0c;来源是贷&#xff0c;流向是借。比如购入9w原材料&…

【监控】grafana图表使用快速上手

目录 1.前言 2.连接 3.图表 4.job和path 5.总结 1.前言 上一篇文章中&#xff0c;我们使用spring actuatorPrometheusgrafana实现了对一个spring boot应用的可视化监控。 【监控】Spring BootPrometheusGrafana实现可视化监控-CSDN博客 其中对grafana只是打开了一下&am…

YApi-pro docker安装在centos7上

之前安装失败了&#xff0c;只好在docker中装了。 准备环境 1.docker安装 centos7 docker 安装-CSDN博客 2.mongodb数据库docker安装 创建mongo容器目录 mkdir /data/mongo -p docker pull mongo:4.2.21 创建一个yapi网络插件 docker network create yapi …

音频声波的主观感受

一、响度 声压是“客观”的&#xff0c;响度是“主观”的。 响度又称音量。人耳感受到的声音强弱&#xff0c;它是人对声音大小的一个主观感觉量。响度的大小决定于声音接收处的波幅&#xff0c;就同一声源来说&#xff0c;波幅传播的愈远&#xff0c;响度愈小…

python jupyter notebook打开页面方便使用

如果没安装jupyter, 请安装&#xff1a; pip install jupyter notebook 运行jupyter notebook jupyter-notebook

【Redis】搞懂过期删除策略和内存淘汰策略

1、过期删除策略 1.1、介绍 Redis 是可以对 key 设置过期时间的&#xff0c;因此需要有相应的机制将已过期的键值对删除&#xff0c;而做这个工作的就是过期键值删除策略。 每当我们对一个 key 设置了过期时间时&#xff0c;Redis 会把该 key 带上过期时间存储到一个过期字典…