介绍
autosar是汽车软件协会制定的一套软件标准
本文章所有图片来源于网络
一、分层架构
分层:3层
1.上层应用层(Application Layer)
2.中间件RTE(Runtime Environment)
3.下层的基础软件(Basic Software)
中间件RTE隔离应用与基础软件
二、应用层架构
应用层中的功能由各软件组件(SWC)实现,封装了具体的应用功能实现以及对应描述,如控制大灯,空调等部件的运作,但与汽车硬件系统没有连接
软件组件(SWC)通信采用虚拟功能总线VFB(Virtual Functional Bus)
虚拟功能总线VFB(Virtual Functional Bus)实现软件组件间通信,隔离硬件
三、中间件的架构
中间件主要是一些通信比如dds、somip、iceoryx等
1.中间件是软件构件间以及软件构件与基础软件之间的通信,
2.RTE也被理解成是VFB的接口实现,软件构件来说,基础软件不能够直接访问,必须通过RTE进入
- 软件组件之间和软件组件与基础软件之间的通信关系
四、基础软件的架构
分层为4层:
服务层(Services Layer)
ECU抽象层(ECU Abstraction Layer)
微控制器抽象层(Microcontroller Abstraction Layer)
复杂驱动(Complex Device Drivers)服务层可分为系统服务(System Services)、存储器服务(Memory Services)以及通信服务(Communication Services)三大部分,提供包含:RTOS、通信与网络管理、内存管理、诊断服务、状态管理、程序监控等服务;
ECU抽象层中封装了微控制器层及外围设备的驱动,并对微控制器内外设的访问进行了统一,实现了软件应用层与硬件系统的分离。简单理解就是mcu外部芯片的驱动
4.微控制器抽象层位于基础软件的最底层,包含了访问微控制器的驱动(如I/O驱动、ADC驱动等),做到了上层软件与微控制器的分离,以便应用的后续的移植复用。简单理解就是mcu内部资源的驱动
5.复杂驱动由于其严格的时序为应用层通过RTE访问硬件提供支持。简单理解就是实时性很高的或者时序要求很高的驱动