USB Gadget zero应用上机实验

描述

2. 上机实验

实验步骤:

  • 先安装 g_zero 驱动程序:在开发板上执行modprobe g_zero
  • 然后连接 OTG 线到 PC
  • 在 Ubuntu 中识别出设备
  • 执行测试程序
    • 先编译:在 Ubuntu 里执行如下命令
apt-cache search libusb               # 查找 libusb 开发包
sudo apt install libusb-1.0-0-dev     # 安装 libusb 开发包
gcc -o zero_app zero_app.c -lusb-1.0  # 编译
  • 测试:在 Ubuntu 里执行如下命令
$ sudo ./zero_app -l    # 列出设备的配置值
config 0: bConfigurationValue = 3
config 1: bConfigurationValue = 2

# 测试loopback功能
$ sudo ./zero_app -s 2                  # 选择loopback的配置
$ sudo ./zero_app -wstr www.100ask.net  # 写入字符串
current config: 2
in_ep = 0x81, out_ep = 0x1
$ sudo ./zero_app -rstr                # 读出字符串
current config: 2
in_ep = 0x81, out_ep = 0x1
Read string: www.100ask.net

$ sudo ./zero_app -w 1 2 3 4 5 6 7 8   # 写入8个字节
current config: 2
in_ep = 0x81, out_ep = 0x1
sudo ./zero_app -r                     # 读到8个字节
current config: 2
in_ep = 0x81, out_ep = 0x1
transferred != in_ep_maxlen
Read datas:
01 02 03 04 05 06 07 08

#测试Source/Sink功能
$ sudo ./zero_app -s 3                   # 选择source/sink的配置         
book@100ask:~/nfs_rootfs/05_libusb_zero$ sudo ./zero_app -r  # 读数据
current config: 3
in_ep = 0x81, out_ep = 0x1
Read datas:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

sudo ./zero_app -w 0 0 0  # 写数据, 只能写入0, 
                          # 写入其他值将会导致开发板上的驱动认为是错误然后halt out端点
                          # 然后只能重新执行 ”sudo ./zero_app -s 3“ 才能恢复
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分