1.. _efm32wg_stk3800:
2
3EFM32WG-STK3800
4###############
5
6Overview
7********
8
9The EFM32 Wonder Gecko Starter Kit EFM32WG-STK3800 contains a MCU from the
10EFM32WG family built on ARM® Cortex®-M4F processor with excellent low
11power capabilities.
12
13.. figure:: ./efm32wg_stk3800.jpg
14   :width: 375px
15   :align: center
16   :alt: EFM32WG-STK3800
17
18   EFM32WG-STK3800 (image courtesy of Silicon Labs)
19
20
21Hardware
22********
23
24- Advanced Energy Monitoring provides real-time information about the energy
25  consumption of an application or prototype design.
26- 32MByte parallel NAND Flash
27- 160 segment Energy Micro LCD
28- 2 user buttons, 2 LEDs and a touch slider
29- Ambient Light Sensor and Inductive-capacitive metal sensor
30- On-board Segger J-Link USB debugger
31
32For more information about the EFM32WG SoC and EFM32WG-STK3800 board:
33
34- `EFM32WG Website`_
35- `EFM32WG Datasheet`_
36- `EFM32WG Reference Manual`_
37- `EFM32WG-STK3800 Website`_
38- `EFM32WG-STK3800 User Guide`_
39- `EFM32WG-STK3800 Schematics`_
40
41Supported Features
42==================
43
44The efm32wg_stk3800oard configuration supports the following hardware features:
45
46+-----------+------------+-------------------------------------+
47| Interface | Controller | Driver/Component                    |
48+===========+============+=====================================+
49| MPU       | on-chip    | memory protection unit              |
50+-----------+------------+-------------------------------------+
51| NVIC      | on-chip    | nested vector interrupt controller  |
52+-----------+------------+-------------------------------------+
53| SYSTICK   | on-chip    | systick                             |
54+-----------+------------+-------------------------------------+
55| FLASH     | on-chip    | flash memory                        |
56+-----------+------------+-------------------------------------+
57| GPIO      | on-chip    | gpio                                |
58+-----------+------------+-------------------------------------+
59| UART      | on-chip    | serial port-polling;                |
60|           |            | serial port-interrupt               |
61+-----------+------------+-------------------------------------+
62
63The default configuration can be found in the defconfig file:
64
65	``boards/arm/efm32wg_stk3800/efm32wg_stk3800_defconfig``
66
67Other hardware features are currently not supported by the port.
68
69Connections and IOs
70===================
71
72The EFM32WG SoC has six gpio controllers (PORTA to PORTF), but only three are
73currently enabled (PORTB, PORTE and PORTF) for the EFM32WG-STK3800 board.
74
75In the following table, the column Name contains Pin names. For example, PE2
76means Pin number 2 on PORTE, as used in the board's datasheets and manuals.
77
78+-------+-------------+-------------------------------------+
79| Name  | Function    | Usage                               |
80+=======+=============+=====================================+
81| PE2   | GPIO        | LED0                                |
82+-------+-------------+-------------------------------------+
83| PE3   | GPIO        | LED1                                |
84+-------+-------------+-------------------------------------+
85| PB9   | GPIO        | Push Button PB0                     |
86+-------+-------------+-------------------------------------+
87| PB10  | GPIO        | Push Button PB1                     |
88+-------+-------------+-------------------------------------+
89| PF7   | GPIO        | Board Controller Enable             |
90|       |             | EFM_BC_EN                           |
91+-------+-------------+-------------------------------------+
92| PE0   | UART0_TX    | UART Console EFM_BC_TX U0_TX #1     |
93+-------+-------------+-------------------------------------+
94| PE1   | UART0_RX    | UART Console EFM_BC_RX U0_RX #1     |
95+-------+-------------+-------------------------------------+
96
97System Clock
98============
99
100The EFM32WG SoC is configured to use the 48 MHz external oscillator on the
101board.
102
103Serial Port
104===========
105
106The EFM32WG SoC has three USARTs, two UARTs and two Low Energy UARTs (LEUART).
107UART0 is connected to the board controller and is used for the console.
108
109Programming and Debugging
110*************************
111
112.. note::
113   Before using the kit the first time, you should update the J-Link firmware
114   from `J-Link-Downloads`_
115
116Flashing
117========
118
119The EFM32WG-STK3800 includes an `J-Link`_ serial and debug adaptor built into the
120board. The adaptor provides:
121
122- A USB connection to the host computer, which exposes a Mass Storage and a
123  USB Serial Port.
124- A Serial Flash device, which implements the USB flash disk file storage.
125- A physical UART connection which is relayed over interface USB Serial port.
126
127Flashing an application to EFM32-STK3800
128----------------------------------------
129
130The sample application :ref:`hello_world` is used for this example.
131Build the Zephyr kernel and application:
132
133.. zephyr-app-commands::
134   :zephyr-app: samples/hello_world
135   :board: efm32wg_stk3800
136   :goals: build
137
138Connect the EFM32WG-STK3800 to your host computer using the USB port and you
139should see a USB connection which exposes a Mass Storage (STK3800) and a
140USB Serial Port. Copy the generated zephyr.bin in the STK3800 drive.
141
142Open a serial terminal (minicom, putty, etc.) with the following settings:
143
144- Speed: 115200
145- Data: 8 bits
146- Parity: None
147- Stop bits: 1
148
149Reset the board and you should be able to see on the corresponding Serial Port
150the following message:
151
152.. code-block:: console
153
154   Hello World! arm
155
156
157.. _EFM32WG-STK3800 Website:
158   http://www.silabs.com/products/development-tools/mcu/32-bit/efm32-wonder-gecko-starter-kit
159
160.. _EFM32WG-STK3800 User Guide:
161   http://www.silabs.com/documents/public/user-guides/efm32wg-stk3800-ug.pdf
162
163.. _EFM32WG-STK3800 Schematics:
164   http://www.silabs.com/documents/public/schematic-files/BRD2400A_A00.pdf
165
166.. _EFM32WG Website:
167   http://www.silabs.com/products/mcu/32-bit/efm32-wonder-gecko
168
169.. _EFM32WG Datasheet:
170   http://www.silabs.com/documents/public/data-sheets/EFM32WG990.pdf
171
172.. _EFM32WG Reference Manual:
173   http://www.silabs.com/documents/public/reference-manuals/EFM32WG-RM.pdf
174
175.. _J-Link:
176   https://www.segger.com/jlink-debug-probes.html
177
178.. _J-Link-Downloads:
179   https://www.segger.com/downloads/jlink
180