在AUTOSAR的架构中,将其划分为三层,如下:
![91a2e14696cf555a2b7ab829eec6851f.png](https://i-blog.csdnimg.cn/blog_migrate/f5c587980d7e52ca1a45751eacda4411.jpeg)
在RTE以下的,由四个大的components组成,
1. Microcontroller Abstractions Layer : 这一层是基础软件的最底层,主要是包括MCU的外设驱动,比如:ADC,GPT, DIO等等一系列驱动,通常称为MCAL层。这部分的驱动都是由芯片厂商提供。
2. ECU Abstraction Layer :这一层主要负责将MCAL层的驱动接口进行抽象封装,当然也包括除了MCU的驱动接口。这一层负责提供API给更上层模块提供接口来访问MCU的外设驱动以及和MCU的联系。
3. Complex Drivers :复杂驱动,可以看到这一层是直接连接Microcontroller层与RTE的。通常有复杂驱动,比如Rtc,SBC这些复杂驱动,这些是根据实际项目来决定有没有这些功能,不属于AUTOSAR定义的标准模块。因此,AUTOSAR预留出这一层来给用户自己编写这类驱动,然后集成到AUTOSAR的架构中。通常这些复杂驱动都是对时间严格的限制或者是模块移植。
4. Service Layer : 服务层是BSW的最高层,也有提供服务给Application。服务层主要提供的服务有:
a) 操作系统
b) 整车网络通信管理
c) 存储服务