【FAQ】全志D1芯片 uart测试用例(支持自发自收,板间收发,数据校验,收发时间统计)
-
问题背景
部分客户或者技术人员需要验证uart的功能,包括数据准确性、传输速度、长时间传输稳定性等,但发现没有方便使用的测试用例。用例功能
1.支持短接外部接口或者使能Loopback自发自收
2.可配置用例为发送模式和接收模式进行板间收发测试
3.可打印收传输时间信息,用于计算传输速率
4.支持各项参数如传输通道、波特率、data size、传输次数的个性化设置
5.支持校验收发信息是否准确使用步骤
使能uart_test
make menuconfig 使能 PACKAGE_UART_TEST宏,即可编译出uart_test文件使用说明
例子:
/*Master模式短接外部引脚即可自发自收*/ Master:uart_test -d 2 -n 100 -t 10 -g -p Slave: uart_test -d 2 -n 100 -t 10 -g -p -m Loopback:uart_test -d 1 -b 1500000 -n 10 -s 256 -l -g 参数选择: 1.-d,选择uart通道,默认通道1 2.-b,波特率选择,默认115200Hz 3.-n,传输次数,默认100次 4.-s,发送数据size,默认16bytes 5.-p,开启打印统计时间信息 6.-t,收发多少轮数据后打印统计的时间信息,默认收发10次后打印一次 7.-l,开启loopback回环 8.-g,开启打印发送数据信息 9.-m,以接收模式调用测试程序,用于板间收发测试
测试验证
root@TinaLinux:/# uart_test -d 2 -n 100 -t 10 -f -l -g =======uart_test test args======= uart_port: /dev/ttyS2. baudrate: 115200. test cycle: 100. bytes_per_cycle: 16. flow ctrl:true. debug log:true. trans mode nSpeed:115200 set done! Select(/dev/ttyS2), Cnt 100. [main] line:292 read_size=0 0:transmit 16 bytes. ==== write data ==== 0x39 0x34 0x33 0x34 0x39 0x38 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1:transmit 16 bytes. ==== write data ==== 0x31 0x34 0x33 0x36 0x39 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 2:transmit 16 bytes. ==== write data ==== 0x33 0x34 0x33 0x38 0x37 0x33 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 3:transmit 16 bytes. ==== write data ==== 0x35 0x34 0x34 0x30 0x34 0x32 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 4:transmit 16 bytes. ==== write data ==== 0x37 0x34 0x34 0x32 0x30 0x34 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 5:transmit 16 bytes. ==== write data ==== 0x39 0x34 0x34 0x33 0x36 0x34 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 6:transmit 16 bytes. ==== write data ==== 0x31 0x34 0x34 0x35 0x32 0x36 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 7:transmit 16 bytes. ==== write data ==== 0x33 0x34 0x34 0x36 0x38 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 8:transmit 16 bytes. ==== write data ==== 0x35 0x34 0x34 0x38 0x35 0x35 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 9:transmit 16 bytes. ==== write data ==== 0x37 0x34 0x35 0x30 0x35 0x37 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 cnt: 10 err_cnt: 0 suc_cnt: 10 time: 2s 1675us 10:transmit 16 bytes. ==== write data ====
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号