目录
一、简介
二、基础软件层 BSW
2.1 微控制器抽象层
2.2 ECU抽象层
2.3 复杂的驱动程序
2.4 服务层
三、运行时环境 RTE
四、应用软件层 SWC
一、简介
分层架构是实现软硬件分离的关键,它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时对硬件系统的依赖。
AUTOSAR架构在最高的抽象级别上区分了三个软件层:
- 应用程序层(APPL)
- 运行时环境(RTE)
- 在微控制器上运行的基础软件层(BSW)
为保证上层与下层的无关性,在通常情况下,每一层只能使用下一层所提供的接口,并向上一层提供相应的接口。
而基础软件层可以进一步划分为以下四部分:
- 服务层
- ECU抽象
- 微控制器抽象
- 复杂驱动程序
基本的软件层被进一步划分为功能组。其中基础软件层提供的服务实例有系统服务、存储服务、加密服务、通信服务。
二、基础软件层 BSW
2.1 微控制器抽象层
微控制器抽象层是基本软件中最低的软件层。它包含内部驱动程序,这是一种可以直接访问µC和内部外设的软件模块。
目的是使更高的软件层独立于具体的微控制器硬件。
2.2 ECU抽象层
ECU抽象层与微控制器抽象层的驱动器进行接口。它还包含了用于外部设备的驱动程序。它提供了一套标准的API,用于访问外围设备和设备,而不管这些设备的具体位置(微控制器内部/外部)以及它们与微控制器的连接(端口引脚、接口类型)。
目的是使更高的软件层独立于ECU的硬件布局。
2.3 复杂的驱动程序
复杂驱动程序层从硬件扩展到RTE。提供集成特殊用途功能的功能模块,例如,没有在AUTSOAR中指定的设备驱动程序;或是对实行性有较高要求的功能等。
2.4 服务层
服务层是基本软件的最高层,为应用程序、RTE和基本软件模块提供基本服务。
虽然对I/O信号的访问由ECU抽象层覆盖,但服务层提供:
- 操作系统功能
- 车辆网络通信和网络管理服务
- 存储服务
- 诊断服务(包括UDS通信、错误记忆和故障处理)
- ECU状态管理、模式管理
- 逻辑和时间上的程序流监控(Wdg管理器)
三、运行时环境 RTE
运行时环境RTE是为应用软件提供通信服务的层。在RTE之上,软件架构风格从“分层”转变为“组件风格”。而RTE为AUTOSAR应用层软件组件间、软件组件与基础软件层间、基础软件各模块之间提供通信通信服务。
RTE的存在使得软件组件可以独立与具体的ECU进行平台化系统设计,最后再将软件组件映射到特定的ECU上运行。
四、应用软件层 SWC
应用软件层主要由一个一个SWC组成的,其中的SWC分为两类:
- 原子软件组件(compoment SWC):可以理解为一个.c文件上实现的模块功能,上边实现了多个具体的函数
- 非原子软件组件(composition SWC):有原子软件组件组成,可以理解为一个较大的功能集,放置在同一个文件夹中的应用软件。