GigaDevice GD32VF103C-STARTER
Overview
The GD32VF103C-STARTER board is a hardware platform that enables prototyping on GD32VF103CB RISC-V MCU.
The GD32VF103CB features a single-core RISC-V 32-bit MCU which can run up to 108 MHz with flash accesses zero wait states, 128 KiB of Flash, 32 KiB of SRAM and 37 GPIOs.
Hardware
GD32VF103CBT6 MCU
1 x User LEDs
1 x USART (USB port with CH340E)
USB FS connector
GD-Link on board programmer
J-Link/JTAG connector
For more information about the GD32VF103 SoC and GD32VF103C-STARTER board:
Supported Features
The board configuration supports the following hardware features:
Peripheral |
Kconfig option |
Devicetree compatible |
---|---|---|
GPIO |
||
Machine timer |
|
|
Nuclei ECLIC Interrupt Controller |
||
PWM |
||
USART |
Serial Port
The GD32VF103C-STARTER board has one serial communications port. TX connected at PA9 and RX at PA10.
Programming and Debugging
Before programming your board make sure to configure boot and serial jumpers as follows:
JP2/3: Select 2-3 for both (boot from user memory)
JP5/6: Select 1-2 positions (labeled as
USART0
)
Using GD-Link
The GD32VF103C-STARTER includes an onboard programmer/debugger (GD-Link) which allows flash programming and debugging over USB. There is also a JTAG header (JP1) which can be used with tools like Segger J-Link.
Note
The OpenOCD shipped with Zephyr SDK does not support GD32VF103. You will need to build the riscv-openocd fork. Note that compared with OpenOCD, J-Link offers a better programming and debugging experience on this board.
Build the Zephyr kernel and the Hello World sample application:
west build -b gd32vf103c_starter samples/hello_world -- -DOPENOCD=<path/to/riscv-openocd/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/riscv-openocd/share/openocd/scripts>
Run your favorite terminal program to listen for output. On Linux the terminal should be something like
/dev/ttyUSB0
. For example:minicom -D /dev/ttyUSB0 -o
The -o option tells minicom not to send the modem initialization string. Connection should be configured as follows:
Speed: 115200
Data: 8 bits
Parity: None
Stop bits: 1
To flash an image:
west build -b gd32vf103c_starter samples/hello_world west flash
You should see “Hello World! gd32vf103c_starter” in your terminal.
To debug an image:
west build -b gd32vf103c_starter samples/hello_world west debug