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 gd32f403z_eval 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.
gd32f403z_eval
/
gd32f403

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M4F CPU1

arm,cortex-m4f

ADC

on-chip

GigaDevice GD32 ADC1 2

gd,gd32-adc

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

gd,gd32-cctl

Counter

on-chip

GigaDevice GD32 timer1 11

gd,gd32-timer

DMA

on-chip

GD32 DMA controller2

gd,gd32-dma

Flash controller

on-chip

There are three types GD32 FMC1

gd,gd32-flash-controller

GPIO & Headers

on-chip

GD32 GPIO3 4

gd,gd32-gpio

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv7-M NVIC (Nested Vectored Interrupt Controller)1

arm,v7m-nvic

on-chip

GigaDevice External Interrupt Controller1

gd,gd32-exti

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

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

gd,gd32-rcu

MMU / MPU

on-chip

ARMv7-M Memory Protection Unit (MPU)1

arm,armv7m-mpu

MTD

on-chip

Flash memory binding of GD32 FMC v21

gd,gd32-nv-flash-v2

Pin control

on-chip

The AFIO peripheral is used to configure pin remapping, EXTI sources and, when available, enable the I/O compensation cell1

gd,gd32-afio

on-chip

The GD32 pin controller (AFIO model) is a singleton node responsible for controlling pin function selection and pin properties1

gd,gd32-pinctrl-afio

PWM

on-chip

GigaDevice GD32 PWM1 9

gd,gd32-pwm

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

gd,gd32-rctl

Serial controller

on-chip

GigaDevice USART1 4

gd,gd32-usart

SPI

on-chip

GigaDevice GD32 SPI3

gd,gd32-spi

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv7-M System Tick1

arm,armv7m-systick

Watchdog

on-chip

GD32 free watchdog timer1

gd,gd32-fwdgt

on-chip

GD32 window watchdog timer1

gd,gd32-wwdgt

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 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.

  1. Build the Zephyr kernel and the Hello World sample application:

    west build -b gd32f403z_eval samples/hello_world
    
  2. Enable board bootloader:

    • Remove boot-0 jumper

    • press reset button

  3. To flash an image:

    west build -b gd32f403z_eval samples/hello_world
    west flash -r gd32isp [--port=/dev/ttyUSB0]
    
  4. 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.