AUTOSAR에서 ECU 소프트웨어는 베이직 소프트웨어, 런타임 환경 및 응용 레이어로 구분됩니다.
베이직 소프트웨어는 사전 정의된 모듈로 이루어지며 이 모듈은 레이어로 그룹화됩니다. 예를 들어 MCAL(Microcontroller Abstraction Layer)을 통해 마이크로컨트롤러의 메모리, 통신 그리고 I/O에 접근할 수 있는 드라이버를 제공합니다.
ECUAL(ECU Abstraction Layer)는 각 기능이 마이크로컨트롤러 일부인지 또는 주변 컴포넌트에 의해 실행되는지에 관계없이 통신, 메모리, 또는 IO와 같은 ECU의 모든 기능성에 대한 균일한 접근을 제공합니다.
서비스 레이어는 네트워크 서비스, 메모리 관리 및 응용 레이어에 대한 버스 통신 서비스 등 서로 다른 백그라운드 서비스를 제공합니다. 이 레이어에는 운영 체제도 포함됩니다.
런타임 환경(RTE)은 응용프로그램 레이어에 대해서 BSW를 추상화합니다. RTE는 응용 프로그램 레이어의 런타임 행동을 제어하며 자료 교환을 구현합니다. 응용 프로그램 레이어에서 ECU의 응용 기능성은 개별 소프트웨어 컴포넌트의 형태로 구현됩니다.
이 레이어 모델을 통해 다른 하드웨어에 대한 소프트웨어의 이식을 단순화할 수 있습니다. 이전에는 낮은 수준으로 설계된 소프트웨어 아키텍처의 경우, 이식을 하기 위해서는 응용 프로그램 레이어까지 여러 군데에서 광범위한 적용이 필요했습니다. 그러나 AUTOSAR에서는 MCAL의 모든 마이크로컨트롤러 드라이버를 교체하는 것으로 충분합니다. ECU 추상화 레이어의 모듈을 단지 재설정하기만 하면 되며, 다른 모든 레이어는 이식 과정에서 영향을 받지 않습니다. 이러한 과정은 구현 및 테스트 비용과 관련된 위험을 크게 감소시킵니다.