The EFM32 Wonder Gecko Starter Kit EFM32WG-STK3800 contains a MCU from the EFM32WG family built on ARM® Cortex®-M4F processor with excellent low power capabilities.
- Advanced Energy Monitoring provides real-time information about the energy consumption of an application or prototype design.
- 32MByte parallel NAND Flash
- 160 segment Energy Micro LCD
- 2 user buttons, 2 LEDs and a touch slider
- Ambient Light Sensor and Inductive-capacitive metal sensor
- On-board Segger J-Link USB debugger
For more information about the EFM32WG SoC and EFM32WG-STK3800 board:
- EFM32WG Website
- EFM32WG Datasheet
- EFM32WG Reference Manual
- EFM32WG-STK3800 Website
- EFM32WG-STK3800 User Guide
- EFM32WG-STK3800 Schematics
The efm32wg_stk3800oard configuration supports the following hardware features:
|NVIC||on-chip||nested vector interrupt controller|
|UART||on-chip||serial port-polling; serial port-interrupt|
The default configuration can be found in the defconfig file:
Other hardware features are currently not supported by the port.
Connections and IOs¶
The EFM32WG SoC has six gpio controllers (PORTA to PORTF), but only three are currently enabled (PORTB, PORTE and PORTF) for the EFM32WG-STK3800 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.
|PB9||GPIO||Push Button PB0|
|PB10||GPIO||Push Button PB1|
|PF7||GPIO||Board Controller Enable EFM_BC_EN|
|PE0||UART0_TX||UART Console EFM_BC_TX U0_TX #1|
|PE1||UART0_RX||UART Console EFM_BC_RX U0_RX #1|
The EFM32WG SoC is configured to use the 48 MHz external oscillator on the board.
The EFM32WG SoC has three USARTs, two UARTs and two Low Energy UARTs (LEUART). UART0 is connected to the board controller and is used for the console.
Programming and Debugging¶
Before using the kit the first time, you should update the J-Link firmware from J-Link-Downloads
The EFM32WG-STK3800 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 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 EFM32-STK3800¶
The sample application Hello World is used for this example. Build the Zephyr kernel and application:
# On Linux/macOS cd $ZEPHYR_BASE/samples/hello_world mkdir build && cd build # On Windows cd %ZEPHYR_BASE%\samples\hello_world mkdir build & cd build # Use cmake to configure a Ninja-based build system: cmake -GNinja -DBOARD=efm32wg_stk3800 .. # Now run ninja on the generated build system: ninja
Connect the EFM32WG-STK3800 to your host computer using the USB port and you should see a USB connection which exposes a Mass Storage (STK3800) and a USB Serial Port. Copy the generated zephyr.bin in the STK3800 drive.
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:
Hello World! arm