1.. zephyr:board:: slstk3400a
2
3Overview
4********
5
6The EFM32 Happy Gecko Starter Kit SLSTK3400A contains a MCU from the
7EFM32HG family built on ARM® Cortex®-M0+ processor with excellent low
8power capabilities.
9
10Hardware
11********
12
13- Advanced Energy Monitoring system for precise current tracking
14- Real-time energy and power profiling
15- ARM Cortex M0+ with 64 kB Flash and 8 kB RAM
16- 128 X 128 pixel Memory LCD
17- 2 user buttons, 2 user LEDs and 2 touch buttons
18- 20 pin expansion header
19- Silicon Labs Si7021 Relative Humidity/Temperature sensor
20- USB device interface
21- Integrated SEGGER J-Link USB debugger/emulator with debug out functionality
22
23
24See these documents for more information
25
26- `EFM32HG Website`_
27- `EFM32HG Datasheet`_
28- `EFM32HG Reference Manual`_
29- `SLSTK3400A Website`_
30- `SLSTK3400A User Guide`_
31- `SLSTK3400A Schematics`_
32
33Supported Features
34==================
35
36The efm32hg_slstk3400 board configuration supports the following hardware features:
37
38+-----------+------------+-------------------------------------+
39| Interface | Controller | Driver/Component                    |
40+===========+============+=====================================+
41| NVIC      | on-chip    | nested vector interrupt controller  |
42+-----------+------------+-------------------------------------+
43| SYSTICK   | on-chip    | systick                             |
44+-----------+------------+-------------------------------------+
45| FLASH     | on-chip    | flash memory                        |
46+-----------+------------+-------------------------------------+
47| GPIO      | on-chip    | gpio                                |
48+-----------+------------+-------------------------------------+
49| USART     | on-chip    | serial port-polling;                |
50|           |            | serial port-interrupt               |
51+-----------+------------+-------------------------------------+
52
53The default configuration can be found in
54:zephyr_file:`boards/silabs/starter_kits/slstk3400a/slstk3400a_defconfig`
55
56Other hardware features are currently not supported by the port.
57
58Connections and IOs
59===================
60
61The EFM32HG SoC has six GPIO controllers (PORTA to PORTF), but only three are
62currently enabled (PORTB, PORTE and PORTF) for the SLSTK3400A board.
63
64In the following table, the column Name contains Pin names. For example, PF4
65means Pin number 4 on PORTF, as used in the board's datasheets and manuals.
66
67+-------+-------------+-------------------------------------+
68| Name  | Function    | Usage                               |
69+=======+=============+=====================================+
70| PF4   | GPIO        | LED0                                |
71+-------+-------------+-------------------------------------+
72| PF5   | GPIO        | LED1                                |
73+-------+-------------+-------------------------------------+
74| PC9   | GPIO        | Push Button PB0                     |
75+-------+-------------+-------------------------------------+
76| PC10  | GPIO        | Push Button PB1                     |
77+-------+-------------+-------------------------------------+
78| PF7   | GPIO        | Board Controller Enable             |
79|       |             | EFM_BC_EN                           |
80+-------+-------------+-------------------------------------+
81| PF2   | USART0_TX   | USART Console EFM_BC_TX U0_TX #4    |
82+-------+-------------+-------------------------------------+
83| PA9   | USART0_RX   | USART Console EFM_BC_RX U0_RX #4    |
84+-------+-------------+-------------------------------------+
85
86System Clock
87============
88
89The EFM32HG SoC is configured to use the 24 MHz external oscillator on the
90board.
91
92Serial Port
93===========
94
95The EFM32HG SoC has two USARTs, two UARTs and two Low Energy UARTs (LEUART).
96USART1 is connected to the board controller and is used for the console.
97
98Programming and Debugging
99*************************
100
101.. note::
102   Before using the kit the first time, you should update the J-Link firmware
103   in Simplicity Studio.
104
105Flashing
106========
107
108The SLSTK3400 includes an `J-Link`_ serial and debug adaptor built into the
109board. The adaptor provides:
110
111- A USB connection to the host computer, which exposes a Mass Storage and a
112  USB Serial Port.
113- A Serial Flash device, which implements the USB flash disk file storage.
114- A physical UART connection which is relayed over interface USB Serial port.
115
116Flashing an application to EFM32-SLSTK3400A
117-------------------------------------------
118
119The sample application :zephyr:code-sample:`hello_world` is used for this example.
120Build the Zephyr kernel and application:
121
122.. zephyr-app-commands::
123   :zephyr-app: samples/hello_world
124   :board: slstk3400a
125   :goals: build
126
127Connect the SLSTK3400A to your host computer using the USB port and
128you should see a USB connection that exposes a mass storage device (STK3400)
129and a USB Serial Port. Copy the generated ``zephyr.bin`` in the STK3400 drive.
130
131Open a serial terminal (minicom, putty, etc.) with the following settings:
132
133- Speed: 115200
134- Data: 8 bits
135- Parity: None
136- Stop bits: 1
137
138Reset the board and you will see this message written to the serial port:
139
140.. code-block:: console
141
142   Hello World! slstk3400a
143
144
145.. _SLSTK3400A Website:
146   https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-happy-gecko-starter-kit
147
148.. _SLSTK3400A User Guide:
149   https://www.silabs.com/documents/public/user-guides/ug255-stk3400-user-guide.pdf
150
151.. _SLSTK3400A Schematics:
152   https://www.silabs.com/documents/public/schematic-files/BRD2012A-B01-schematic.pdf
153
154.. _EFM32HG Website:
155   https://www.silabs.com/products/mcu/32-bit/efm32-happy-gecko
156
157.. _EFM32HG Datasheet:
158   https://www.silabs.com/documents/public/data-sheets/EFM32HG322.pdf
159
160.. _EFM32HG Reference Manual:
161   https://www.silabs.com/documents/public/reference-manuals/EFM32HG-RM.pdf
162
163.. _J-Link:
164   https://www.segger.com/jlink-debug-probes.html
165