zephyr/boards/arm/efm32pg_stk3402a/doc/index.rst

192 lines
6.8 KiB
ReStructuredText

.. _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.png
:width: 375px
: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 |
+===========+============+=====================================+
| 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 |
+-----------+------------+-------------------------------------+
The default configuration can be found in the defconfig file:
``boards/arm/efm32pg_stk3402a/efm32pg_stk3402a_defconfig``
Other hardware features are currently not supported by the port.
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