Detailed Description

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):

ADC

CPUID

DAC

Flash page

GPIO

HW RNG

I2C

Power Management

PWM

RTC

RTT

SPI

Timer

UART (including low-power)

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:

CMU_HFXOINIT

CMU_LFXOINIT

EMU_DCDCINIT

EMU_EM23INIT

EMU_EM4INIT

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.