EFM32HG-SLSTK3400A

Overview

The EFM32 Happy Gecko Starter Kit EFM32HG-SLSTK3400A contains a MCU from the EFM32HG family built on ARM® Cortex®-M0+ processor with excellent low power capabilities.

EFM32HG-SLSTK3400A

EFM32HG-SLSTK3400A (image courtesy of Silicon Labs)

Hardware

  • Advanced Energy Monitoring system for precise current tracking
  • Real-time energy and power profiling
  • ARM Cortex M0+ with 64 kB Flash and 8 kB RAM
  • 128 X 128 pixel Memory LCD
  • 2 user buttons, 2 user LEDs and 2 touch buttons
  • 20 pin expansion header
  • Silicon Labs Si7021 Relative Humidity/Temperature sensor
  • USB device interface
  • Integrated SEGGER J-Link USB debugger/emulator with debug out functionality

See these documents for more information

Supported Features

The efm32hg_slstk3400 board configuration supports the following hardware features:

Interface Controller Driver/Component
NVIC on-chip nested vector interrupt controller
SYSTICK on-chip systick
FLASH on-chip flash memory
GPIO on-chip gpio
USART on-chip serial port-polling; serial port-interrupt

The default configuration can be found in the defconfig file: boards/arm/efm32hg_slstk3400a/efm32hg_slstk3400a_defconfig

Other hardware features are currently not supported by the port.

Connections and IOs

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

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

Name Function Usage
PF4 GPIO LED0
PF5 GPIO LED1
PC9 GPIO Push Button PB0
PC10 GPIO Push Button PB1
PF7 GPIO Board Controller Enable EFM_BC_EN
PF2 USART0_TX USART Console EFM_BC_TX U0_TX #4
PA9 USART0_RX USART Console EFM_BC_RX U0_RX #4

System Clock

The EFM32HG SoC is configured to use the 24 MHz external oscillator on the board.

Serial Port

The EFM32HG SoC has two USARTs, two UARTs and two Low Energy UARTs (LEUART). USART1 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 EFM32HG-SLSTK3400 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-SLSTK3400A

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

# On Linux/macOS
cd $ZEPHYR_BASE/samples/hello_world
mkdir build && cd build

# On Windows
cd %ZEPHYR_BASE%\samples\hello_world
mkdir build & cd build


# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=efm32hg_slstk3400a ..

# Now run ninja on the generated build system:
ninja

Connect the EFM32HG-SLSTK3400A to your host computer using the USB port and you should see a USB connection that exposes a mass storage device (STK3400) and a USB Serial Port. Copy the generated zephyr.bin in the STK3400 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 will see this message written to the serial port:

Hello World! arm