1.. _efm32gg_sltb009a: 2 3EFM32GG12 Thunderboard Kit 4########################## 5 6Overview 7******** 8 9The EFM32GG12 Thunderboard Kit (SLTB009A) is an evaluation platform for the EFM32GG12 GiantGecko Microcontroller, 10featuring an ARM Cortex-M4 with FPU, 1024kB flash, and 192kB RAM. 11 12.. figure:: efm32gg12-thunderboard-kit.jpg 13 :align: center 14 :alt: SLTB009A 15 16 SLTB009A (Credit: Silicon Labs) 17 18Hardware 19******** 20 21- PDM stereo microphones 22- USB connectivity 23- On-board Segger J-Link USB debugger 24- 2 user buttons and 2 LEDs 25- USB C connector 26 27For more information about the WGM160P and SLTB009A board: 28 29- `SLTB009A Website`_ 30- `SLTB009A User Guide`_ 31- `EFM32GG12 Datasheet`_ 32- `EFM32GG12 Reference Manual`_ 33 34Supported Features 35================== 36 37The efm32gg_sltb009a board configuration supports the following hardware 38features: 39 40+-----------+------------+-------------------------------------+ 41| Interface | Controller | Driver/Component | 42+===========+============+=====================================+ 43| MPU | on-chip | memory protection unit | 44+-----------+------------+-------------------------------------+ 45| COUNTER | on-chip | rtcc | 46+-----------+------------+-------------------------------------+ 47| FLASH | on-chip | flash memory | 48+-----------+------------+-------------------------------------+ 49| GPIO | on-chip | gpio | 50+-----------+------------+-------------------------------------+ 51| I2C | on-chip | i2c port-polling | 52+-----------+------------+-------------------------------------+ 53| NVIC | on-chip | nested vector interrupt controller | 54+-----------+------------+-------------------------------------+ 55| UART | on-chip | serial port-polling; | 56| | | serial port-interrupt | 57+-----------+------------+-------------------------------------+ 58 59The default configuration can be found in the defconfig file: 60 61 ``boards/arm/efm32gg_sltb009a/efm32gg_sltb009a_defconfig`` 62 63 64Connections and IOs 65=================== 66 67The EFM32GG12 MCU has six GPIO controllers (PORTA to PORTF), all of which are 68currently enabled for the SLTB009A board. 69 70In the following table, the column **Name** contains pin names. For example, PE1 71means pin number 1 on PORTE, as used in the board's datasheets and manuals. 72 73+-------+-------------+-------------------------------------+ 74| Name | Function | Usage | 75+=======+=============+=====================================+ 76| PE12 | GPIO | LED0 | 77+-------+-------------+-------------------------------------+ 78| PA13 | GPIO | LED1 | 79+-------+-------------+-------------------------------------+ 80| PD5 | GPIO | Push Button PB0 | 81+-------+-------------+-------------------------------------+ 82| PD8 | GPIO | Push Button PB1 | 83+-------+-------------+-------------------------------------+ 84| PE7 | UART_TX | UART TX Console VCOM_TX US0_TX #1 | 85+-------+-------------+-------------------------------------+ 86| PE6 | UART_RX | UART RX Console VCOM_RX US0_RX #1 | 87+-------+-------------+-------------------------------------+ 88| PC0 | I2C_SDA | SENSOR_I2C_SDA I2C0_SDA #1 | 89+-------+-------------+-------------------------------------+ 90| PC1 | I2C_SCL | SENSOR_I2C_SCL I2C0_SCL #1 | 91+-------+-------------+-------------------------------------+ 92| PC4 | I2C_SDA | SENSOR_I2C_SDA I2C1_SDA #1 | 93+-------+-------------+-------------------------------------+ 94| PC5 | I2C_SCL | SENSOR_I2C_SCL I2C1_SCL #1 | 95+-------+-------------+-------------------------------------+ 96 97 98System Clock 99============ 100 101The EFM32GG12 MCU is configured to work at 72 MHz. 102 103Serial Port 104=========== 105 106The EFM32GG12 SoC has five USARTs, two UARTs and two Low Energy UARTs (LEUART). 107USART0 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 SLTB009A includes an `J-Link`_ serial and debug adaptor built into the 120board. The adaptor provides: 121 122- A USB connection to the host computer 123- A physical UART connection which is relayed over interface USB serial port. 124 125Flashing an application to SLTB009A 126-------------------------------------- 127 128Connect the SLTB009A to your host computer using the USB port. 129 130Here is an example to build and flash the :ref:`hello_world` application. 131 132.. zephyr-app-commands:: 133 :zephyr-app: samples/hello_world 134 :board: efm32gg_stb009a 135 :goals: flash 136 137Open a serial terminal (minicom, putty, etc.) with the following settings: 138 139- Speed: 115200 140- Data: 8 bits 141- Parity: None 142- Stop bits: 1 143 144Reset the board and you'll see the following message on the corresponding serial port 145terminal session: 146 147.. code-block:: console 148 149 Hello World! efm32gg_sltb009a 150 151.. _SLTB009A Website: 152 https://www.silabs.com/development-tools/thunderboard/thunderboard-gg12-kit 153 154.. _SLTB009A User Guide: 155 https://www.silabs.com/documents/public/user-guides/ug371-sltb009a-user-guide.pdf 156 157.. _EFM32GG12 Datasheet: 158 https://www.silabs.com/documents/public/data-sheets/efm32gg12-datasheet.pdf 159 160.. _EFM32GG12 Reference Manual: 161 https://www.silabs.com/documents/public/reference-manuals/efm32gg12-rm.pdf 162 163.. _J-Link: 164 https://www.segger.com/jlink-debug-probes.html 165 166.. _J-Link-Downloads: 167 https://www.segger.com/downloads/jlink 168