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