.. _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:: ../../../../../../../../../zephyr/boards/arm/efm32hg_slstk3400a/doc/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/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