| .. _gd32f403z_eval: |
| |
| 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. |
| |
| .. image:: img/gd32f403z_eval.jpg |
| :align: center |
| :alt: gd32f403z_eval |
| |
| |
| 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: |
| |
| - `GigaDevice Cortex-M4F High Performance SoC Website`_ |
| - `GD32F403 Datasheet`_ |
| - `GD32F403 Reference Manual`_ |
| - `GD32F403Z Eval Schematics`_ |
| - `GD32 ISP Console`_ |
| |
| |
| 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 | |
| +-----------+------------+-----------------------+ |
| | PWM | on-chip | PWM | |
| +-----------+------------+-----------------------+ |
| | SYSTICK | on-chip | system clock | |
| +-----------+------------+-----------------------+ |
| | UART | on-chip | serial port-polling | |
| +-----------+------------+-----------------------+ |
| | ADC | on-chip | ADC | |
| +-----------+------------+-----------------------+ |
| |
| 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 :ref:`hello_world` sample application: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: gd32f403z_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: gd32f403z_eval |
| :goals: flash |
| :compact: |
| |
| You should see "Hello World! gd32f403z_eval" in your terminal. |
| |
| #. To debug an image: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: gd32f403z_eval |
| :goals: debug |
| :compact: |
| |
| |
| 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 :code:`$HOME/.local/bin`. |
| |
| #. Build the Zephyr kernel and the :ref:`hello_world` sample application: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: gd32f403z_eval |
| :goals: build |
| :compact: |
| |
| #. Enable board bootloader: |
| |
| - Remove boot-0 jumper |
| - press reset button |
| |
| #. To flash an image: |
| |
| .. code-block:: console |
| |
| 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 :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! gd32f403z_eval" in your terminal. |
| |
| |
| .. _GigaDevice Cortex-M4F High Performance SoC Website: |
| https://www.gigadevice.com/products/microcontrollers/gd32/arm-cortex-m4/high-performance-line/gd32f403-series/ |
| |
| .. _GD32F403 Datasheet: |
| https://gd32mcu.com/data/documents/datasheet/GD32F403xx_Datasheet_Rev1.3.pdf |
| |
| .. _GD32F403 Reference Manual: |
| https://gd32mcu.com/data/documents/userManual/GD32F403_User_Manual_Rev2.6.pdf |
| |
| .. _GD32F403Z Eval Schematics: |
| http://www.gd32mcu.com/download/down/document_id/270/path_type/1 |
| |
| .. _GD32 ISP Console: |
| http://www.gd32mcu.com/download/down/document_id/175/path_type/1 |