EFM32PG23 Pro Kit (PG23-PK2504A)
Overview
The EFM32PG23 Pearl Gecko Board dev kit contains a System-On-Chip from the EFM32PG23 family built on an ARM Cortex®-M33 processor with excellent low power capabilities.
Hardware
EFM32PG23B310F512IM48 Pearl Gecko SoC
CPU core: ARM Cortex®-M33
Flash memory: 512 kB
RAM: 64 kB
Key features: - USB connectivity - Advanced Energy Monitor (AEM) - SEGGER J-Link on-board debugger - Debug multiplexer supporting external hardware as well as on-board MCU - 4x10 segment LCD - User LEDs and push buttons - Silicon Labs’ Si7021 Relative Humidity and Temperature Sensor - SMA connector for IADC demonstration - Inductive LC sensor - 20-pin 2.54 mm header for expansion boards - Breakout pads for direct access to I/O pins - Power sources include USB and CR2032 coin cell battery
For more information about the EFM32PG23 SoC and BRD2504A board, refer to these documents:
Supported Features
The pg23_pk2504a
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
pg23_pk2504a/efm32pg23b310f512im48
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33 CPU1 |
|
ADC |
on-chip |
Silicon Labs Series 2 IADC1 |
|
Clock control |
on-chip |
Silicon Labs Series 2 CMU1 |
|
on-chip |
Generic fixed-rate clock provider3 |
||
on-chip |
Silicon Labs Series 2 HFXO1 |
||
on-chip |
Silicon Labs Series 2 LFXO1 |
||
on-chip |
Silicon Labs Series 2 HFRCODPLL1 |
||
on-chip |
Silicon Labs Series 2 HFRCOEM231 |
||
on-chip |
Silicon Labs Series 2 LFRCO1 |
||
on-chip |
Generic fixed factor clock provider22 |
||
Comparator |
on-chip |
Silicon Labs Series 2 ACMP2 |
|
Cryptographic accelerator |
on-chip |
Silicon Labs Series 2 SE Mailbox1 |
|
DAC |
on-chip |
Silicon Labs Series 2 VDAC 1 |
|
Debug |
on-chip |
ARMv8 instrumentation trace macrocell1 |
|
DMA |
on-chip |
Silicon Labs Series 2 LDMA1 |
|
Flash controller |
on-chip |
Silicon Labs Series 2 MSC1 |
|
GPIO & Headers |
on-chip |
Silicon Labs Series 2 GPIO Peripheral1 |
|
on-chip |
Silicon Labs Series 2 GPIO Port4 |
||
I2C |
on-chip |
||
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
MTD |
on-chip |
Flash node1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
Pin control |
on-chip |
Silicon Labs Series 2 DBUS Pin Controller1 |
|
PWM |
on-chip |
||
on-chip |
Silicon Labs LETIMER PWM1 |
||
Regulator |
on-chip |
Silicon Labs Series 2 DC-DC converter1 |
|
RTC |
on-chip |
Silicon Labs Series 2 Sleeptimer1 |
|
Sensors |
on-board |
Silicon Labs Si7006/13/20/21 RHT Sensor1 |
|
Serial controller |
on-chip |
Silicon Labs Series 2 USART1 |
|
on-chip |
Silicon Labs Series 2 EUSART 1 |
||
SPI |
on-chip |
Silicon Labs Series 2 EUSART 2 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv8-M System Tick1 |
|
on-chip |
|||
on-chip |
Silicon Labs Series 2 BURTC1 |
||
on-chip |
Silicon Labs LETIMER1 |
||
Watchdog |
on-chip |
Connections and IOs
In the following table, the column Name contains Pin names. For example, PA2 means Pin number 2 on Port A, as used in the board’s datasheets and manuals.
Name |
Function |
Usage |
---|---|---|
PA5 |
GPIO |
Push Button 0 |
PA7 |
I2C0_SDA |
Si7021 I2C Data |
PA8 |
I2C0_SCL |
Si7021 I2C Clock |
PB4 |
GPIO |
Push Button 1 |
PB5 |
EUSART0_TX |
Console Tx |
PB6 |
EUSART0_RX |
Console Rx |
PC8 |
GPIO/TIMER0_CC0 |
LED0 |
PC9 |
GPIO/TIMER0_CC1 |
LED1 |
The default configuration can be found in boards/silabs/dev_kits/pg23_pk2504a/pg23_pk2504a_defconfig
System Clock
The EFM32PG23 SoC is configured to use the 39 MHz external oscillator on the board.
Serial Port
The EFM32PG23 SoC has one USART and three EUSARTs. EUSART0 is connected to the board controller and is used for the console.
Programming and Debugging
The pg23_pk2504a
board supports the runners and associated west commands listed below.
flash | debug | rtt | attach | debugserver | |
---|---|---|---|---|---|
jlink | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ |
openocd | ✅ | ✅ | ✅ | ✅ | ✅ |
silabs_commander | ✅ |
Note
Before using the kit the first time, you should update the J-Link firmware in Simplicity Studio.
Flashing
The sample application Hello World is used for this example. Build the Zephyr kernel and application:
# From the root of the zephyr repository
west build -b pg23_pk2504a samples/hello_world
Connect the pg23_pk2504a to your host computer using the USB port and you should see a USB connection.
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:
Hello World! pg23_pk2504a
Troubleshooting
If no serial output occurs, use SEGGERs RTT Viewer and update boards/silabs/dev_kits/pg23_pk2504a/pg23_pk2504a_defconfig with
CONFIG_UART_CONSOLE=n
CONFIG_RTT_CONSOLE=y
CONFIG_USE_SEGGER_RTT=y