.. _efm32wg_stk3800:

EFM32WG-STK3800
###############

Overview
********

The EFM32 Wonder Gecko Starter Kit EFM32WG-STK3800 contains a MCU from the
EFM32WG family built on ARM® Cortex®-M4F processor with excellent low
power capabilities.

.. image:: efm32wg_stk3800.jpg
   :width: 375px
   :align: center
   :alt: EFM32WG-STK3800

Hardware
********

- Advanced Energy Monitoring provides real-time information about the energy
  consumption of an application or prototype design.
- 32MByte parallel NAND Flash
- 160 segment Energy Micro LCD
- 2 user buttons, 2 LEDs and a touch slider
- Ambient Light Sensor and Inductive-capacitive metal sensor
- On-board Segger J-Link USB debugger

For more information about the EFM32WG SoC and EFM32WG-STK3800 board:

- `EFM32WG Website`_
- `EFM32WG Datasheet`_
- `EFM32WG Reference Manual`_
- `EFM32WG-STK3800 Website`_
- `EFM32WG-STK3800 User Guide`_
- `EFM32WG-STK3800 Schematics`_

Supported Features
==================

The efm32wg_stk3800oard configuration supports the following hardware features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| SYSTICK   | on-chip    | systick                             |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port-polling;                |
|           |            | serial port-interrupt               |
+-----------+------------+-------------------------------------+

The default configuration can be found in the defconfig file:

	``boards/arm/efm32wg_stk3800/efm32wg_stk3800_defconfig``

Other hardware features are currently not supported by the port.

Connections and IOs
===================

The EFM32WG SoC has six gpio controllers (PORTA to PORTF), but only three are
currently enabled (PORTB, PORTE and PORTF) for the EFM32WG-STK3800 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                               |
+=======+=============+=====================================+
| PE2   | GPIO        | LED0                                |
+-------+-------------+-------------------------------------+
| PE3   | GPIO        | LED1                                |
+-------+-------------+-------------------------------------+
| PB0   | GPIO        | Push Button PB0                     |
+-------+-------------+-------------------------------------+
| PB1   | GPIO        | Push Button PB1                     |
+-------+-------------+-------------------------------------+
| PF7   | GPIO        | Board Controller Enable             |
|       |             | EFM_BC_EN                           |
+-------+-------------+-------------------------------------+
| PE0   | UART0_TX    | UART Console EFM_BC_TX U0_TX #1     |
+-------+-------------+-------------------------------------+
| PE1   | UART0_RX    | UART Console EFM_BC_RX U0_RX #1     |
+-------+-------------+-------------------------------------+

System Clock
============

The EFM32WG SoC is configured to use the 48 MHz external oscillator on the
board.

Serial Port
===========

The EFM32WG SoC has three USARTs, two UARTs and two Low Energy UARTs (LEUART).
UART0 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 EFM32WG-STK3800 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-STK3800
----------------------------------------

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: efm32wg_stk3800
   :goals: build

Connect the EFM32WG-STK3800 to your host computer using the USB port and you
should see a USB connection which exposes a Mass Storage (STK3800) and a
USB Serial Port. Copy the generated zephyr.bin in the STK3800 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 should be able to see on the corresponding Serial Port
the following message:

.. code-block:: console

   Hello World! arm


.. _EFM32WG-STK3800 Website:
   http://www.silabs.com/products/development-tools/mcu/32-bit/efm32-wonder-gecko-starter-kit

.. _EFM32WG-STK3800 User Guide:
   http://www.silabs.com/documents/public/user-guides/efm32wg-stk3800-ug.pdf

.. _EFM32WG-STK3800 Schematics:
   http://www.silabs.com/documents/public/schematic-files/BRD2400A_A00.pdf

.. _EFM32WG Website:
   http://www.silabs.com/products/mcu/32-bit/efm32-wonder-gecko

.. _EFM32WG Datasheet:
   http://www.silabs.com/documents/public/data-sheets/EFM32WG990.pdf

.. _EFM32WG Reference Manual:
   http://www.silabs.com/documents/public/reference-manuals/EFM32WG-RM.pdf

.. _J-Link:
   https://www.segger.com/jlink-debug-probes.html

.. _J-Link-Downloads:
   https://www.segger.com/downloads/jlink
