GD32A503V-EVAL

Overview

The GD32A503V-EVAL board is a hardware platform that enables design and debug of the GigaDevice A503 Cortex-M4F High Performance MCU.

The GD32A503VD features a single-core ARM Cortex-M4F MCU which can run up to 120-MHz with flash accesses zero wait states, 384kiB of Flash, 48kiB of SRAM and 88 GPIOs.

Hardware

  • 2 user LEDs

  • 2 user push buttons

  • Reset Button

  • ADC connected to a potentiometer

  • 1 DAC channels

  • GD25Q16 2Mib SPI Flash

  • AT24C02C 2KiB EEPROM

  • CS4344 Stereo DAC with Headphone Amplifier

  • GD-Link interface

    • CMSIS-DAP swd debug interface over USB HID.

  • 2 CAN FD ports

For more information about the GD32A503 SoC and GD32A503V-EVAL board:

Supported Features

The board configuration supports the following hardware features:

Peripheral

Kconfig option

Devicetree compatible

EXTI

CONFIG_GD32_EXTI

gd,gd32-exti

GPIO

CONFIG_GPIO

gd,gd32-gpio

NVIC

N/A

arm,v8m-nvic

PWM

CONFIG_PWM

gd,gd32-pwm

SYSTICK

N/A

N/A

USART

CONFIG_SERIAL

gd,gd32-usart

PINMUX

CONFIG_PINCTRL

gd,gd32-pinctrl-af

ADC

CONFIG_ADC

gd,gd32-adc

DAC

CONFIG_DAC

gd,gd32-dac

FMC

N/A

gd,gd32-flash-controller

SPI

CONFIG_SPI

gd,gd32-spi

Serial Port

The GD32A503V-EVAL board has 3 serial communication ports. The default port is UART0 at PIN-72 and PIN-73.

Programming and Debugging

Before program your board make sure to configure boot setting and serial port. The default serial port is USART0.

Boot-0

Boot-1

Function

1-2

1-2

SRAM

1-2

2-3

Bootloader

2-3

Any

Flash

Using ROM bootloader

The GD32A503 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 gd32a503v_eval samples/hello_world
    
  2. Enable board bootloader:

    • Remove boot-0 jumper

    • press reset button

  3. To flash an image:

    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! gd32a503v_eval” in your terminal.