AUTOSAR(AUTomotive Open System Architecture) is an open source layered software development standard for, but not limited to, automotive Electronic Control Unit(ECU). AUTOSAR gives a layered top-down structure for software with relation between the software components.
Layered Architecture of AUTOSAR
The layered architecture of AUTOSAR can be divided into Basic Software(BSW), Runtime Environment(RTE) and Application/Software Component layer.
Basic Software layer can be further subdivided into Micro-controller Abstraction Layer(MCAL), ECU Abstraction Later, Services Layer and Complex Device Driver(CDD) Layer.
Micro-controller Abastraction layer(MCAL) is the lowest layer in the layered AUTOSAR architecture and it communicates with the hardware directly. Its basic responsibility is to make the layer above it independent of hardware. It houses the low level drivers of the micro-controller.
MCAL Layer in AUTOSAR
ECU Abstraction Layer is the layer above the MCAL layer which houses the interface components and the drivers for the hardware components outside the micro-controller on the ECU. Its basic responsibility is to make the layer above it independent of the hardware available on the ECU. Its lower interfaces are hardware dependent and the upper interfaces are hardware independent.
ECU Abstraction Layer in AUTOSAR
Services layer is the layer above the ECU abstraction layer , mostly independent of the hardware ans responsible for providing the basic BSW functionality to the application.
Services Layer in AUTOSAR
Runtime Environment is the layer separating the Basic Software and Application Software. The software architecture above it becomes component level than the layered architecture in the Basic Software. RTE is the ECU level instantiation of the Virtual Function Bus(VFB). RTE is ECU specific. The application software components without the BSW communicate with each other over the Virtual Function Bus(VFB).
RTE Layer in AUTOSAR
Complex Device Driver(CDD) is a layer through which the hardware can be accessed through the RTE by the application software component directly without going through the various layers of AUTOSAR. This layer is used by the applicatio ns which have high timing constraints and for the requirements which are not described by AUTOSAR. This layer is micro-controller and ECU hardware dependent.
CDD Layer in AUTOSAR