| .. _efr32bg22_brd4184: |
| |
| SiLabs EFR32BG22-BRD4184(A/B) (Thunderboard EFR32BG22) |
| ###################################################### |
| |
| BRD4184 is a board based on EFR32BG22 SoC and is one of |
| :ref:`efr32_thunderboard`. It comes in two revisions, which differ from each |
| other slightly: BRD4184A and BRD4184B. |
| |
| .. note:: |
| Currently only the "A" revision is fully supported and tested. |
| |
| .. image:: ./efr32bg_sltb010a.jpg |
| :align: center |
| :alt: EFR32BG-SLTB010A |
| |
| Hardware |
| ******** |
| |
| - EFR32BG22 Blue Gecko Wireless SoC with upto 76.8 MHz operating frequency |
| - ARM® Cortex® M33 core with 32 kB RAM and 512 kB Flash |
| - Macronix ultra low power 8-Mbit SPI flash (MX25R8035F) |
| - 2.4 GHz ceramic antenna for wireless transmission |
| - Silicon Labs Si7021 relative humidity and temperature sensor |
| - Silicon Labs Si1133 UV index and ambient light sensor |
| - Silicon Labs Si7210 hall effect sensor |
| - TDK InvenSense ICM-20648 6-axis inertial sensor |
| - One LED and one push button |
| - Power enable signals and isolation switches for ultra low power operation |
| - On-board SEGGER J-Link debugger for easy programming and debugging, which |
| includes a USB virtual COM port and Packet Trace Interface (PTI) |
| - Mini Simplicity connector for access to energy profiling and advanced wireless |
| network debugging |
| - Breakout pads for GPIO access and connection to external hardware |
| - Reset button |
| - Automatic switch-over between USB and battery power |
| - CR2032 coin cell holder and external battery connector |
| |
| For more information about the EFR32BG SoC and Thunderboard EFR32BG22 board: |
| |
| - `EFR32BG22 Website`_ |
| - `EFR32BG22 Datasheet`_ |
| - `EFR32xG22 Reference Manual`_ |
| - `Thunderboard EFR32BG22 Website`_ |
| - `EFR32BG22-BRD4184 User Guide`_ |
| - `EFR32BG22-BRD4184A Schematics`_ |
| - `EFR32BG22-BRD4184B Schematics`_ |
| |
| Supported Features |
| ================== |
| |
| The efr32bg22_brd4184a 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 | stimer | |
| +-----------+------------+-------------------------------------+ |
| | SPI(M/S) | on-chip | spi | |
| +-----------+------------+-------------------------------------+ |
| | FLASH | on-chip | flash memory | |
| +-----------+------------+-------------------------------------+ |
| | GPIO | on-chip | gpio | |
| +-----------+------------+-------------------------------------+ |
| | UART | on-chip | serial | |
| +-----------+------------+-------------------------------------+ |
| | WATCHDOG | on-chip | watchdog | |
| +-----------+------------+-------------------------------------+ |
| | TRNG | on-chip | true random number generator | |
| +-----------+------------+-------------------------------------+ |
| | I2C(M/S) | on-chip | i2c | |
| +-----------+------------+-------------------------------------+ |
| | RADIO | on-chip | bluetooth | |
| +-----------+------------+-------------------------------------+ |
| |
| The default configuration can be found in the defconfig file: |
| ``boards/arm/efr32_thunderboard/efr32bg22_brd4184a_defconfig``. |
| |
| Connections and IOs |
| =================== |
| |
| The EFR32BG SoC has six gpio controllers (PORTA, PORTB, PORTC, PORTD, |
| PORTE and PORTF). |
| |
| In the following tables, the column Name contains Pin names. For example, PE2 |
| means Pin number 2 on PORTE and #27 represents the location bitfield, as used |
| in the board's and microcontroller's datasheets and manuals. |
| |
| There are two variants of this board, "A" and "B". Please take a look at your PCB, |
| to determine which one you have, as the GPIO pin bindings vary between those two. |
| |
| BRD4184A: |
| |
| +------+-------------+-----------------------------------+ |
| | Name | Function | Usage | |
| +======+=============+===================================+ |
| | PB0 | GPIO | LED0 (YELLOW) | |
| +------+-------------+-----------------------------------+ |
| | PB1 | GPIO | SW0 Push Button PB0 | |
| +------+-------------+-----------------------------------+ |
| | PA5 | UART_TX | UART TX Console VCOM_TX US1_TX #1 | |
| +------+-------------+-----------------------------------+ |
| | PA6 | UART_RX | UART RX Console VCOM_RX US1_RX #1 | |
| +------+-------------+-----------------------------------+ |
| |
| BRD4184B: |
| |
| +------+-------------+-----------------------------------+ |
| | Name | Function | Usage | |
| +======+=============+===================================+ |
| | PA4 | GPIO | LED0 (YELLOW) | |
| +------+-------------+-----------------------------------+ |
| | PB3 | GPIO | SW0 Push Button PB0 | |
| +------+-------------+-----------------------------------+ |
| | PA5 | UART_TX | UART TX Console VCOM_TX US1_TX #1 | |
| +------+-------------+-----------------------------------+ |
| | PA6 | UART_RX | UART RX Console VCOM_RX US1_RX #1 | |
| +------+-------------+-----------------------------------+ |
| |
| System Clock |
| ============ |
| |
| The EFR32BG SoC is configured to use the 38.4 MHz external oscillator on the |
| board. |
| |
| Programming and Debugging |
| ========================= |
| |
| Flashing an application |
| ----------------------- |
| |
| Connect your device to your host computer using the USB port. |
| The sample application :ref:`hello_world` is used for this example. |
| Build the Zephyr kernel and application, then flash it to the device: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: efr32bg22_brd4184a |
| :goals: flash |
| |
| .. note:: |
| `west flash` requires `SEGGER J-Link software`_ to be installed on you host |
| computer. |
| |
| 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 should be able to see on the corresponding Serial Port |
| the following message: |
| |
| .. code-block:: console |
| |
| Hello World! efr32bg22_brd4184a |
| |
| Bluetooth |
| ========= |
| |
| To use the BLE function, run the command below to retrieve necessary binary |
| blobs from the SiLabs HAL repository. |
| |
| .. code-block:: console |
| |
| west blobs fetch silabs |
| |
| Then build the Zephyr kernel and a Bluetooth sample with the following |
| command. The :ref:`bluetooth-observer-sample` sample application is used in |
| this example. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/bluetooth/observer |
| :board: efr32bg22_brd4184a |
| :goals: build |
| |
| |
| .. _Thunderboard EFR32BG22 Website: |
| https://www.silabs.com/development-tools/thunderboard/thunderboard-bg22-kit |
| |
| .. _EFR32BG22-BRD4184 User Guide: |
| https://www.silabs.com/documents/public/user-guides/ug415-sltb010a-user-guide.pdf |
| |
| .. _EFR32BG22-BRD4184A Schematics: |
| https://www.silabs.com/documents/public/schematic-files/BRD4184A-A01-schematic.pdf |
| |
| .. _EFR32BG22-BRD4184B Schematics: |
| https://www.silabs.com/documents/public/schematic-files/BRD4184B-A02-schematic.pdf |
| |
| .. _EFR32BG22 Website: |
| https://www.silabs.com/wireless/bluetooth/efr32bg22-series-2-socs |
| |
| .. _EFR32BG22 Datasheet: |
| https://www.silabs.com/documents/public/data-sheets/efr32bg22-datasheet.pdf |
| |
| .. _EFR32xG22 Reference Manual: |
| https://www.silabs.com/documents/public/reference-manuals/efr32xg22-rm.pdf |
| |
| .. _SEGGER J-Link software: |
| https://www.segger.com/downloads/jlink |