EFM32 Pearl Gecko 12 (SLSTK3402A)

Overview

The EFM32 Pearl Gecko 12 Starter Kit SLSTK3402A contains an MCU from the EFM32PG family built on an ARM® Cortex®-M4F processor with excellent low power capabilities.

Hardware

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

  • Ultra low power 128x128 pixel Memory-LCD

  • 2 user buttons, 2 LEDs and a touch slider

  • Humidity, temperature, and inductive-capacitive metal sensor

  • On-board Segger J-Link USB debugger

For more information about the EFM32PG SoC and SLSTK3402A board:

Supported Features

The slstk3402a 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.

slstk3402a/efm32jg12b500f1024gl125 target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M3 CPU1

arm,cortex-m3

ADC

on-chip

Silicon Labs Gecko Series 1 ADC1

silabs,gecko-adc

Flash controller

on-chip

Silicon Labs Gecko flash controller1

silabs,gecko-flash-controller

GPIO & Headers

on-chip

SiLabs Gecko GPIO1

silabs,gecko-gpio

on-chip

SiLabs Gecko GPIO Port4 5

silabs,gecko-gpio-port

I2C

on-chip

Silabs Gecko I2C1 1

silabs,gecko-i2c

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

The Silabs pin controller is a singleton node responsible for controlling pin function selection and pin properties1

silabs,gecko-pinctrl

PWM

on-chip

Silabs Gecko PWM port1

silabs,gecko-pwm

RNG

on-chip

GECKO TRNG (True Random Number Generator)1

silabs,gecko-trng

RTC

on-chip

Silabs Gecko RTCC (Real-Time Counter)1

silabs,gecko-rtcc

Serial controller

on-chip

Gecko USART1 3

silabs,gecko-usart

on-chip

Gecko LEUART1

silabs,gecko-leuart

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

Watchdog

on-chip

Silicon Labs Gecko Family Watchdog driver2

silabs,gecko-wdog

slstk3402a/efm32pg12b500f1024gl125 target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4F CPU1

arm,cortex-m4f

ADC

on-chip

Silicon Labs Gecko Series 1 ADC1

silabs,gecko-adc

Flash controller

on-chip

Silicon Labs Gecko flash controller1

silabs,gecko-flash-controller

GPIO & Headers

on-chip

SiLabs Gecko GPIO1

silabs,gecko-gpio

on-chip

SiLabs Gecko GPIO Port4 5

silabs,gecko-gpio-port

I2C

on-chip

Silabs Gecko I2C1 1

silabs,gecko-i2c

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

The Silabs pin controller is a singleton node responsible for controlling pin function selection and pin properties1

silabs,gecko-pinctrl

PWM

on-chip

Silabs Gecko PWM port1

silabs,gecko-pwm

RNG

on-chip

GECKO TRNG (True Random Number Generator)1

silabs,gecko-trng

RTC

on-chip

Silabs Gecko RTCC (Real-Time Counter)1

silabs,gecko-rtcc

Serial controller

on-chip

Gecko USART1 3

silabs,gecko-usart

on-chip

Gecko LEUART1

silabs,gecko-leuart

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

Watchdog

on-chip

Silicon Labs Gecko Family Watchdog driver2

silabs,gecko-wdog

EFM32 Jade Gecko SoC

The EFM32 Pearl Gecko Starter Kit SLSTK3402A can also be used to evaluate the EFM32 Jade Gecko SoC (EFM32JG12). The only difference between the Pearl Gecko and the Jade Gecko is their core. The Pearl Gecko contains an ARM® Cortex®-M4F core, and the Jade Gecko an ARM® Cortex®-M3 core. Other features such as memory and peripherals are the same.

Code that is built for the Jade Gecko also runs on an equivalent Pearl Gecko.

To build firmware for the Jade Gecko and run it on the EFM32 Pearl Gecko Starter Kit, use the board slstk3402a/efm32jg12b500f1024gl125 instead of slstk3402a/efm32pg12b500f1024gl125.

Connections and IOs

The EFM32PG12 SoC has twelve GPIO controllers (PORTA to PORTL), but only four are currently enabled (PORTA, PORTB, PORTD and PORTF) for the SLSTK3402A 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

PF4

GPIO

LED0

PF5

GPIO

LED1

PF6

GPIO

Push Button PB0

PF7

GPIO

Push Button PB1

PA5

GPIO

Board Controller Enable EFM_BC_EN

PA0

UART_TX

UART TX Console VCOM_TX US0_TX #0

PA1

UART_RX

UART RX Console VCOM_RX US0_RX #0

PD10

UART_TX

EXP12_UART_TX LEU0_TX #18

PD11

UART_RX

EXP14_UART_RX LEU0_RX #18

PC10

I2C_SDA

ENV_I2C_SDA I2C0_SDA #15

PC11

I2C_SCL

ENV_I2C_SCL I2C0_SCL #15

System Clock

The EFM32PG12 SoC is configured to use the 40 MHz external oscillator on the board.

Serial Port

The EFM32PG12 SoC has four USARTs and one Low Energy UART (LEUART).

Programming and Debugging

Note

Before using the kit the first time, you should update the J-Link firmware in Simplicity Studio.

Flashing

The SLSTK3402A 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 device 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 SLSTK3402A

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 slstk3402a/efm32pg12b500f1024gl125 samples/hello_world

Connect the SLSTK3402A to your host computer using the USB port and you should see a USB connection which exposes a mass storage device(STK3402A). Copy the generated zephyr.bin to the STK3402A drive.

Use a USB-to-UART converter such as an FT232/CP2102 to connect to the UART on the expansion header.

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’ll see the following message on the corresponding serial port terminal session:

Hello World! slstk3402a