Silicon Labs EFM32/EFR32/EZR32¶
Silicon Labs’s EFM32/EFR32/EZR32 MCUs implementation.
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):
- 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.
-
CPU_DEFAULT_IRQ_PRIO
¶ ARM Cortex-M specific CPU configuration.
1
(1U)
-
CPU_IRQ_NUMOF
¶ 1
(EXT_IRQ_COUNT + 1)
-
CPU_FLASH_BASE
¶ 1
(FLASH_BASE)
-
FLASHPAGE_SIZE
¶ Flash page configuration.
1
(FLASH_PAGE_SIZE)
-
FLASHPAGE_NUMOF
¶ 1
(FLASH_SIZE / FLASH_PAGE_SIZE)