AUTOSAR Classic Platform (CP) divides ECU software into three layers with strictly enforced dependency rules:
| Layer | Contents | Key Rule |
|---|---|---|
| Application Layer | Atomic SWCs, Composition SWCs, Sensor/Actuator SWCs | Communicates exclusively via RTE ports — no direct BSW calls |
| RTE (Runtime Environment) | Generated glue code — Rte_Read/Write/Call/Result APIs | Decouples SWCs from each other and from BSW |
| BSW (Basic Software) | Services, ECU Abstraction, MCAL, Complex Drivers | Provides platform services to RTE and to other BSW modules |
┌──────────────────────────────────────────────────────────┐
│ Application Layer (SWCs) │
│ WheelSpeedSWC EngineCtrlSWC DiagSWC ... │
└─────────────────────────┬────────────────────────────────┘
│ Rte_Read / Rte_Write / Rte_Call
┌─────────────────────────▼────────────────────────────────┐
│ RTE (Runtime Environment) — GENERATED │
└─────────────────────────┬────────────────────────────────┘
│ BSW module APIs
┌──────────┬──────────────▼──────────┬──────────────────────┐
│ Services │ ECU Abstraction Layer │ MCAL │
│ COM/NvM │ CanIf / LinIf / PduR │ CanDrv / SpiDrv / │
│ DCM/DEM │ IoHwAb │ AdcDrv / PwmDrv │
└──────────┴─────────────────────────┴──────────────────────┘
│ Register access
┌──────────────────────────────────────────────────────────┐
│ Microcontroller Hardware │
└──────────────────────────────────────────────────────────┘