linux chipidea usb,找到一篇关于Linux usb gadget 非常使用的说明和使用教程

按照上一篇文章对gadget_configfs.txt的翻译,以imx8qxp mek的板子做为验证,配置为mass storage进行验证。

内核打开对应的宏

1、必须打开CONFIG_CONFIGFS_FS和CONFIG_USB_LIBCOMPOSITE的宏,前者为用户空间提供访问配置内核驱动的configfs文件系统,后者提供usb gadget composite框架;

2、必须打开UDC(USB Device Controller)的配置,这个是配置硬件控制器。我这里使用CONFIG_USB_CHIPIDEA和CONFIG_USB_CHIPIDEA_UDC;

3、如果使用mass storage功能,需要打开USB_CONFIGFS_MASS_STORAGE和USB_F_MASS_STORAGE,对应于usb_f_mass_storage.ko驱动。

配置步骤

挂载configfs:mount -t configfs none /config/,在这之后,/configfs/目录下就会生成usb_gadget/目录;

创建gadget:mkdir usb_gadget/g1,创建g1/目录之后,该目录下会生成很多配置目录,这里的g1表示gadget 1,一个UDC对应一个gadget,如果你的SOC上有多个gadget,可以创建多个gx目录。

# ll usb_gadget/g1/

total 0

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 UDC

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 bDeviceClass

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 bDeviceProtocol

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 bDeviceSubClass

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 bMaxPacketSize0

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 bcdDevice

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 bcdUSB

drwxr-xr-x 2 root root 0 1999-11-30 00:02 configs

drwxr-xr-x 2 root root 0 1999-11-30 00:02 functions

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 idProduct

-rw-r--r-- 1 root root 4096 1999-11-30 00:02 idVendor

drwxr-xr-x 2 root root 0 1999-11-30 00:02 os_desc

drwxr-xr-x 2 root root 0 1999-11-30 00:02 strings

配置PID和VID

# echo 0x18d1 > usb_gadget/g1/idVendor

# echo 0x4ee2 > usb_gadget/g1/idProduct

创建并配置string字目录

# mkdir usb_gadget/g1/strings/0x409

# echo "123456789" > usb_gadget/g1/strings/0x409/serialnumber

# echo "xxx" > usb_gadget/g1/strings/0x409/manufacturer

# echo "xxx_product" > usb_gadget/g1/strings/0x409/product

创建configuration和字符串

# mkdir usb_gadget/g1/configs/c.1

# mkdir usb_gadget/g1/configs/c.1/strings/0x409

# echo "mass_storage" > usb_gadget/g1/configs/c.1/strings/0x409/configuration

创建functions

# mkdir usb_gadget/g1/functions/mass_storage.0

[ 108.582976] [1: mkdir: 1976] Mass Storage

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值