GigaDevice GD32F403Z-EVAL
Overview
The GD32F403Z-EVAL board is a hardware platform that enables design and debug of the GigaDevice F403 Cortex-M4F High Performance MCU.
The GD32F403ZE features a single-core ARM Cortex-M4F MCU which can run up to 168-MHz with flash accesses zero wait states, 512kiB of Flash, 96kiB of SRAM and 112 GPIOs.
Hardware
USB interface with mini-USB connector
4 user LEDs
4 user push buttons
Reset Button
CAN port
ADC connected to a potentiometer
2 DAC channels
GD25Q40 4Mib SPI Flash
HY27UF081G2A 1GiB NAND Flash
AT24C02C 2KiB EEPROM
3.2 TFT LCD (320x240)
PCM1770 Stereo DAC with Headphone Amplifier
Micro-SDHC interface
GD-Link interface
CMSIS-DAP swd debug interface over USB HID.
For more information about the GD32F403 SoC and GD32F403Z-Eval board:
Supported Features
The board configuration supports the following hardware features:
Interface |
Controller |
Driver/Component |
---|---|---|
EXTI |
on-chip |
EXTI interrupt controller |
GPIO |
on-chip |
gpio |
NVIC |
on-chip |
nested vectored interrupt controller |
SYSTICK |
on-chip |
system clock |
UART |
on-chip |
serial port-polling |
Serial Port
The GD32F403Z-EVAL board has 5 serial communication ports. The default port is UART0 at PIN-9 and PIN-10.
Programming and Debugging
Before program your board make sure to configure boot setting and serial port. The default serial port is USART0. This port uses header JP-5/6 to route signals between USB VBUS/ID and USART J2.
Boot-0 |
Boot-1 |
Function |
---|---|---|
1-2 |
1-2 |
SRAM |
1-2 |
2-3 |
Bootloader |
2-3 |
Any |
Flash |
JP-5 |
JP-6 |
Function |
---|---|---|
1-2 |
1-2 |
USART0 / J2 |
2-3 |
2-3 |
USB VBUS/ID |
open |
open |
Free |
Using GD-Link
The GD32F403Z-EVAL includes an onboard programmer/debugger (GD-Link) which allow flash programming and debug over USB. There are also program and debug headers J1 and J100 that can be used with any ARM compatible tools.
Build the Zephyr kernel and the Hello World sample application:
west build -b gd32f403z_eval samples/hello_world
Run your favorite terminal program to listen for output. Under Linux the terminal should be
/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 gd32f403z_eval samples/hello_world west flash
You should see “Hello World! gd32f403z_eval” in your terminal.
To debug an image:
west build -b gd32f403z_eval samples/hello_world west debug
Using ROM bootloader
The GD32F403 MCU have a ROM bootloader which allow flash programming. User
should install GD32 ISP Console software at some Linux path. The recommended
is $HOME/.local/bin
.
Build the Zephyr kernel and the Hello World sample application:
west build -b gd32f403z_eval samples/hello_world
Enable board bootloader:
Remove boot-0 jumper
press reset button
To flash an image:
west build -b gd32f403z_eval samples/hello_world west flash -r gd32isp [--port=/dev/ttyUSB0]
Run your favorite terminal program to listen for output. Under Linux the terminal should be
/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
Press reset button
You should see “Hello World! gd32f403z_eval” in your terminal.