Hi Zheng,Jung-Hung,
I was checking the uart driver, could you please comment the if(UART == QN_UART0 line?
This condition never will be 1.
Be Sure that the CONFIG_UART0_R/TX_ENABLE_INTERRUPT is true and the UART_R/TX_DMA_EN is False.
#if CONFIG_ENABLE_DRIVER_UART0==TRUE
reg = UART_MASK_UART_EN
| UART_MASK_UART_IE
| UART_OVS16
| UART_MASK_LEVEL_INV
| UART_MASK_BIT_ORDER;
uart_env = &uart0_env;
#if CONFIG_UART0_TX_ENABLE_INTERRUPT==TRUE && UART_TX_DMA_EN==FALSE
NVIC_EnableIRQ(UART0_TX_IRQn);
#endif
#if CONFIG_UART0_RX_ENABLE_INTERRUPT==TRUE && UART_RX_DMA_EN==FALSE
NVIC_EnableIRQ(UART0_RX_IRQn);
#endif
#endif
Let me know you findings
Best Regards,
Mario