223 lines
5.4 KiB
ReStructuredText
223 lines
5.4 KiB
ReStructuredText
.. _gd32a503v_eval:
|
|
|
|
GigaDevice 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.
|
|
|
|
.. image:: img/gd32a503v_eval.jpg
|
|
:align: center
|
|
:alt: gd32a503v_eval
|
|
|
|
|
|
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 port(support CAN-FD)
|
|
|
|
For more information about the GD32A503 SoC and GD32A503V-EVAL board:
|
|
|
|
- `GigaDevice Cortex-M33 High Performance SoC Website`_
|
|
- `GD32A503 Datasheet`_
|
|
- `GD32A503 Reference Manual`_
|
|
- `GD32A503V Eval Schematics`_
|
|
- `GD32 ISP Console`_
|
|
|
|
|
|
Supported Features
|
|
==================
|
|
|
|
The board configuration supports the following hardware features:
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
|
|
* - Peripheral
|
|
- Kconfig option
|
|
- Devicetree compatible
|
|
* - EXTI
|
|
- :kconfig:option:`CONFIG_GD32_EXTI`
|
|
- :dtcompatible:`gd,gd32-exti`
|
|
* - GPIO
|
|
- :kconfig:option:`CONFIG_GPIO`
|
|
- :dtcompatible:`gd,gd32-gpio`
|
|
* - NVIC
|
|
- N/A
|
|
- :dtcompatible:`arm,v8m-nvic`
|
|
* - PWM
|
|
- :kconfig:option:`CONFIG_PWM`
|
|
- :dtcompatible:`gd,gd32-pwm`
|
|
* - SYSTICK
|
|
- N/A
|
|
- N/A
|
|
* - USART
|
|
- :kconfig:option:`CONFIG_SERIAL`
|
|
- :dtcompatible:`gd,gd32-usart`
|
|
* - PINMUX
|
|
- :kconfig:option:`CONFIG_PINCTRL`
|
|
- :dtcompatible:`gd,gd32-pinctrl-af`
|
|
* - ADC
|
|
- :kconfig:option:`CONFIG_ADC`
|
|
- :dtcompatible:`gd,gd32-adc`
|
|
* - DAC
|
|
- :kconfig:option:`CONFIG_DAC`
|
|
- :dtcompatible:`gd,gd32-dac`
|
|
* - FMC
|
|
- N/A
|
|
- :dtcompatible:`gd,gd32-flash-controller`
|
|
* - SPI
|
|
- :kconfig:option:`CONFIG_SPI`
|
|
- :dtcompatible:`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 GD-Link
|
|
=============
|
|
|
|
The GD32A503V-EVAL includes an onboard programmer/debugger (GD-Link) which
|
|
allow flash programming and debug over USB. There are also program and debug
|
|
headers J2 and J100 that can be used with any ARM compatible tools.
|
|
|
|
#. Build the Zephyr kernel and the :ref:`hello_world` sample application:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/hello_world
|
|
:board: gd32a503v_eval
|
|
:goals: build
|
|
:compact:
|
|
|
|
#. Run your favorite terminal program to listen for output. Under Linux the
|
|
terminal should be :code:`/dev/ttyUSB0`. For example:
|
|
|
|
.. code-block:: console
|
|
|
|
$ 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:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/hello_world
|
|
:board: gd32a503v_eval
|
|
:goals: flash
|
|
:compact:
|
|
|
|
You should see "Hello World! gd32a503v_eval" in your terminal.
|
|
|
|
#. To debug an image:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/hello_world
|
|
:board: gd32a503v_eval
|
|
:goals: debug
|
|
:compact:
|
|
|
|
|
|
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 :code:`$HOME/.local/bin`.
|
|
|
|
#. Build the Zephyr kernel and the :ref:`hello_world` sample application:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/hello_world
|
|
:board: gd32a503v_eval
|
|
:goals: build
|
|
:compact:
|
|
|
|
#. Enable board bootloader:
|
|
|
|
- Remove boot-0 jumper
|
|
- press reset button
|
|
|
|
#. To flash an image:
|
|
|
|
.. code-block:: console
|
|
|
|
west flash -r gd32isp [--port=/dev/ttyUSB0]
|
|
|
|
#. Run your favorite terminal program to listen for output. Under Linux the
|
|
terminal should be :code:`/dev/ttyUSB0`. For example:
|
|
|
|
.. code-block:: console
|
|
|
|
$ 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.
|
|
|
|
|
|
.. _GigaDevice Cortex-M33 High Performance SoC Website:
|
|
https://www.gigadevice.com.cn/product/mcu/arm-cortex-m33/gd32a503vdt3
|
|
|
|
.. _GD32A503 Datasheet:
|
|
https://www.gd32mcu.com/download/down/document_id/401/path_type/1
|
|
|
|
.. _GD32A503 Reference Manual:
|
|
https://www.gd32mcu.com/download/down/document_id/402/path_type/1
|
|
|
|
.. _GD32A503V Eval Schematics:
|
|
https://www.gd32mcu.com/download/down/document_id/404/path_type/1
|
|
|
|
.. _GD32 ISP Console:
|
|
http://www.gd32mcu.com/download/down/document_id/175/path_type/1
|