Home Embedded Blog What is AUTOSAR MCAL? Learn about the software module architecture and device drivers

What is AUTOSAR MCAL? Learn about the software module architecture and device drivers

This blog is part of our series on understanding AUTOSAR better. Our Automotive Product Engineering team, who has in-depth AUTOSAR expertise, will help us understand the essential components of the layered architecture of AUTOSAR.

To kick start our journey of learning more about AUTOSAR, in this blog we will first focus on AUTOSAR MCAL.


MCAL stands for Microcontroller Abstraction Layer. In the context of embedded software development, the MCAL can be defined as follows:

MCAL is a software module that has direct access to all the on-chip MCU peripheral modules and external devices,which are mapped to memory. And it makes the upper software layers (Basic software layer, or BSW, Application Layer) independent of the MCU.

(Source – Renesas)

MCAL enables a very significant advantage of the layered architecture of the AUTOSAR compliant design – it makes the application and also the middleware (Basic Software layer) independent of the underlying hardware platform.

This renders immense benefit to the product development cost and time, as there is a shift in the ECU design approach from coding to configuration.

AUTOSAR MCAL software module architecture:


What are the different device drivers of AUTOSAR MCAL module?

Microcontroller Drivers:

  • GPT Driver: GPT (General Purpose Timer) device driver uses on-chip MCU timer. Initializes GPT and performs timer count.
  • WDG Driver: WDG (Watchdog) Driver, this on-chip device driver Initializes WDG and performs WDG mode settings.
  • MCU Driver: MCU (Micro Controller Unit) Driver, this device driver helps configure MCU settings, initializes clock and helps configure power mode settings.


Memory Drivers

  • FLS Driver: FLS (Flash) Driver initializes FLS and reads/writes to FLS memory.


Communication Drivers

  • SPI Handler/Driver: SPI (Serial Peripheral Interface) is a Handler/Driver Device with on-chip clock serial function that Initializes SPI, performs SPI input/output and SPI I/O buffer settings
  • LIN Driver: LIN (Local Interconnected network) is a device driver that initializes LIN and performs LIN input/output.
  • CAN Driver: CAN (Controller Area Network) is a device driver that initializes CAN and performs CAN input/output.
  • FlexRay Driver: FlexRaydevice driver initializes FlexRay and performs FlexRay input/output.
  • Ethernet Driver: Ethernet device driver initializes Ethernet Driver and performs Ethernet Driver input/output.


I/O Drivers

  • ICU Driver: ICU (Input Capture Unit) is a device driver using on-chip MCU timer and initializes ICU. It also measures PWM waveforms.
  • PWM Driver: PWM (Pulse Width Modulation) is a device driver using on-chip MCU timer. It initializes PWM and sends PWM waveforms as output
  • ADC Driver: ADC (Analog Digital Converter) is a device driver for on-chip ADC. It Initializes ADC, starts/stops AD conversion, sets AD conversion result buffer and reads AD conversion results.
  • DIO Driver:DIO (Digital Input/Output) is an MCU port device driver thatperforms port signal (input/output).
  • PORT Driver:PORT Driver is a MCU port device driver that performs MCU pin settings (I/O, shared functions)


AUTOSAR MCAL layer services:

The following are the details of AUTOSAR MCAL services provided by Embitel Technologies, an embedded product development company, based in Bangalore, India:



Design and development of the MCAL drivers, as per AUTOSAR 4.x and 3.x standards, for microcontrollers platforms like Infineon, Free Scale, ST Microelectronics, Renesas, Fujitsu


In-depth expertise with AUTOSAR development and configuration tools like EB tresos from Elektrobit, COMASSO BSW tool from Robert Bosch, ECU Spectrum form KPIT


Extensive experience in development of Perl and Python scripts to generate MCAL configuration files (generation of _Cfg.c and _Cfg.h files) which are compliant to AUTOSAR 4.x and 3.x standards


Configuration and Integration of third party AUTOSAR BSW modules and Application SWCs (software components)


Validation and testing of AUTOSAR BSW stack using vector tools such as CANoe, CANalyzer

(Reference – autosar.org)

Related posts on AUTOSAR software development

  • AUTOSAR Communication Stack (ComStack): Our AUTOSAR development team explains what are the different software modules of a Communication Stack (ComStack). Also, learn about the software modules of CAN based Communication Stack in AUTOSAR
  • AUTOSAR Memory Stack (MemStack): Get introduced to the various software modules of AUTOSAR Memory Stack (MemStack) that provide basic memory management services to the upper layers. Our AUTOSAR development team shares the basics of AUTOSAR 3.0 and 4.0
  • AUTOSAR Development partnership: Find out what is AUTOmotive Open System Architecture (AUTOSAR) development partnership and why OEMs, Tier-I suppliers, Semiconductor Vendors and Embedded hardware and software service providers collaborated to form this global partnership

This entry was posted in Embedded Blog, Blog by Embitel. Bookmark the permalink

Jun 15 2016
Related Posts




12 design strategies to develop an "In-Vehicle Infotainment " system


Car HUD (Heads-up Display)

Go-to-market in 6 months with our automotive grade hardware and software design

Automotive Control Units

Electronic Control Units (ECU) development services for Body Control Modules (BCM), Powertrain, Chassis and Infotainment

AUTOSAR Software Services

AUTOSAR MCAL development, RTE and BSW integration, Application Layer development, Tools configuration and code generation


J1939 Stack for advanced EPS system

Find out how J1939 stack resolved on-chip memory issue for an Automotive Tier-I supplier


Software re-engineering | Telematics applications

Modular architecture re-design across fleet management product lines - GPS fleet security, vehicle and trailer tracking


IoT based Home Automation system

Design and development – Sensor Networks, Custom IoT gateway, Cloud and Mobile App