前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志D1-H芯片 uart测试用例(支持自发自收,板间收发,数据校验,收发时间统计)

全志D1-H芯片 uart测试用例(支持自发自收,板间收发,数据校验,收发时间统计)

作者头像
阿志小管家
发布2024-02-02 16:19:07
1290
发布2024-02-02 16:19:07
举报
文章被收录于专栏:全志嵌入式那些事

问题背景 部分客户或者技术人员需要验证uart的功能,包括数据准确性、传输速度、长时间传输稳定性等,但发现没有方便使用的测试用例。

用例功能 1.支持短接外部接口或者使能Loopback自发自收 2.可配置用例为发送模式和接收模式进行板间收发测试 3.可打印收传输时间信息,用于计算传输速率 4.支持各项参数如传输通道、波特率、data size、传输次数的个性化设置 5.支持校验收发信息是否准确

使用步骤 使能uart_test make menuconfig 使能 PACKAGE_UART_TEST宏,即可编译出uart_test文件

使用说明

例子:

代码语言:javascript
复制
/*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,以接收模式调用测试程序,用于板间收发测试

测试验证

代码语言:javascript
复制
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 ====

原贴链接:https://bbs.aw-ol.com/topic/1319

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档