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
Layer name | Overview | Purpose | Features | ||
---|---|---|---|---|---|
Mounting | High-order interface | ||||
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). |