blob: 6f81474df52a741f08abe27a326c07bda147f72b [file] [log] [blame]
.. _efm32hg_slstk3400a:
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.
.. figure:: efm32hg_slstk3400a.jpg
:align: center
:alt: 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
- `EFM32HG Website`_
- `EFM32HG Datasheet`_
- `EFM32HG Reference Manual`_
- `EFM32HG-SLSTK3400A Website`_
- `EFM32HG-SLSTK3400A User Guide`_
- `EFM32HG-SLSTK3400A Schematics`_
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 :ref:`hello_world` is used for this example.
Build the Zephyr kernel and application:
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: efm32hg_slstk3400a
:goals: build
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:
.. code-block:: console
Hello World! arm
.. _EFM32HG-SLSTK3400A Website:
https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-happy-gecko-starter-kit
.. _EFM32HG-SLSTK3400A User Guide:
https://www.silabs.com/documents/public/user-guides/ug255-stk3400-user-guide.pdf
.. _EFM32HG-SLSTK3400A Schematics:
https://www.silabs.com/documents/public/schematic-files/EFM32HG_BRD2012A_B01_schematic.PDF
.. _EFM32HG Website:
https://www.silabs.com/products/mcu/32-bit/efm32-happy-gecko
.. _EFM32HG Datasheet:
https://www.silabs.com/documents/public/data-sheets/EFM32HG322.pdf
.. _EFM32HG Reference Manual:
https://www.silabs.com/documents/public/reference-manuals/EFM32HG-RM.pdf
.. _J-Link:
https://www.segger.com/jlink-debug-probes.html
.. _J-Link-Downloads:
https://www.segger.com/downloads/jlink