In AUTOSAR, software is componentized and application software reusability is improved. AUTOSAR's layered architecture and details of each layer are shown below.
Description of Layers
|Runtime Environment (RTE)||Middleware layer providing communication services for AUTOSAR software components (SWC) and applications containing AUTOSAR sensor/actuator parts.||Make AUTOSAR software components (SWC) independent of mapping to specific ECU.||Specialized for ECU and application. Generated for each ECU.||Interface is completely independent of ECU.|
|Basic Software (BSW)||Services Layer||Highest basic software layer; provides the following functions:
||Provide basic services and basic software modules for applications.||Specialized for microcontroller (MCU), part of ECU hardware, and application.||Interface is independent of microcontroller (MCU) and ECU hardware.|
|ECU Abstraction Layer||Interface with MCAL (including external device driver); provides the following:
||Make upper software layer independent of ECU hardware layout.||Mounting is independent of microcontroller (MCU) and dependent on ECU hardware||Interface is independent of microcontroller (MCU) and ECU hardware.|
|Complex Drivers||Layer used for complex functions not found on other layers. This layer accesses the microcontroller (MCU) directly.
Examples: Injection control, control of electrical values, position increase detection, etc.
|Fulfills special functions and timing requirements needed to operate complex sensors and actuators.||Highly dependent on microcontroller (MCU), ECU and application.||Interface is standardized and mounted according to AUTOSAR (AUTOSAR interface).|
|Microcontroller Abstraction Layer (MCAL)||Software module that directly accesses on-chip microcontroller (MCU) peripheral modules and external devices that are mapped to memory.||Make upper software layer independent of microcontroller (MCU).||Dependent on microcontroller (MCU).||Interface is independent of standardized microcontroller (MCU).|