1.. _gd32f450v_start:
2
3GigaDevice GD32F450V-START
4##########################
5
6Overview
7********
8
9The GD32F450V-START board is a hardware platform that enables prototyping
10on GD32F450VK Cortex-M4F Stretch Performance MCU.
11
12The GD32F450VK features a single-core ARM Cortex-M4F MCU which can run up
13to 200 MHz with flash accesses zero wait states, 3072kiB of Flash, 256kiB of
14SRAM and 82 GPIOs.
15
16.. image:: img/gd32f450v_start.jpg
17     :align: center
18     :alt: gd32f450v_start
19
20Hardware
21********
22
23- GD32F450VKT6 MCU
24- 1 x User LEDs
25- 1 x User Push buttons
26- USB FS/HS connectors
27- GD-Link on board programmer
28- J-Link/SWD connector
29
30For more information about the GD32F450 SoC and GD32F450V-START board:
31
32- `GigaDevice Cortex-M4F Stretch Performance SoC Website`_
33- `GD32F450X Datasheet`_
34- `GD32F4XX User Manual`_
35- `GD32F450V-START User Manual`_
36
37Supported Features
38==================
39
40The board configuration supports the following hardware features:
41
42.. list-table::
43   :header-rows: 1
44
45   * - Peripheral
46     - Kconfig option
47     - Devicetree compatible
48   * - EXTI
49     - :kconfig:option:`CONFIG_GD32_EXTI`
50     - :dtcompatible:`gd,gd32-exti`
51   * - GPIO
52     - :kconfig:option:`CONFIG_GPIO`
53     - :dtcompatible:`gd,gd32-gpio`
54   * - NVIC
55     - N/A
56     - :dtcompatible:`arm,v8m-nvic`
57   * - PWM
58     - :kconfig:option:`CONFIG_PWM`
59     - :dtcompatible:`gd,gd32-pwm`
60   * - SYSTICK
61     - N/A
62     - N/A
63   * - USART
64     - :kconfig:option:`CONFIG_SERIAL`
65     - :dtcompatible:`gd,gd32-usart`
66
67Other peripherals may be used if shields are connected to the board.
68
69Serial Port
70===========
71
72The GD32F450V-START board has no exposed serial communication port. The board
73provides default configuration for USART0 with TX connected at PB6 and RX at
74PB7. PB6/PB7 are exposed in JP6, so you can solder a connector and use a
75UART-USB adapter.
76
77Programming and Debugging
78*************************
79
80Before programming your board make sure to configure boot jumpers as
81follows:
82
83- JP2/3: Select 2-3 for both (boot from user memory)
84
85Using GD-Link
86=============
87
88The GD32F450V-START includes an onboard programmer/debugger (GD-Link) which
89allows flash programming and debugging over USB. There is also a SWD header
90(JP100) which can be used with tools like Segger J-Link.
91
92#. Build the Zephyr kernel and the :ref:`hello_world` sample application:
93
94   .. zephyr-app-commands::
95      :zephyr-app: samples/hello_world
96      :board: gd32f450v_start
97      :goals: build
98      :compact:
99
100#. Run your favorite terminal program to listen for output. On Linux the
101   terminal should be something like ``/dev/ttyUSB0``. For example:
102
103   .. code-block:: console
104
105      minicom -D /dev/ttyUSB0 -o
106
107   The -o option tells minicom not to send the modem initialization
108   string. Connection should be configured as follows:
109
110      - Speed: 115200
111      - Data: 8 bits
112      - Parity: None
113      - Stop bits: 1
114
115#. To flash an image:
116
117   .. zephyr-app-commands::
118      :zephyr-app: samples/hello_world
119      :board: gd32f450v_start
120      :goals: flash
121      :compact:
122
123   You should see "Hello World! gd32f450v_start" in your terminal.
124
125#. To debug an image:
126
127   .. zephyr-app-commands::
128      :zephyr-app: samples/hello_world
129      :board: gd32f450v_start
130      :goals: debug
131      :compact:
132
133.. _GigaDevice Cortex-M4F Stretch Performance SoC Website:
134   https://www.gigadevice.com/products/microcontrollers/gd32/arm-cortex-m4/stretch-performance-line/
135
136.. _GD32F450X Datasheet:
137   https://gd32mcu.com/data/documents/datasheet/GD32F450xx_Datasheet_Rev2.3.pdf
138
139.. _GD32F4xx User Manual:
140   https://www.gigadevice.com/manual/gd32f450xxxx-user-manual/
141
142.. _GD32F450V-START User Manual:
143   https://gd32mcu.com/data/documents/evaluationBoard/GD32F4xx_Demo_Suites_V2.6.1.rar
144