GD32F407V-START
Overview
The GD32F407V-START board is a hardware platform that enables prototyping on GD32F407VE Cortex-M4 High Performance MCU.
The GD32F407VE features a single-core ARM Cortex-M4 MCU which can run up to 168 MHz with flash accesses zero wait states, 3072kiB of Flash, 192kiB of SRAM and 82 GPIOs.
Hardware
GD32F407VET6 MCU
1 x User LEDs
1 x User Push buttons
1 x USART
GD-Link on board programmer
J-Link/SWD connector
For more information about the GD32F407 SoC and GD32F407V-START board:
Supported Features
The gd32f407v_start
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.
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
GigaDevice GD32 ADC3 |
|
Clock control |
on-chip |
Gigadevice Reset and Clock Unit (RCU) if a multi-function peripheral in charge of reset control (RCTL) and clock control (CCTL) for all SoC peripherals1 |
|
Counter |
on-chip |
||
DAC |
on-chip |
GigaDevice GD32 series DAC module1 |
|
DMA |
on-chip |
GD32 DMA controller with FIFO2 |
|
Flash controller |
on-chip |
There are three types GD32 FMC1 |
|
GPIO & Headers |
on-chip |
||
I2C |
on-chip |
GigiDevice GD32 I2C3 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
GigaDevice External Interrupt Controller1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
Multi-Function Device |
on-chip |
Gigadevice Reset and Clock Unit (RCU) if a multi-function peripheral in charge of reset control (RCTL) and clock control (CCTL) for all SoC peripherals1 |
|
Miscellaneous |
on-chip |
GigaDevice GD32 System Configuration Registers1 |
|
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
Flash memory binding of GD32 FMC v31 |
|
Pin control |
on-chip |
The GD32 pin controller (AF model) is a singleton node responsible for controlling pin function selection and pin properties1 |
|
PWM |
on-chip |
||
Reset controller |
on-chip |
Gigadevice Reset and Clock Unit (RCU) if a multi-function peripheral in charge of reset control (RCTL) and clock control (CCTL) for all SoC peripherals1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
GigaDevice GD32 SPI3 |
|
SRAM |
on-chip |
Generic on-chip SRAM description1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
Watchdog |
on-chip |
GD32 free watchdog timer1 |
|
on-chip |
GD32 window watchdog timer1 |
Serial Port
The GD32F407V-START board has one serial communication port. The default port is USART0 with TX connected at PB6 and RX at PB7.
Programming and Debugging
Before programming your board make sure to configure boot jumpers as follows:
JP3/4: Select 2-3 for both (boot from user memory)
Using GD-Link or J-Link
The board comes with an embedded GD-Link programmer. You need to install CMSIS-Pack which is required by pyOCD when programming or debugging by the GD-Link programmer. Execute the following command to install CMSIS-Pack for GD32F407VK if not installed yet.
pyocd pack install gd32f407vk
Also, J-Link can be used to program the board via the SWD interface (PA13/SWDIO and PA14/SWCLK in the JP6 header).
Build the Zephyr kernel and the Hello World sample application:
west build -b gd32f407v_start samples/hello_world
Connect Serial-USB adapter to PB6, PB7, and GND.
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 gd32f407v_start samples/hello_world west flash
When using J-Link, append
--runner jlink
option afterwest flash
.You should see “Hello World! gd32f407v_start” in your terminal.
To debug an image:
west build -b gd32f407v_start samples/hello_world west debug
When using J-Link, append
--runner jlink
option afterwest debug
.