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.
Examples¶
Examples are listed from Silicon Labs EFM32 development platform repository:
Debugging¶
Debugging - “1-click” solution for debugging with a zero configuration.
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 |
SLSTK3701A Giant Gecko S1 | EFM32GG11B820F2048GL192 | 48MHz | 2MB | 512KB |
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 | Arm Mbed OS is a platform operating system designed for the internet of things |
framework-zephyr | Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures |
framework-zephyr-canopennode | canopennode Zephyr module |
framework-zephyr-civetweb | Zephyr module for CivetWeb Embedded C/C++ web server |
framework-zephyr-cmsis | Software Interface Standard for Arm Cortex-based Microcontrollers and Zephyr framework |
framework-zephyr-fatfs | Zephyr module for FATFS filesystem |
framework-zephyr-hal-silabs | SiliconLabs HAL for Zephyr framework |
framework-zephyr-hal-st | Zephyr module for the official libraries provided by STMicroelectronics |
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 |
framework-zephyr-tinycrypt | The TinyCrypt Library provides an implementation for constrained devices of a minimal set of standard cryptography primitives for Zephyr framework |
framework-zephyr-trusted-firmware-m | Trusted Firmware M provides a reference implementation of secure world software for ARMv8-M and Zephyr framework |
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 | Software and Documentation Pack for SEGGER J-Link debug probes |
tool-ninja | Ninja is a small build system with a focus on speed |
toolchain-gccarmnoneeabi | GNU toolchain for Arm Cortex-M and Cortex-R processors |
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 | Arm Mbed OS is an open source embedded operating system designed specifically for the ‘things’ in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices |
Zephyr RTOS | 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 pio 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 |
SLSTK3701A Giant Gecko S1 | On-board | EFM32GG11B820F2048GL192 | 48MHz | 2MB | 512KB |
Thunderboard Sense 2 Sensor-to-Cloud Advanced IoT | On-board | EFR32MG12P432F1024 | 40MHz | 1MB | 256KB |