summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruceOu <[email protected]>2022-03-04 13:49:28 +0800
committerGitHub <[email protected]>2022-03-04 13:49:28 +0800
commit38ed2a3ec4098b1b1a47ccf82ac3069ca82a81ab (patch)
tree73c6326c5e3203594fb8d99a861f5af00307ab49
parent91ea28a625092794cb44aa9c0a8fdc33617e37ed (diff)
[bsp/gd32]Optimize UART (#5603)
* [bsp/gd32]Optimize UART * [bsp/gd32]Optimize UART
-rw-r--r--bsp/gd32/docs/GD32系列BSP制作教程.md2
-rw-r--r--bsp/gd32/gd32103c-eval/README.md2
-rw-r--r--bsp/gd32/gd32103c-eval/board/Kconfig43
-rw-r--r--bsp/gd32/gd32105c-eval/README.md2
-rw-r--r--bsp/gd32/gd32105c-eval/board/Kconfig43
-rw-r--r--bsp/gd32/gd32105r-start/README.md2
-rw-r--r--bsp/gd32/gd32105r-start/board/Kconfig43
-rw-r--r--bsp/gd32/gd32107c-eval/README.md2
-rw-r--r--bsp/gd32/gd32107c-eval/board/Kconfig43
-rw-r--r--bsp/gd32/gd32205r-start/README.md2
-rw-r--r--bsp/gd32/gd32205r-start/board/Kconfig43
-rw-r--r--bsp/gd32/gd32303e-eval/README.md2
-rw-r--r--bsp/gd32/gd32303e-eval/board/Kconfig43
-rw-r--r--bsp/gd32/gd32305r-start/README.md2
-rw-r--r--bsp/gd32/gd32305r-start/board/Kconfig43
-rw-r--r--bsp/gd32/gd32407v-start/README.md2
-rw-r--r--bsp/gd32/gd32407v-start/board/Kconfig53
-rw-r--r--bsp/gd32/gd32450z-eval/board/Kconfig73
-rw-r--r--bsp/gd32/libraries/gd32_drivers/drv_usart.c2
19 files changed, 428 insertions, 19 deletions
diff --git a/bsp/gd32/docs/GD32系列BSP制作教程.md b/bsp/gd32/docs/GD32系列BSP制作教程.md
index 4e517348b5..6b35a33850 100644
--- a/bsp/gd32/docs/GD32系列BSP制作教程.md
+++ b/bsp/gd32/docs/GD32系列BSP制作教程.md
@@ -42,7 +42,7 @@ GD32的BSP架构主要分为三个部分:libraries、tools和具体的Boards�
安装完成后会自动打开,我们将其关闭。
-接下来我们下载GD32F30x的软件支持包。
+接下来我们下载GD32F4xx的软件支持包。
[下载地址](http://www.gd32mcu.com/cn/download)
diff --git a/bsp/gd32/gd32103c-eval/README.md b/bsp/gd32/gd32103c-eval/README.md
index bb7e51279b..04fff4a92b 100644
--- a/bsp/gd32/gd32103c-eval/README.md
+++ b/bsp/gd32/gd32103c-eval/README.md
@@ -24,7 +24,7 @@ GD3103C-EVAL是-兆易创新推出的一款GD32F10X系列的评估板,最高�
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32103c-eval/board/Kconfig b/bsp/gd32/gd32103c-eval/board/Kconfig
index 354d212994..3240e327b7 100644
--- a/bsp/gd32/gd32103c-eval/board/Kconfig
+++ b/bsp/gd32/gd32103c-eval/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32105c-eval/README.md b/bsp/gd32/gd32105c-eval/README.md
index 623501ef26..125d7e6890 100644
--- a/bsp/gd32/gd32105c-eval/README.md
+++ b/bsp/gd32/gd32105c-eval/README.md
@@ -28,7 +28,7 @@ GD3105C-EVAL是-兆易创新推出的一款GD32F10X系列的评估板,最高�
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32105c-eval/board/Kconfig b/bsp/gd32/gd32105c-eval/board/Kconfig
index 72f7f9634a..d7fec293c8 100644
--- a/bsp/gd32/gd32105c-eval/board/Kconfig
+++ b/bsp/gd32/gd32105c-eval/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32105r-start/README.md b/bsp/gd32/gd32105r-start/README.md
index 6a6c20c873..b3a02bae22 100644
--- a/bsp/gd32/gd32105r-start/README.md
+++ b/bsp/gd32/gd32105r-start/README.md
@@ -28,7 +28,7 @@ GD3105R-START是-兆易创新推出的一款GD32F10X系列的评估板,最高�
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32105r-start/board/Kconfig b/bsp/gd32/gd32105r-start/board/Kconfig
index deda10f857..8c6338255d 100644
--- a/bsp/gd32/gd32105r-start/board/Kconfig
+++ b/bsp/gd32/gd32105r-start/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32107c-eval/README.md b/bsp/gd32/gd32107c-eval/README.md
index a5dd4a3132..75ab55851e 100644
--- a/bsp/gd32/gd32107c-eval/README.md
+++ b/bsp/gd32/gd32107c-eval/README.md
@@ -28,7 +28,7 @@ GD3107C-EVAL是-兆易创新推出的一款GD32F10X系列的评估板,最高�
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32107c-eval/board/Kconfig b/bsp/gd32/gd32107c-eval/board/Kconfig
index c20447d8e7..3a68096bc4 100644
--- a/bsp/gd32/gd32107c-eval/board/Kconfig
+++ b/bsp/gd32/gd32107c-eval/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32205r-start/README.md b/bsp/gd32/gd32205r-start/README.md
index ec3489806a..43ef946f5d 100644
--- a/bsp/gd32/gd32205r-start/README.md
+++ b/bsp/gd32/gd32205r-start/README.md
@@ -28,7 +28,7 @@ GD32205R-START是-兆易创新推出的一款GD32F20X系列的评估板,最高
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32205r-start/board/Kconfig b/bsp/gd32/gd32205r-start/board/Kconfig
index 49e208681b..6953402bb2 100644
--- a/bsp/gd32/gd32205r-start/board/Kconfig
+++ b/bsp/gd32/gd32205r-start/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32303e-eval/README.md b/bsp/gd32/gd32303e-eval/README.md
index dd789e8394..f71b1cd0e6 100644
--- a/bsp/gd32/gd32303e-eval/README.md
+++ b/bsp/gd32/gd32303e-eval/README.md
@@ -24,7 +24,7 @@ GD3303E-EVAL是-兆易创新推出的一款GD32F30X系列的评估板,最高�
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32303e-eval/board/Kconfig b/bsp/gd32/gd32303e-eval/board/Kconfig
index c4b496f179..a36e954a1d 100644
--- a/bsp/gd32/gd32303e-eval/board/Kconfig
+++ b/bsp/gd32/gd32303e-eval/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32305r-start/README.md b/bsp/gd32/gd32305r-start/README.md
index 343a2424b6..49db8aa8ad 100644
--- a/bsp/gd32/gd32305r-start/README.md
+++ b/bsp/gd32/gd32305r-start/README.md
@@ -28,7 +28,7 @@ GD3305R-START是-兆易创新推出的一款GD32F30X系列的评估板,最高�
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART4 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 - SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32305r-start/board/Kconfig b/bsp/gd32/gd32305r-start/board/Kconfig
index 5ef7ae972d..043313a0fb 100644
--- a/bsp/gd32/gd32305r-start/board/Kconfig
+++ b/bsp/gd32/gd32305r-start/board/Kconfig
@@ -27,13 +27,54 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32407v-start/README.md b/bsp/gd32/gd32407v-start/README.md
index 6d0c851eae..f938dc9f84 100644
--- a/bsp/gd32/gd32407v-start/README.md
+++ b/bsp/gd32/gd32407v-start/README.md
@@ -28,7 +28,7 @@ GD32407V-START是-兆易创新推出的一款GD32F4XX系列的评估板,最高
| **片上外设** | **支持情况** | **备注** |
|:--------- |:--------:|:------------------------------------- |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART0 - UART7 |
+| UART | 支持 | UART0 - UART5 |
| I2C | 支持 | I2C1 |
| SPI | 支持 | SPI0 -  SPI2 |
| SPI FLASH | 支持 | |
diff --git a/bsp/gd32/gd32407v-start/board/Kconfig b/bsp/gd32/gd32407v-start/board/Kconfig
index 29331248c6..572e421de8 100644
--- a/bsp/gd32/gd32407v-start/board/Kconfig
+++ b/bsp/gd32/gd32407v-start/board/Kconfig
@@ -27,13 +27,64 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART5
+ bool "Enable UART5"
+ default n
+
+ config BSP_UART5_RX_USING_DMA
+ bool "Enable UART5 RX DMA"
+ depends on BSP_USING_UART5
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/gd32450z-eval/board/Kconfig b/bsp/gd32/gd32450z-eval/board/Kconfig
index 6d37255141..c74455ad92 100644
--- a/bsp/gd32/gd32450z-eval/board/Kconfig
+++ b/bsp/gd32/gd32450z-eval/board/Kconfig
@@ -27,13 +27,84 @@ menu "On-chip Peripheral Drivers"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_UART0_RX_USING_DMA
+ bool "Enable UART0 RX DMA"
+ depends on BSP_USING_UART0
+ select RT_SERIAL_USING_DMA
+ default n
+
config BSP_USING_UART1
bool "Enable UART1"
default y
config BSP_UART1_RX_USING_DMA
bool "Enable UART1 RX DMA"
- depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
+ depends on BSP_USING_UART1
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART2
+ bool "Enable UART2"
+ default n
+
+ config BSP_UART2_RX_USING_DMA
+ bool "Enable UART2 RX DMA"
+ depends on BSP_USING_UART2
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART3
+ bool "Enable UART3"
+ default n
+
+ config BSP_UART3_RX_USING_DMA
+ bool "Enable UART3 RX DMA"
+ depends on BSP_USING_UART3
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART4
+ bool "Enable UART4"
+ default n
+
+ config BSP_UART4_RX_USING_DMA
+ bool "Enable UART4 RX DMA"
+ depends on BSP_USING_UART4
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART5
+ bool "Enable UART5"
+ default n
+
+ config BSP_UART5_RX_USING_DMA
+ bool "Enable UART5 RX DMA"
+ depends on BSP_USING_UART5
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART6
+ bool "Enable UART6"
+ default n
+
+ config BSP_UART6_RX_USING_DMA
+ bool "Enable UART6 RX DMA"
+ depends on BSP_USING_UART6
+ select RT_SERIAL_USING_DMA
+ default n
+
+ config BSP_USING_UART7
+ bool "Enable UART7"
+ default n
+
+ config BSP_UART7_RX_USING_DMA
+ bool "Enable UART7 RX DMA"
+ depends on BSP_USING_UART7
+ select RT_SERIAL_USING_DMA
default n
endif
diff --git a/bsp/gd32/libraries/gd32_drivers/drv_usart.c b/bsp/gd32/libraries/gd32_drivers/drv_usart.c
index df9e40606a..9eebb96327 100644
--- a/bsp/gd32/libraries/gd32_drivers/drv_usart.c
+++ b/bsp/gd32/libraries/gd32_drivers/drv_usart.c
@@ -437,7 +437,7 @@ static int gd32_uart_putc(struct rt_serial_device *serial, char ch)
uart = (struct gd32_uart *)serial->parent.user_data;
usart_data_transmit(uart->uart_periph, ch);
- while((usart_flag_get(uart->uart_periph, USART_FLAG_TC) == RESET));
+ while((usart_flag_get(uart->uart_periph, USART_FLAG_TBE) == RESET));
return RT_EOK;
}