AUTOSAR-like MCU Driver

From ErikaWiki

Revision as of 16:50, 15 July 2013 by Eguidieri (Talk | contribs)
Jump to: navigation, search

Contents

Synopsis

The MCU driver provides services for basic microcontroller initialization, power down functionality, reset and microcontroller specific functions required by other MCAL [Microcontroller Abstraction Layer] software modules. The initialization services allow a flexible and application related MCU initialization in addition to the start-up code (see figure below). The start-up code is very MCU specific. The provided start-up code description in this document is for guidance and implies functionality which has to be taken into account before standardized MCU initialization is able to start. The start-up code is provided by Evidence Srl within Erika Enterprise.

Startup Code.png

The MCU driver accesses the microcontroller hardware directly and is located in the Microcontroller Abstraction Layer.

MCU driver Features:
- Initialization of MCU clock, PLL, clock prescalers and MCU clock distribution
- Initialization of RAM sections
- Activation of μC reduced power modes
- Activation of a μC reset
- Provides a service to get the reset reason from hardware

Configure

Build

To enable AUTOSAR-like MCU Driver in Erika Enterprise compiler toolchain, the following EE_OPT attribute is needed in the OS object of the OSEK/VDX configuration:

 EE_OPT = "__AS_MCU_DRIVER__";

The configuration C header file inclusion is done by CFLAGS attribute in the OS object of the OSEK/VDX configuration:

 CFLAGS = "-I<PATH>";

Where <PATH> is the absolute or relative directory path which configuration C header file is stored.

Instead the configurations C source file is added to the compilation process by APP_SRC attribute in the CPU_DATA object of the OSEK/VDX configuration:

 APP_SRC = "<PATH>/Mcu_Cfg.c";

Where <PATH> is the absolute or relative directory path which configuration C source file is stored.

Usage

Examples

Usage examples of the AUTOSAR-like MCU Driver for can be found at examples/cortex_mx/lm4f232xxxx/as

Personal tools