# Silicon Labs EFM32

Configuration

  platform = `siliconlabsefm32`

Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.

For more detailed information please visit vendor site.

Contents

- Examples

- Debugging

- Stable and upstream versions

- Packages

- Frameworks

- Boards

## Examples

Examples are listed from Silicon Labs EFM32 development platform repository:

- mbed-blink

- zephyr-subsys-console-getline

- mbed-serial

- zephyr-blink

- mbed-events

- mbed-dsp

- zephyr-sensor-vl53l0x

## Debugging

PIO Unified Debugger - “1-click” solution for debugging with a zero configuration.

- Tools & Debug Probes

  - On-Board Debug Tools

### Tools & Debug Probes

Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

#### On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.

Name | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | ---
EFM32GG-STK3700 Giant Gecko | EFM32GG990F1024 | 48MHz | 1MB | 128KB
EFM32LG-STK3600 Leopard Gecko | EFM32LG990F256 | 48MHz | 256KB | 32KB
EFM32WG-STK3800 Wonder Gecko | EFM32WG990F256 | 48MHz | 256KB | 32KB
EFM32ZG-STK3200 Zero Gecko | EFM32ZG222F32 | 24MHz | 32KB | 4KB
SLSTK3400A USB-enabled Happy Gecko | EFM32HG322F64 | 25MHz | 64KB | 8KB
SLSTK3401A Pearl Gecko PG1 | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB

## Stable and upstream versions

You can switch between stable releases of Silicon Labs EFM32 development platform and the latest upstream version using platform option in “platformio.ini” (Project Configuration File) as described below.

### Stable

    ; Latest stable version
    [env:latest_stable]
    platform = siliconlabsefm32
    board = ...

    ; Custom stable version
    [env:custom_stable]
    platform = siliconlabsefm32@x.y.z
    board = ...

### Upstream

    [env:upstream_develop]
    platform = https://github.com/platformio/platform-siliconlabsefm32.git
    board = ...

## Packages

Name | Description
--- | ---
framework-mbed | mbed Framework
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-hal-silabs | SiliconLabs HAL for Zephyr framework
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
toolchain-gccarmnoneeabi | gcc-arm-embedded

Warning

Linux Users:

> - Install “udev” rules 99-platformio-udev.rules

> - Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

Windows Users:

> Please check that you have a correctly installed USB driver from board manufacturer

## Frameworks

Name | Description
--- | ---

Mbed

The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

Zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

## Boards

Note

- You can list pre-configured boards by platformio boards command or PlatformIO Boards Explorer

- For more detailed `board` information please scroll the tables below by horizontally.

### Silicon Labs

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
EFM32GG-STK3700 Giant Gecko | On-board | EFM32GG990F1024 | 48MHz | 1MB | 128KB
EFM32LG-STK3600 Leopard Gecko | On-board | EFM32LG990F256 | 48MHz | 256KB | 32KB
EFM32WG-STK3800 Wonder Gecko | On-board | EFM32WG990F256 | 48MHz | 256KB | 32KB
EFM32ZG-STK3200 Zero Gecko | On-board | EFM32ZG222F32 | 24MHz | 32KB | 4KB
SLSTK3400A USB-enabled Happy Gecko | On-board | EFM32HG322F64 | 25MHz | 64KB | 8KB
SLSTK3401A Pearl Gecko PG1 | On-board | EFM32PG1B200F256GM48 | 40MHz | 256KB | 32KB
Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB