This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

EFM32WG-STK3800

Overview

The EFM32 Wonder Gecko Starter Kit EFM32WG-STK3800 contains a MCU from the EFM32WG family built on ARM® Cortex®-M4F processor with excellent low power capabilities.

EFM32WG-STK3800

EFM32WG-STK3800 (image courtesy of Silicon Labs)

Hardware

  • Advanced Energy Monitoring provides real-time information about the energy consumption of an application or prototype design.

  • 32MByte parallel NAND Flash

  • 160 segment Energy Micro LCD

  • 2 user buttons, 2 LEDs and a touch slider

  • Ambient Light Sensor and Inductive-capacitive metal sensor

  • On-board Segger J-Link USB debugger

For more information about the EFM32WG SoC and EFM32WG-STK3800 board:

Supported Features

The efm32wg_stk3800oard configuration supports the following hardware features:

Interface

Controller

Driver/Component

MPU

on-chip

memory protection unit

NVIC

on-chip

nested vector interrupt controller

SYSTICK

on-chip

systick

FLASH

on-chip

flash memory

GPIO

on-chip

gpio

UART

on-chip

serial port-polling; serial port-interrupt

The default configuration can be found in the defconfig file:

boards/arm/efm32wg_stk3800/efm32wg_stk3800_defconfig

Other hardware features are currently not supported by the port.

Connections and IOs

The EFM32WG SoC has six gpio controllers (PORTA to PORTF), but only three are currently enabled (PORTB, PORTE and PORTF) for the EFM32WG-STK3800 board.

In the following table, the column Name contains Pin names. For example, PE2 means Pin number 2 on PORTE, as used in the board’s datasheets and manuals.

Name

Function

Usage

PE2

GPIO

LED0

PE3

GPIO

LED1

PB9

GPIO

Push Button PB0

PB10

GPIO

Push Button PB1

PF7

GPIO

Board Controller Enable EFM_BC_EN

PE0

UART0_TX

UART Console EFM_BC_TX U0_TX #1

PE1

UART0_RX

UART Console EFM_BC_RX U0_RX #1

System Clock

The EFM32WG SoC is configured to use the 48 MHz external oscillator on the board.

Serial Port

The EFM32WG SoC has three USARTs, two UARTs and two Low Energy UARTs (LEUART). UART0 is connected to the board controller and is used for the console.

Programming and Debugging

Note

Before using the kit the first time, you should update the J-Link firmware from J-Link-Downloads

Flashing

The EFM32WG-STK3800 includes an J-Link serial and debug adaptor built into the board. The adaptor provides:

  • A USB connection to the host computer, which exposes a Mass Storage and a USB Serial Port.

  • A Serial Flash device, which implements the USB flash disk file storage.

  • A physical UART connection which is relayed over interface USB Serial port.

Flashing an application to EFM32-STK3800

The sample application Hello World is used for this example. Build the Zephyr kernel and application:

# From the root of the zephyr repository
west build -b efm32wg_stk3800 samples/hello_world

Connect the EFM32WG-STK3800 to your host computer using the USB port and you should see a USB connection which exposes a Mass Storage (STK3800) and a USB Serial Port. Copy the generated zephyr.bin in the STK3800 drive.

Open a serial terminal (minicom, putty, etc.) with the following settings:

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

Reset the board and you should be able to see on the corresponding Serial Port the following message:

Hello World! arm