文章目录
- 什么是 AutoSAR
- 分类
- AutoSAR 的作用
- AutoSAR 架构
- 术语介绍
- 工具链介绍
- 参考
随着汽车行业的发展和对汽车电子软件需求的增加,AutoSAR 将会变得越来越重要,但 AutoSAR 入门门槛高、工具链价格昂贵,动辄几百上千万的软件使用授权费对 OEM、Tier1 来说都是很大的研发投入,这也使得很多初学者望而却步。
经笔者亲自摸索,"站在前人的肩膀上"找到一条低门槛的入门道路,仅限个人学习研究用!
网上也有很多关于 AutoSAR 的中文教程,理论介绍偏多,缺乏实操,看不到开发板实际效果,对初学者也不太友好。
笔者从初学者的角度,从零开始去学习 AutoSAR,有工具、有开发板,相信定能带你入门。
什么是 AutoSAR
AutoSAR 就是 AUTOmotive Open System ARchitecture 的简称,中文翻译就是汽车开放系统架构。
简单点说:就是将汽车电子控制单元(ECU)的软件底层做一个标准的封装,使得大家可以共用一套底层软件,只需要修改其中的一些配置,就可以匹配不同的硬件。总结一句话就是“一套写得比较好的底层软件”。
分类
现在主流的 AutoSAR 平台分为两类:
- Classical Platform(传统平台CP)
- Adaptive Platform(自适应平台AP)
CP 比较成熟,用的也比较广泛 ,所以笔者主要讲的是CP AutoSAR。
AutoSAR 的作用
在使用 AutoSAR 之后,有如下优点:
- 缩短开发周期,提高开发效率
- 使得代码重复使用率大大增加
- 使得多人维护同一版本代码变得简单可行
- 配合使用图形界面配置工具(如 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博客