我们的开发版上画了一个MINI B的母口USB,原理图如下:
当内核配置这个口为主模式的时候,通过OTG线接U盘可以识别(OTG一端是MINI B plug,另外一端是Standard A类型的母口)
但是配置成从模式的时候,没有任何反应。从模式时候的内核的关键配置是:
<M> Sbull Device Support
--- USB support
<*> Inventra Highspeed Dual Role Controller (TI, ADI, ...)
<*> TI81XX
TI81XX usb connector's ID pin control (from software settin
Driver Mode (USB Peripheral (gadget stack)) --->
<*> USB Gadget Support --->
--- USB Gadget Support
(2) Maximum VBUS Power usage (2-500 mA)
USB Peripheral Controller (Inventra HDRC USB Peripheral (TI)
<M> USB Gadget Drivers
<M> File-backed Storage Gadget
[*] File-backed Storage Gadget testing version
然后系统启动过程加载g_file_storge.ko,加载命令如下:
mkdosfs -v /dev/sbulla 2>/dev/null mkdir /mnt/ramdisk 2>/dev/null mount -t vfat /dev/sbulla /mnt/ramdisk 2>/dev/null insmod g_file_storage.ko file=/dev/sbulla stall=0 removable=1
执行这些命令之后的输出是:
g_file_storage gadget: No serial-number string provided! g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010 g_file_storage gadget: Number of LUNs=1 g_file_storage gadget-lun0: ro=0, nofua=0, file: /dev/sbulla
使用一端是MINI B plug,另外一端是Standard A plug的usb线连接到笔记本(linux系统和winXP系统都测试过),没有任何反应。
在linux系统下执行lsusb没有任何多出的信息,在winXP的设备管理器下,插拔没有出现任何新设备。
使用万用表测试USB1_VBUS旁边的电阻R475是有接近5v的电压,而USB1_DRV_VBUS是0