AUTOSAR的概述
返回总目录
目录
一、AUTOSAR是什么?
1. 从定义上讲
- AUTOSAR就是“汽车开放系统架构”。其将底层进行了封装,这样一来,使大家在汽车开发的时候更专注于应用层的开发,而无需考虑控制器底层的运行过程。这样即使更换了处理器硬件,应用层也无需做太多修改就可以移植过去,此不仅大大的提高工作效率,也提高了代码的可靠性。
2. 从架构上讲
如图1所示为一张整体的AUTOSAR架构图,从图中可以清晰的看出AUTOSAR主要分为三个层级:应用软件层(AppL),实时运行环境(RTE)和基础软件层(BSW),后续博主会逐一细分和大家讲解
- 应用软件层:该层主要是存放自己的逻辑代码,这也是各家看家本里的地方
- 实时运行环境:为应用层提供所需资源,将BSW与AppL隔离
- 基础软件层:是将硬件进行了了封装,然后通过相应的工具配置即可达到自己想要的结果
图1 AUTOSAR架构图
其中应用软件层和基础软件层还可以细分,如图2,接下来我们对以下几个层次分别进行简单介绍,后续章节会详细讲解。
图2
应用软件层:
该层是由一个个SWC组成的,每个SWC可以理解成一个.c文件,而整个应用软件层就就是一个文件夹。
实时运行环境:
其为应用软件层的运行提供环境,方便更好的做到软硬件分离,从而使AppL得到复用,后续会更深层次的讲解,这里知道这样一个概念就好了
基础软件层:
该层又分为了4大部分:
- 服务层:提供了汽车嵌入式系统软件常用的一些服务,其作用就像嵌入式实时操作系统所做的工作
- ECU抽象层:该层将ECU结构进行了抽象,负责提供统一的访问接口,从而不需要考虑这些资源是由微控制器片内提供的,还是由微控制器片外设备提供的
- 硬件抽象层(MCAL):是实现不同硬件接口统一化的特殊层。通过微控制器抽象层可将硬件封装起来,避免上层软件直接对微控制器的寄存器进行操作
- 复杂驱动(CDD):由于对复杂传感器和执行器进行操作的模块涉及严格的时序问题,难以抽象,所以在AUTOSAR规范中这部分没有被标准化,统称为复杂驱动
二、AUTOSAR的意义?
AUTOSAR规范的出现,将带来如下主要优势:
- 有利于提高软件复用度,尤其是跨平台的复用度;
- 便于软件的交换与更新;
- 软件功能可以进行先期架构级别的定义和验证,从而能减少开发错误;
- 减少手工代码量,减轻测试验证负担,提高软件质量;
- 使用一种标准化的数据交换格式,方便各公司之间的合作交流等。
这些优势对将来愈发复杂的汽车嵌入式系统软件的开发过程可谓是大有裨益,在保证软件质量的同时,可以大大降低开发的风险与成本。