EFM32 Happy Gecko (SLSTK3400A)
Overview
The EFM32 Happy Gecko Starter Kit SLSTK3400A contains a MCU from the EFM32HG family built on ARM® Cortex®-M0+ processor with excellent low power capabilities.
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 slstk3400a
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
slstk3400a/efm32hg322f64
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M0+ CPU1 |
|
Flash controller |
on-chip |
Silicon Labs Gecko flash controller1 |
|
GPIO & Headers |
on-chip |
SiLabs Gecko GPIO1 |
|
on-chip |
|||
I2C |
on-chip |
Silabs Gecko I2C1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MTD |
on-chip |
Flash node1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
Pin control |
on-chip |
The Silabs pin controller is a singleton node responsible for controlling pin function selection and pin properties1 |
|
Serial controller |
on-chip |
||
on-chip |
Gecko LEUART1 |
||
SRAM |
on-chip |
Generic on-chip SRAM description1 |
|
Timer |
on-chip |
ARMv6-M System Tick1 |
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 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 in Simplicity Studio.
Flashing
The 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:
# From the root of the zephyr repository
west build -b slstk3400a samples/hello_world
Connect the 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! slstk3400a