Edit online

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
  1. 端口设置
    在 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
  2. 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)  --->