UART 配置
Luban-Lite 中对 UART 的配置需要在多个地方完成
SOC 设置
在 bsp/artinchip/sys/soc name/Kconfig.chip 中完成该 SOC 中 UART 的相关信息设置,SDK
默认已经完成设置,一般不需要调整
config AIC_UART_DRV bool default n config AIC_UART_DRV_V10 bool default y if AIC_UART_DRV config AIC_UART_DRV_VER string default "10" if AIC_UART_DRV_V10 config AIC_UART_DEV_NUM int default 8 if AIC_UART_DRV
Board 设置
在 target/soc name/board name/ 目录可以设置要用到的 UART 端口和相应端口的 Pinmux
- 端口设置在 target/soc name/board name/Kconfig.board 中完成该开发板中 UART 的相关信息设置, 一般会配置需要的 UART 端口,SDK 默认已经完成设置,一般不需要调整
config AIC_USING_UART0 bool "Using uart0" default n select AIC_UART_DRV config AIC_USING_UART1 bool "Using uart1" default n select AIC_UART_DRV
- Pinmux在 target/soc name/board name/pinmux.c 中设置 UART 端口的 pinmux,需要根据开发板板的不同进行不同的设置
struct aic_pinmux aic_pinmux_config[] = { ... #ifdef AIC_USING_UART0 /* uart0 */ {5, PIN_PULL_DIS, 3, "PA.0"}, {5, PIN_PULL_DIS, 3, "PA.1"}, #endif
驱动设置
在 bsp/artinchip/drv/uart/Kconfig.dev 中设置设备驱动的工作参数,需要根据使用的不同进行不同的参数设置
-
baudrate
-
data bites
-
stop bits
-
parity
-
flow control
config AIC_DEV_UART0_BAUDRATE int "uart0 baudrate" default 115200 config AIC_DEV_UART0_DATABITS int "uart0 data bits" range 0 15 default 8 config AIC_DEV_UART0_STOPBITS int "uart0 stop bits" range 0 3 default 1
使用配置
在如上设置成功后,在 Luban-Lite 根目录下执行 scons
–menuconfig,可以进入功能配置界面配置相关参数
Board options --> [*] Using uart0 [*] Using uart1 [*] Using uart2 [*] Using uart3 uart0 parameter ---> (115200) uart0 baudrate (8) uart0 data bits (1) uart0 stop bits (0) uart0 parity (0=none, 1=odd, 2=even) uart0 mode (rs232) --->