Silicon Labs EFM32/EFR32/EZR32

Implementation of Silicon Labs's EFM32/EFR32/EZR32 MCUs. More...

Detailed Description

Implementation of Silicon Labs's EFM32/EFR32/EZR32 MCUs.

Support for Silicon Labs EFM32/EFR32/EZR32 CPUs.

This module contains all code and definitions for the Silicon Labs EFM32/EFR32/EZR32 MCUs. It uses the Gecko SDK (vendor library) for the peripheral drivers.

Supported Peripherals

The following peripherals are supported (depends on microcontroller):

Clock Configuration

By default the microcontroller will run on the internal RC-oscillator. If an external crystal is available, you can configure it to use by setting CLOCK_HF=cmuSelect_HFXO. The same applies for CLOCK_LFA, CLOCK_LFB and CLOCK_LFE using cmuSelect_LFXO.

If the internal RC-oscillator is not used, it will be disabled.

Refer to the reference manual of the specific microcontroller for the specifics.

EMU and CMU Configuration

The Energy Management Unit (EMU) and Clock Management Unit (CMU) are initialized using default values provided by the Gecko SDK. You can override any of the following defaults to use other values:

Refer to the Gecko SDK for more information about these values.

Low-power Configuration

The EFM32/EFR32/EZR32 MCUs have support for low-power peripherals. Support is enabled by default, but can be disabled by setting LOW_POWER_ENABLED=0.

Files

file  efm32/include/cpu_conf.h
 Implementation specific CPU configuration options.
 
file  efm32/include/periph_cpu.h
 CPU specific definitions for internal peripheral handling.
 
#define CPU_DEFAULT_IRQ_PRIO   (1U)
 ARM Cortex-M specific CPU configuration.
 
#define CPU_IRQ_NUMOF   (EXT_IRQ_COUNT + 1)
 
#define CPU_FLASH_BASE   (FLASH_BASE)
 
#define FLASHPAGE_SIZE   (FLASH_PAGE_SIZE)
 Flash page configuration.
 
#define FLASHPAGE_NUMOF   (FLASH_SIZE / FLASH_PAGE_SIZE)