AutoSAR 简介

news2024/11/18 15:32:05

文章目录

    • 什么是 AutoSAR
    • 分类
    • AutoSAR 的作用
    • AutoSAR 架构
    • 术语介绍
    • 工具链介绍
    • 参考

随着汽车行业的发展和对汽车电子软件需求的增加,AutoSAR 将会变得越来越重要,但 AutoSAR 入门门槛高、工具链价格昂贵,动辄几百上千万的软件使用授权费对 OEM、Tier1 来说都是很大的研发投入,这也使得很多初学者望而却步。

经笔者亲自摸索,"站在前人的肩膀上"找到一条低门槛的入门道路,仅限个人学习研究用!

网上也有很多关于 AutoSAR 的中文教程,理论介绍偏多,缺乏实操,看不到开发板实际效果,对初学者也不太友好。

笔者从初学者的角度,从零开始去学习 AutoSAR,有工具、有开发板,相信定能带你入门。

什么是 AutoSAR

AutoSAR 就是 AUTOmotive Open System ARchitecture 的简称,中文翻译就是汽车开放系统架构。
简单点说:就是将汽车电子控制单元(ECU)的软件底层做一个标准的封装,使得大家可以共用一套底层软件,只需要修改其中的一些配置,就可以匹配不同的硬件。总结一句话就是“一套写得比较好的底层软件”。

分类

现在主流的 AutoSAR 平台分为两类:

  1. Classical Platform(传统平台CP)
  2. Adaptive Platform(自适应平台AP)

CP 比较成熟,用的也比较广泛 ,所以笔者主要讲的是CP AutoSAR。

AutoSAR 的作用

在使用 AutoSAR 之后,有如下优点:

  1. 缩短开发周期,提高开发效率
  2. 使得代码重复使用率大大增加
  3. 使得多人维护同一版本代码变得简单可行
  4. 配合使用图形界面配置工具(如 DaVinci),不用手写代码,使得代码的质量得到保证

AutoSAR 架构

在这里插入图片描述

术语介绍

  • OEM - 整车厂,例如宝马、奔驰、奥迪、大众、丰田

  • Tier1 - 一级供应商,直接向OEM供应ECU等,如大陆、博世

  • Tier2 - 二级供应商,主要给Tier1供应MCU等,如英飞凌、NXP

  • MCU - Microcontroller,微控制器,如一块 STM32 芯片

  • ECU - Electronic Control Unit,汽车电子控制单元,如一块 STM32 开发板

  • ASW - Application Software Layer,应用软件层,它可以包含多个软件组件(SWC)

  • SWC - Software Component,软件组件

  • RTE - Run-Time Environment,实时运行环境

  • BSW - Basic Software,基础软件

  • MCAL - Microcontroller Abstraction Layer,微控制器抽象层

  • ECUAL - ECU Abstraction Layer,ECU抽象层

  • BswM - Basic-software mode Manager,基础软件管理模块

  • DIO - Digital Input/Output,数字输入输出

  • IoHwAb - I/O Hardware Abstract,I/O 硬件抽象层

  • NvM - Non-Volatile Manager,非易失数据管理模块

  • CDD - Complex Device Driver,复杂设备驱动

  • COM - 将CAN、I2C和串口等一系列通信统一抽象称为COM通信

工具链介绍

  • S32K144EVB,NXP 官方开发板(需自行购买)
  • DaVinci Developer,主要用来设计 AppL 的程序架构(不免费,详见下一篇文章)
  • DaVinci Configurator Pro,主要用来配置 BSW 和自动生成 RTE 的(不免费,详见下一篇文章)
  • EB Tresos Studio,主要用来配置 MCAL 的,可从 NXP 官网下载(免费)
  • S32 Design Studio,NXP 官方集成开发环境,主要用来编译代码(免费)
  • IAR Embedded Workbench for Arm,另外一款高效的编译和调试软件(免费)

参考

AutoSAR的入门知识_autosar 入门_junjunjunjuna的博客-CSDN博客

AUTOSAR 基础知识简介_不吃鱼的猫丿的博客-CSDN博客

【鸟哥的Autosar私房菜】1.工具篇_autosar配置工具_一只开心的鸟的博客-CSDN博客

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

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

相关文章

三种主要的云交付服务和安全模型

对于许多企业来说,当今的数字化转型之旅包括一个关键决策:采用符合其需求的云交付服务。 云计算已成为现代 IT 基础设施的主要组成部分,具有从可扩展性到成本效率等诸多优势。然而,与所有技术一样,云也有其自身的网络…

Linux 定时任务 crontab 用法学习整理

一、linux版本 lsb_release -a 二、crontab 用法学习 2.1,crontab 简介 linux中crontab命令用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。cron 系统调度进程。…

Nets3e v1.1.4(攻击者在受害者主机上偷拍并弹出受害者个人照片)

Github>https://github.com/MartinxMax/Nets3e/tree/Nets3e_V1.1.4 首页 历史更新: Nets3e v1.1.4 新增echo参数,-g -echo,生成payload后,受害者泄露的个人照片将会在受害者的主机上弹出展示 Nets3e v1.1.3 修复受害者无法获取公网IP,新增钉钉实时监控推送 Nets3e v1.1…

73 # 发布自己的 http-server 到 npm

1、添加 .npmignore 文件,忽略不需要的文件 public2、去官网https://www.npmjs.com/检查自己的包名是否被占用 3、切换到官方源,然后检查确认 nrm use npm nrm ls4、登录 npm 账号 npm login5、发布 npm publish6、查看发布情况,发布成功…

虚拟机中Ubuntu 16.04 设置网络

1、打开虚拟机的“编辑”选项,选择“虚拟网络编辑器”,修改网络配置 2、同时打开 Windows下面的命令行,输入ipconfig,看到虚拟网络适配器的地址 1-虚拟机-设置-网络适配器 2-编辑-虚拟网络编辑器-VMnet0 3-编辑-虚拟网络编辑…

Web安全测试(二):HTTP状态码、响应和url详解

一、前言 结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部…

重新认识Android中的线程

线程的几种创建方式 new Thread:可复写Thread#run方法。也可以传递Runnable对象,更加灵活。缺点:缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统的资源导致死机或oom。 new Thread(new…

【网络安全知识】Windows系统安全加固安全加固分析、概念及账户管理和认证权限

Windows系统安全加固分析 最小化方式安装 为了提高系统的安全性,采用最小化方式安装是最可靠的,只安装网络 服务所必需的组件。如果以后有新的服务需求,再安装相应的服务组件 ,并及时进行安全设置。 系统加固工作 对Windows系统安…

GCC编译器优化等级的选择

GCC编译器通常提供多个优化级别供选择,每个级别对代码进行不同程度的优化。以下是GCC编译器常见的优化级别: 无优化(-O0):这是默认的优化级别,编译器不执行任何优化。适用于调试目的或要求最小编译时间的情…

windows系统下安装Nodejs并安装vue-cli

windows下安装nodejs 下载安装淘宝镜像加速器(cnpm)安装vue-cli初始化一个vue-cli程序 下载 Node.js下载地址 根据自己的电脑选择下载 下载完成后点击下载好的文件 一路next 安装地址可以根据自己的喜好修改 按住win r 输入cmd,按回车,打开命令窗口…

有关Arm CE支持的sha1 sha224 sha256 sha384 sha512指令

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈再某一款SOC(cortex-A53)上进行数字摘要计算的时候, 发现sha1 sha224 sha256的性能很高,sha384 sha512的性能…

win10如何配置jdk环境变量

1.首先要打开系统环境变量配置的页面。具体操作是:打开开始菜单,找到“此电脑”,然后右键“更多”→“属性”。 2.在弹出的页面,选择“高级系统设置” 3.在弹出的页面,选择“环境变量(N)…”。 …

【C++练习】普通方法+利用this 设置一个矩形类(Rectangle), 包含私有成员长(length)、 宽(width), 定义一下成员函数

题目 设置一个矩形类(Rectangle), 包含私有成员长(length)、 宽(width), 定义成员函数: void set_ len(int l); //设置长度 设置宽度void set_ wid(int w); 获取长度: int get len(); 获取宽度: int get _wid); 显示周长和面积: v…

【洛谷】P1102 A-B 数对

原题链接:https://www.luogu.com.cn/problem/P1102 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 将A-BC转化成ABC,然后遍历数组,让数组的每个元素加C,再查找原数组中是否存在对应数组元素C之后的值。…

RISCV 6 RISC-V加载存储指令

RISCV 6 RISC-V加载存储指令 1 RV32I Load and Store Instructions1.1 LOAD instructions1.1.1 加载指令的指令格式1.1.2 加载指令在使用时需要注意的点 1.2 STORE instructions1.2.1 存储指令的指令格式1.2.2 存储指令在使用时需要注意的点 2 RV64 Load and Store Instruction…

BES SDK平台编译原理与编译方法

+他V hezkz17进数字音频系统研究开发交流答疑群(课题组) 2300YP 输入 编译命令 make T=best2300p_ep_anc DEBUG=1 清除 make T=best2300p_ep_anc allclean 2700 编译命令:make T=best1603_ibrt -j 清除命令 : make T=best1603_ibrt clean -j: 这也是一个参数,用于指…

THINKPHP 微联云投票系统源码独立版 + 支持刷礼物

THINKPHP 微联云投票系统源码独立版 支持刷礼物 nginxphp7.2以上 mysql5.6以上 简单测试后台基本没什么问题,暂时发现H5前端有bug,自行修复。

Alions 8.6 下 Redis 7.2.0 集群搭建和配置

Redis 7.2.0 搭建和集群配置 一.Redis 下载与单机部署1.Redis 下载2.虚拟机配置3.Redis 单机源码安装和测试4.Java 单机连接测试1.Pom 依赖2.配置文件3.启动类4.配置类5.单元测试6.测试结果 二.Redis 集群部署1.主从1.从节点配置2.Java 测试 2.哨兵1.哨兵节点配置2.复制一个哨兵…

使用 ChatGPT 创建 PowerPoint 演示文稿

让 ChatGPT 成为您的助手来帮助您编写电子邮件很简单,因为众所周知,它非常能够生成文本。很明显,ChatGPT 无法帮助您做饭。但您可能想知道它是否可以生成文本以外的其他内容。在上一篇文章中,您了解到 ChatGPT 只能通过中间语言为您生成图形。在这篇文章中,您将了解使用中…

无涯教程-PHP - intval() 函数

PHP 7引入了一个新函数 intdiv()&#xff0c;该函数对其操作数执行整数除法并将该除法返回为int。 <?php$valueintdiv(10,3);var_dump($value);print(" ");print($value); ?> 它产生以下浏览器输出- int(3) 3 PHP - intval() 函数 - 无涯教程网无涯教程网…