[BSP][N32G45XVL]适配串口v2驱动 (#10222)

This commit is contained in:
koudai 2025-04-24 16:59:14 +08:00 committed by GitHub
parent 8382a40a90
commit 9b6438dfec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 1999 additions and 7 deletions

View File

@ -17,6 +17,8 @@ n32g45x_std_periph_driver/src/misc.c
if GetDepend(['RT_USING_SERIAL']): if GetDepend(['RT_USING_SERIAL']):
src += ['n32g45x_std_periph_driver/src/n32g45x_usart.c'] src += ['n32g45x_std_periph_driver/src/n32g45x_usart.c']
if GetDepend(['RT_SERIAL_USING_DMA']):
src += ['n32g45x_std_periph_driver/src/n32g45x_dma.c']
if GetDepend(['RT_USING_I2C']): if GetDepend(['RT_USING_I2C']):
src += ['n32g45x_std_periph_driver/src/n32g45x_i2c.c'] src += ['n32g45x_std_periph_driver/src/n32g45x_i2c.c']

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2025-04-23 koudaiNEW first version
*/
#ifndef __DRV_USART_V2_H__
#define __DRV_USART_V2_H__
#include <rtthread.h>
#include <rtdevice.h>
#include <rthw.h>
#define __HAL_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__) \
do{ \
(__HANDLE__)->__PPP_DMA_FIELD__ = &(__DMA_HANDLE__); \
(__DMA_HANDLE__).Parent = (__HANDLE__); \
} while(0U)
#define UART_RX_DMA_IT_IDLE_FLAG 0x00
#define UART_RX_DMA_IT_HT_FLAG 0x01
#define UART_RX_DMA_IT_TC_FLAG 0x02
#endif /* __DRV_USART_V2_H__ */

View File

@ -0,0 +1,23 @@
scons.args: &scons
scons_arg:
- '--strict'
# ------ kernel CI ------
# ------ online-packages CI ------
# ------ peripheral CI ------
peripheral.uartv2:
kconfig:
- CONFIG_RT_USING_SERIAL_V1=n
- CONFIG_RT_USING_SERIAL_V2=y
- CONFIG_RT_SERIAL_USING_DMA=y
- CONFIG_BSP_USART1_AFIO_MODE_PA9_PA10=y
- CONFIG_BSP_UART1_RX_BUFSIZE=1024
- CONFIG_BSP_UART1_TX_BUFSIZE=1024
- CONFIG_BSP_USART2_AFIO_MODE_PD5_PD6=y
- CONFIG_BSP_UART2_RX_USING_DMA=y
- CONFIG_BSP_UART2_TX_USING_DMA=y
- CONFIG_BSP_UART2_RX_BUFSIZE=1024
- CONFIG_BSP_UART2_TX_BUFSIZE=1024

View File

@ -27,33 +27,321 @@ menu "On-chip Peripheral Drivers"
default y default y
select RT_USING_SERIAL select RT_USING_SERIAL
if BSP_USING_UART if BSP_USING_UART
config BSP_USING_USART1 menuconfig BSP_USING_USART1
bool "Enable USART1" bool "Enable USART1"
default y default y
if BSP_USING_USART1
choice
prompt "Set usart1 afio mode"
default BSP_USART1_AFIO_MODE_PA9_PA10
config BSP_USING_USART2 config BSP_USART1_AFIO_MODE_PA9_PA10
bool
prompt "PA9 PA10"
config BSP_USART1_AFIO_MODE_PB6_PB7
bool
prompt "PB6 PB7"
endchoice
config BSP_UART1_RX_USING_DMA
bool "Enable usart1 rx dma"
depends on BSP_USING_USART1 && RT_SERIAL_USING_DMA
default n
config BSP_UART1_TX_USING_DMA
bool "Enable usart1 tx dma"
depends on BSP_USING_USART1 && RT_SERIAL_USING_DMA
default n
config BSP_UART1_RX_BUFSIZE
int "Set rx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART1_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
menuconfig BSP_USING_USART2
bool "Enable USART2" bool "Enable USART2"
default n default n
if BSP_USING_USART2
choice
prompt "Set usart2 afio mode"
default BSP_USART2_AFIO_MODE_PA2_PA3
config BSP_USING_USART3 config BSP_USART2_AFIO_MODE_PA2_PA3
bool
prompt "PA2 PA3"
config BSP_USART2_AFIO_MODE_PD5_PD6
bool
prompt "PD5 PD6"
config BSP_USART2_AFIO_MODE_PC8_PC9
bool
prompt "PC8 PC9"
config BSP_USART2_AFIO_MODE_PB4_PB5
bool
prompt "PB4 PB5"
endchoice
config BSP_UART2_RX_USING_DMA
bool "Enable usart2 rx dma"
depends on BSP_USING_USART2 && RT_SERIAL_USING_DMA
default n
config BSP_UART2_TX_USING_DMA
bool "Enable usart2 tx dma"
depends on BSP_USING_USART2 && RT_SERIAL_USING_DMA
default n
config BSP_UART2_RX_BUFSIZE
int "Set rx buffer size"
range 256 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART2_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
menuconfig BSP_USING_USART3
bool "Enable USART3" bool "Enable USART3"
default n default n
if BSP_USING_USART3
choice
prompt "Set usart3 afio mode"
default BSP_USART3_AFIO_MODE_PB10_PB11
config BSP_USING_UART4 config BSP_USART3_AFIO_MODE_PB10_PB11
bool
prompt "PB10 PB11"
config BSP_USART3_AFIO_MODE_PC10_PC11
bool
prompt "PC10 PC11"
config BSP_USART3_AFIO_MODE_PD8_PD9
bool
prompt "PD8 PD9"
endchoice
config BSP_UART3_RX_USING_DMA
bool "Enable usart3 rx dma"
depends on BSP_USING_USART3 && RT_SERIAL_USING_DMA
default n
config BSP_UART3_TX_USING_DMA
bool "Enable usart3 tx dma"
depends on BSP_USING_USART3 && RT_SERIAL_USING_DMA
default n
config BSP_UART3_RX_BUFSIZE
int "Set rx buffer size"
range 256 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART3_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
menuconfig BSP_USING_UART4
bool "Enable UART4" bool "Enable UART4"
default n default n
if BSP_USING_UART4
choice
prompt "Set uart4 afio mode"
default BSP_UART4_AFIO_MODE_PC10_PC11
config BSP_USING_UART5 config BSP_UART4_AFIO_MODE_PC10_PC11
bool
prompt "PC10 PC11"
config BSP_UART4_AFIO_MODE_PB2_PE7
bool
prompt "PB2 PE7"
config BSP_UART4_AFIO_MODE_PA13_PA14
bool
prompt "PA13 PA14"
config BSP_UART4_AFIO_MODE_PD0_PD1
bool
prompt "PD0 PD1"
endchoice
config BSP_UART4_RX_USING_DMA
bool "Enable uart4 rx dma"
depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA
default n
config BSP_UART4_TX_USING_DMA
bool "Enable uart4 tx dma"
depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA
default n
config BSP_UART4_RX_BUFSIZE
int "Set rx buffer size"
range 256 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART4_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
menuconfig BSP_USING_UART5
bool "Enable UART5" bool "Enable UART5"
default n default n
if BSP_USING_UART5
choice
prompt "Set uart5 afio mode"
default BSP_UART5_AFIO_MODE_PC12_PD2
config BSP_USING_UART6 config BSP_UART5_AFIO_MODE_PC12_PD2
bool
prompt "PC12 PD2"
config BSP_UART5_AFIO_MODE_PB13_PB14
bool
prompt "PB13 PB14"
config BSP_UART5_AFIO_MODE_PE8_PE9
bool
prompt "PE8 PE9"
config BSP_UART5_AFIO_MODE_PB8_PB9
bool
prompt "PB8 PB9"
endchoice
config BSP_UART5_RX_USING_DMA
bool "Enable uart5 rx dma"
depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
default n
config BSP_UART5_TX_USING_DMA
bool "Enable uart5 tx dma"
depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
default n
config BSP_UART5_RX_BUFSIZE
int "Set rx buffer size"
range 256 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART5_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
menuconfig BSP_USING_UART6
bool "Enable UART6" bool "Enable UART6"
default n default n
if BSP_USING_UART6
choice
prompt "Set uart6 afio mode"
default BSP_UART6_AFIO_MODE_PE2_PE3
config BSP_USING_UART7 config BSP_UART6_AFIO_MODE_PE2_PE3
bool
prompt "PE2 PE3"
config BSP_UART6_AFIO_MODE_PC0_PC1
bool
prompt "PC0 PC1"
config BSP_UART6_AFIO_MODE_PB0_PB1
bool
prompt "PB0 PB1"
endchoice
config BSP_UART6_RX_USING_DMA
bool "Enable uart6 rx dma"
depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA
default n
config BSP_UART6_TX_USING_DMA
bool "Enable uart6 tx dma"
depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA
default n
config BSP_UART6_RX_BUFSIZE
int "Set rx buffer size"
range 256 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART6_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
menuconfig BSP_USING_UART7
bool "Enable UART7" bool "Enable UART7"
default n default n
if BSP_USING_UART7
choice
prompt "Set uart7 afio mode"
default BSP_UART7_AFIO_MODE_PC4_PC5
config BSP_UART7_AFIO_MODE_PC4_PC5
bool
prompt "PC4 PC5"
config BSP_UART7_AFIO_MODE_PC2_PC3
bool
prompt "PC2 PC3"
config BSP_UART6_AFIO_MODE_PG0_PG1
bool
prompt "PG0 PG1"
endchoice
config BSP_UART7_RX_USING_DMA
bool "Enable uart7 rx dma"
depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA
default n
config BSP_UART7_TX_USING_DMA
bool "Enable uart7 tx dma"
depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA
default n
config BSP_UART7_RX_BUFSIZE
int "Set rx buffer size"
range 256 16384
depends on RT_USING_SERIAL_V2
default 256
config BSP_UART7_TX_BUFSIZE
int "Set tx buffer size"
range 0 16384
depends on RT_USING_SERIAL_V2
default 0
endif
endif endif
menuconfig BSP_USING_SPI menuconfig BSP_USING_SPI