实验步骤:
modprobe g_zero
apt-cache search libusb # 查找 libusb 开发包
sudo apt install libusb-1.0-0-dev # 安装 libusb 开发包
gcc -o zero_app zero_app.c -lusb-1.0 # 编译
$ 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“ 才能恢复
全部0条评论
快来发表一下你的评论吧 !