AUTOSAR基础软件层即BSW(Basic Software)层,与应用层、运行环境层共同搭建了AUTOSAR的软件体系。三个层从上而下,层层递进,实现了从人机交互到底层硬件的联系。
AUTOSAR基础软件层主要是用于提供基础软件服务,包括标准化的系统功能以及功能接口,并且由一系列的基础服务软件组成,包括系统服务、内存服务、通信服务等。
一、基础软件层模块按照类型可以分为驱动模块、接口模块、处理模块以及管理器。
驱动模块:包含控制和使用内部或者外部器件的功能,分为内部驱动和外部驱动。
接口模块、包含了对次级模块进行抽象的功能。
处理模块:一个专用的接口,控制一个或多个客户端对一个或多个驱动程序进行并行、多重以及异步的访问。
管理器;为多重的客户端提供特定的服务。
二、基础软件层又可分为service层、ECU抽象层、微控制器抽象层(MCAL)、复杂驱动层。
service层:位于BSW的最上面,将各种基础软件功能以服务的形式封装起来,供应用层调用。其包含:
I/O服务:将执行器、传感器以及外设的访问标准化)
内存服务:将微控制器内外内存的访问进行统一封装。
通信服务:将整车网络系统、ECU网络系统、软件组件内的访问口进行统一封装。
系统服务:包括RTOS、定时器、错误处理、状态管理等服务。
ECU抽象层:使上层软件与ECU硬件设计无关,包含ECU板上外部设备的驱动,内部设备与外部设备的接口(I/O)。
微控制器抽象层:使上层软件与微处理器型号无关,包含MCU内部外设的驱动以及使用MCU内存映射的外部设备的驱动。
复杂驱动层:提供复杂传感器和执行器的驱动,重要的硬件模块可以直接访问硬件资源(如喷油量控制、胎压监测)。