Skip to main content

Microcontroller Abstraction Layer (MCAL)

MCAL is a software module that directly accesses on-chip MCU peripheral modules and external devices that are mapped to memory, and makes the upper software layer independent of the MCU. Details of the MCAL software module are shown below.

MCAL Block Diagram

AUTOSAR MCAL

Description of MCAL Software Module

Module groupModuleExplanation
Microcontroller DriversGPT DriverGPT (General Purpose Timer) Driver
Device driver using on-chip MCU timer
Initializes GPT, performs timer count
WDG DriverWDG (Watchdog) Driver
On-chip WDG device driver
Initializes WDG, performs WDG mode settings, etc.
MCU DriverMCU (Micro Controller Unit) Driver
Device driver that performs MCU settings
Initializes clock, performs power mode settings
Memory DriversFLS DriverFLS (Flash) Driver
Initializes FLS, reads/writes to FLS memory
Communication DriversSPI Handler/DriverSPI (Serial Peripheral Interface) Handler/Driver
Device driver for on-chip clock serial function
Initializes SPI, performs SPI input/output and SPI I/O buffer settings
LIN DriverLIN (Local Interconnected network) Driver
Initializes LIN, performs LIN input/output
CAN DriverCAN (Controller Area Network) Driver
Initializes CAN, performs CAN input/output
FlexRay DriverFlexRay Driver
Initializes FlexRay, performs FlexRay input/output
Ethernet DriverEthernet Driver
Initializes Ethernet Driver, performs Ethernet Driver input/output
I/O DriversICU DriverICU (Input Capture Unit) Driver
Device driver using on-chip MCU timer
Initializes ICU, measures PWM waveforms, etc.
PWM DriverPWM (Pulse Width Modulation) Driver
Device driver using on-chip MCU timer
Initializes PWM, outputs PWM waveforms, etc.
ADC DriverADC (Analog Digital Converter) Driver
Device driver for on-chip ADC
Initializes ADC, starts/stops AD conversion, sets AD conversion result buffer, reads AD conversion results, etc.
DIO DriverDIO (Digital Input/Output) Driver
MCU port device driver
Performs port signal input/output, etc.
PORT DriverPORT Driver
MCU port device driver
Performs MCU pin settings (I/O, shared functions)