|  | .. _efm32pg_stk3402a: | 
|  |  | 
|  | EFM32 Pearl Gecko Starter Kit | 
|  | ############################# | 
|  |  | 
|  | Overview | 
|  | ******** | 
|  |  | 
|  | The EFM32 Pearl Gecko Starter Kit EFM32PG-STK3402A contains an MCU from the | 
|  | EFM32PG family built on an ARM® Cortex®-M4F processor with excellent low | 
|  | power capabilities. | 
|  |  | 
|  | .. figure:: efm32pg_stk3402a.jpg | 
|  | :align: center | 
|  | :alt: EFM32PG-SLSTK3402A | 
|  |  | 
|  | EFM32PG-SLSTK3402A (image courtesy of Silicon Labs) | 
|  |  | 
|  | Hardware | 
|  | ******** | 
|  |  | 
|  | - Advanced Energy Monitoring provides real-time information about the energy | 
|  | consumption of an application or prototype design. | 
|  | - Ultra low power 128x128 pixel Memory-LCD | 
|  | - 2 user buttons, 2 LEDs and a touch slider | 
|  | - Humidity, temperature, and inductive-capacitive metal sensor | 
|  | - On-board Segger J-Link USB debugger | 
|  |  | 
|  | For more information about the EFM32PG SoC and EFM32PG-STK3402A board: | 
|  |  | 
|  | - `EFM32PG Website`_ | 
|  | - `EFM32PG12 Datasheet`_ | 
|  | - `EFM32PG12 Reference Manual`_ | 
|  | - `EFM32PG-STK3402A Website`_ | 
|  | - `EFM32PG-STK3402A User Guide`_ | 
|  | - `EFM32PG-STK3402A Schematics`_ | 
|  |  | 
|  | Supported Features | 
|  | ================== | 
|  |  | 
|  | The efm32pg_stk3402a board configuration supports the following hardware features: | 
|  |  | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | Interface | Controller | Driver/Component                    | | 
|  | +===========+============+=====================================+ | 
|  | | MPU       | on-chip    | memory protection unit              | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | NVIC      | on-chip    | nested vector interrupt controller  | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | SYSTICK   | on-chip    | systick                             | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | COUNTER   | on-chip    | rtcc                                | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | FLASH     | on-chip    | flash memory                        | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | GPIO      | on-chip    | gpio                                | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | UART      | on-chip    | serial port-polling;                | | 
|  | |           |            | serial port-interrupt               | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | I2C       | on-chip    | i2c port-polling                    | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | WATCHDOG  | on-chip    | watchdog                            | | 
|  | +-----------+------------+-------------------------------------+ | 
|  | | TRNG      | on-chip    | true random number generator        | | 
|  | +-----------+------------+-------------------------------------+ | 
|  |  | 
|  | The default configuration can be found in the defconfig file: | 
|  |  | 
|  | ``boards/arm/efm32pg_stk3402a/efm32pg_stk3402a_defconfig`` | 
|  |  | 
|  | The default configuration when building for this EFM32JG12B SoC can be found in | 
|  | another defconfig file: | 
|  |  | 
|  | ``boards/arm/efm32pg_stk3402a/efm32pg_stk3402a_defconfig_jg`` | 
|  |  | 
|  | Other hardware features are currently not supported by the port. | 
|  |  | 
|  | EFM32 Jade Gecko SoC | 
|  | -------------------- | 
|  |  | 
|  | The EFM32 Pearl Gecko Starter Kit EFM32PG-STK3402A can also be used to evaluate | 
|  | the EFM32 Jade Gecko SoC (EFM32JG12B). The only difference between the Pearl | 
|  | Gecko and the Jade Gecko is their core. The Pearl Gecko contains an ARM® | 
|  | Cortex®-M4F core, and the Jade Gecko an ARM® Cortex®-M3 core. Other features | 
|  | such as memory and peripherals are the same. | 
|  |  | 
|  | Code that is built for the Jade Gecko also runs on an equivalent Pearl Gecko. | 
|  |  | 
|  | To build firmware for the Jade Gecko and run it on the EFM32 Pearl Gecko Starter | 
|  | Kit, use the board ``efm32pg_stk3402a_jg`` instead of ``efm32pg_stk3402a``. | 
|  |  | 
|  | Connections and IOs | 
|  | =================== | 
|  |  | 
|  | The EFM32PG12 SoC has twelve GPIO controllers (PORTA to PORTL), but only four | 
|  | are currently enabled (PORTA, PORTB, PORTD and PORTF) for the EFM32PG-STK3402A | 
|  | 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                               | | 
|  | +=======+=============+=====================================+ | 
|  | | PF4   | GPIO        | LED0                                | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PF5   | GPIO        | LED1                                | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PF6   | GPIO        | Push Button PB0                     | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PF7   | GPIO        | Push Button PB1                     | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PA5   | GPIO        | Board Controller Enable             | | 
|  | |       |             | EFM_BC_EN                           | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PA0   | UART_TX     | UART TX Console VCOM_TX US0_TX #0   | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PA1   | UART_RX     | UART RX Console VCOM_RX US0_RX #0   | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PD10  | UART_TX     | EXP12_UART_TX LEU0_TX #18           | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PD11  | UART_RX     | EXP14_UART_RX LEU0_RX #18           | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PC10  | I2C_SDA     | ENV_I2C_SDA I2C0_SDA #15            | | 
|  | +-------+-------------+-------------------------------------+ | 
|  | | PC11  | I2C_SCL     | ENV_I2C_SCL I2C0_SCL #15            | | 
|  | +-------+-------------+-------------------------------------+ | 
|  |  | 
|  |  | 
|  | System Clock | 
|  | ============ | 
|  |  | 
|  | The EFM32PG SoC is configured to use the 40 MHz external oscillator on the | 
|  | board. | 
|  |  | 
|  | Serial Port | 
|  | =========== | 
|  |  | 
|  | The EFM32PG SoC has four USARTs and one Low Energy UART (LEUART). | 
|  |  | 
|  | Programming and Debugging | 
|  | ************************* | 
|  |  | 
|  | .. note:: | 
|  | Before using the kit the first time, you should update the J-Link firmware | 
|  | from `J-Link-Downloads`_ | 
|  |  | 
|  | Flashing | 
|  | ======== | 
|  |  | 
|  | The EFM32PG-STK3402A 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 device 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 EFM32PG-STK3402A | 
|  | ------------------------------------------- | 
|  |  | 
|  | 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: efm32pg_stk3402a | 
|  | :goals: build | 
|  |  | 
|  | Connect the EFM32PG-STK3402A to your host computer using the USB port and you | 
|  | should see a USB connection which exposes a mass storage device(STK3402A). | 
|  | Copy the generated zephyr.bin to the STK3402A drive. | 
|  |  | 
|  | Use a USB-to-UART converter such as an FT232/CP2102 to connect to the UART on the | 
|  | expansion header. | 
|  |  | 
|  | 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'll see the following message on the corresponding serial port | 
|  | terminal session: | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | Hello World! arm | 
|  |  | 
|  |  | 
|  | .. _EFM32PG-STK3402A Website: | 
|  | https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-pearl-gecko-pg12-starter-kit | 
|  |  | 
|  | .. _EFM32PG-STK3402A User Guide: | 
|  | https://www.silabs.com/documents/public/user-guides/ug257-stk3402-usersguide.pdf | 
|  |  | 
|  | .. _EFM32PG-STK3402A Schematics: | 
|  | https://www.silabs.com/documents/public/schematic-files/EFM32PG12-BRD2501A-A01-schematic.pdf | 
|  |  | 
|  | .. _EFM32PG Website: | 
|  | https://www.silabs.com/products/mcu/32-bit/efm32-pearl-gecko | 
|  |  | 
|  | .. _EFM32PG12 Datasheet: | 
|  | https://www.silabs.com/documents/public/data-sheets/efm32pg12-datasheet.pdf | 
|  |  | 
|  | .. _EFM32PG12 Reference Manual: | 
|  | https://www.silabs.com/documents/public/reference-manuals/efm32pg12-rm.pdf | 
|  |  | 
|  | .. _J-Link: | 
|  | https://www.segger.com/jlink-debug-probes.html | 
|  |  | 
|  | .. _J-Link-Downloads: | 
|  | https://www.segger.com/downloads/jlink |