The Overview of AUTOSAR

Victor Yeo
3 min readJul 3, 2020

--

The purpose of this article is to give an overview of AUTOSAR. AUTOSAR stands for AUTomotive Open System ARchitecture (AUTOSAR). It is a standard software architecture for automotive software development. It can help in improving ECU software quality and reducing software development time and costs.

AUTOSAR is a growing and evolving standard that defines a layered architecture for the software. The classic AUTOSAR platform runs on a microcontroller and is divided into 3 main layers.

  • Basic Software Architecture- It is common to any AUTOSAR ECU.
  • AUTOSAR Runtime Environment
  • Application Layer

Let us discuss the layers in detail:

Basic Software Architecture (BSW)

AUTOSAR Basic Software Architecture consists of hundreds of software modules structured in different layers and is common to any AUTOSAR ECU. This means the supplier who has designed BSW can share it with other suppliers that are working on ECUs of engine, gearbox, etc.

Basic software architecture in AUTOSAR consists of three layers:

  • Microcontroller Abstraction Layer (MCAL): MCAL is also known as a hardware abstraction layer and implements interface for the specific microcontroller. MCAL are drivers, such as system drivers, diagnostics drivers, memory drivers, communication drivers (CAN, LIN, Ethernet, etc.), I/O drivers and more.
  • ECU Abstraction Layer: The prime task of the ECU abstraction layer is to deliver higher software layers ECU specific services. This layer and its drivers are independent of the microcontroller and dependent on the ECU hardware. The access to all the peripherals and devices of ECU, with functionalities like communication, memory, I/O, is provided.
  • Service Layer: The service layer is the topmost layer of AUTOSAR Basic Software Architecture. The service layer contains an operating system (OS). The OS provides an interface between the microcontroller and the application layer. The service layer in BSW is responsible for services like network services, memory services, diagnostics service, communication service, ECU state management, and more.

AUTOSAR Runtime Environment (RTE Layer)

AUTOSAR Run-time Environment is a middleware layer of the AUTOSAR software architecture between the BSW and the application layer. It provides communication services for the application software.

Application Layer

The application layer is the highest layer of the AUTOSAR software architecture and supports custom functionalities implementation. This layer consists of the specific software components. It can be any application which perform specific tasks as per customer requirements.

The AUTOSAR application layer consists of three components which are: application software components, ports of software components, and port interfaces.

After the classic platform, adaptive platform is developed to meet the requirement of new use cases. The core of adaptive platform is an OS based on POSIX standard. The Adaptive AUTOSAR is developed and written using the C++ language.

In Adaptive AUTOSAR, the communication protocol used for the in-vehicle networking is IP, based on the Ethernet protocol. This is the major change that Adaptive AUTOSAR brings to a vehicle architecture. The adaptive ECUs will communicate over the Ethernet while the Classic ECUs will still be communicating over vehicle BUS networks such as CAN.

In Adaptive AUTOSAR, it allows dynamic linking of services and clients during ECU runtime which makes it much more flexible for the application developers, compared to Classic platform.

References:

https://www.autosar.org/standards/adaptive-platform/

https://www.autosar.org/standards/classic-platform/

https://www.einfochips.com/blog/autosar-in-automotive-industry/

--

--