7.10.2. 使用指南

ZX-RTT 中对 UART 的配置需要在多个地方完成

7.10.2.1. SOC 设置

在 bsp/zx/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

7.10.2.2. Board 设置

在 target/soc name/board name/ 目录可以设置要用到的 UART 端口和相应端口的 Pinmux

7.10.2.2.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

7.10.2.2.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

7.10.2.3. 驱动设置

在 bsp/zx/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

7.10.2.4. 使用配置

在如上设置成功后,在 ZX-RTT 根目录下执行 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)  --->