Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

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

    其它全志芯片讨论区
    d1 r328 faq 技术支持
    1
    1
    406
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 8 last edited by q1215200171

      问题背景
      部分客户或者技术人员需要验证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 ====
      
      1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策