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“ 才能恢复
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式
+关注
关注
5082文章
19118浏览量
305024 -
usb
+关注
关注
60文章
7945浏览量
264584 -
Linux
+关注
关注
87文章
11302浏览量
209431
发布评论请先 登录
相关推荐
如何配置USB OTG为Gadget serial device?
现需要将OKA40i-C板子上的OTG下载口配置为虚拟串口,实现u***串行通信,利用linux已存在的u***转虚拟串口驱动:USB Gadget Drivers (Serial Gadget
发表于 01-04 06:47
基于Linux内核的Rockchip USB Gadget UAC开发资料分享
1、Rockchip USB Gadget UAC开发步骤本文档提供 Rockchip 平台基于 Linux 内核的 USB Gadget UAC(
发表于 08-10 16:03
RK3288使用USB GADGET实现大容量存储脚本
(){mount -t configfs none /sys/kernel/configmkdir /sys/kernel/config/usb_gadget/rockchip -m
发表于 11-18 16:33
求助,关于USB gadget安装虚拟网口问题求解
1.make linux-menuconfig
USB support ---->
<*>USB Gadget Support ---->
发表于 09-01 06:14
[嵌入式linux]将linux板卡虚拟为USB网卡设备(Ethernet Gadget)
kernel menuconfig-> Device Drivers ->USB support -> USB Gadget Support 建议最好选成M,作为内核驱动模块,便于
发表于 11-02 11:36
•12次下载
AMD Xilinx Linux 2022.1 USB Gadget使用
有客户使用Linux中的USB Gadget功能,把MPSoC器件做USB从设备
USB Gadget zero应用实例程序
1. 编写程序 1.1 编程思路 涉及的程序如下图所示: PC 端基于 libusb 编写应用程序,开发板端直接使用 Linux 自带的 USB Gadget 驱动 zero.c【/drivers
从硬件软件角度理解Gadget框架
2. 从硬件软件角度理解 Gadget 框架 USB 传输的核心是 endpoint,使用 endpoint 可以收发数据。在 endpoint 之上,就可以模拟 USB 串口、USB
USB鼠标驱动程序上机实验
上机实验 需要重新配置内核,去掉内核自带的驱动程序。在内核目录下执行"make menuconfig": Device Drivers --- > HID support
评论