diff --git a/Kconfig.utestcases b/Kconfig.utestcases index e402aff6508..69a8a43885a 100644 --- a/Kconfig.utestcases +++ b/Kconfig.utestcases @@ -4,6 +4,7 @@ menu "RT-Thread Utestcases" bool "RT-Thread Utestcases" default n select RT_USING_UTEST + select RT_USING_DEBUG if !RT_USING_ULOG if RT_USING_UTESTCASES diff --git a/components/drivers/serial/utest/Kconfig b/components/drivers/serial/utest/Kconfig index aefb162b8b5..18c75b2574c 100644 --- a/components/drivers/serial/utest/Kconfig +++ b/components/drivers/serial/utest/Kconfig @@ -16,6 +16,10 @@ menu "Serial Test" string "Device Name for Serial Test" default "uart2" + config RT_SERIAL_TC_DEVICE_USING_TX_DMA + bool "Selected serial device is using TX DMA" + default n + config RT_SERIAL_TC_RXBUF_SIZE int "RX Buffer Size for Serial Test" default 128 diff --git a/components/drivers/serial/utest/v2/uart_flush_txb.c b/components/drivers/serial/utest/v2/uart_flush_txb.c index 3e99e77ecac..060976ce01d 100644 --- a/components/drivers/serial/utest/v2/uart_flush_txb.c +++ b/components/drivers/serial/utest/v2/uart_flush_txb.c @@ -64,7 +64,8 @@ static rt_err_t test_item(rt_uint8_t *uart_write_buffer, rt_uint32_t send_size) rt_device_control(&serial->parent, RT_SERIAL_CTRL_TX_FLUSH, RT_NULL); tick_diff = rt_tick_get() - old_tick; - if (tick_diff < expect_time || tick_diff > (expect_time + 10)) + rt_uint32_t lower_bound = (expect_time > 2) ? (expect_time - 2) : 0; + if (tick_diff < lower_bound || tick_diff > (expect_time + 10)) { LOG_E("send_size [%4d], time required for TXB mode transmission to complete [%3d], expect_time [%3d]", send_size, tick_diff, expect_time); return -RT_ERROR; diff --git a/components/drivers/serial/utest/v2/uart_flush_txnb.c b/components/drivers/serial/utest/v2/uart_flush_txnb.c index e300df286c8..b8c722e71f7 100644 --- a/components/drivers/serial/utest/v2/uart_flush_txnb.c +++ b/components/drivers/serial/utest/v2/uart_flush_txnb.c @@ -64,7 +64,8 @@ static rt_err_t test_item(rt_uint8_t *uart_write_buffer, rt_uint32_t send_size) rt_device_control(&serial->parent, RT_SERIAL_CTRL_TX_FLUSH, RT_NULL); tick_diff = rt_tick_get() - old_tick; - if (tick_diff < expect_time || tick_diff > (expect_time + 10)) + rt_uint32_t lower_bound = (expect_time > 2) ? (expect_time - 2) : 0; + if (tick_diff < lower_bound || tick_diff > (expect_time + 10)) { LOG_E("send_size [%4d], time required for TXNB mode transmission to complete [%3d], expect_time [%3d]", send_size, tick_diff, expect_time); return -RT_ERROR; diff --git a/components/drivers/serial/utest/v2/uart_timeout_txb.c b/components/drivers/serial/utest/v2/uart_timeout_txb.c index d60e9bd02ca..e070725dfa9 100644 --- a/components/drivers/serial/utest/v2/uart_timeout_txb.c +++ b/components/drivers/serial/utest/v2/uart_timeout_txb.c @@ -14,7 +14,7 @@ #include #ifdef RT_UTEST_SERIAL_V2 -#ifndef BSP_UART2_TX_USING_DMA +#ifndef RT_SERIAL_TC_DEVICE_USING_TX_DMA static struct rt_serial_device *serial;