关于tiny210连接到PC机上能通过gadget被识别为U盘的问题,已经解决
[复制链接]
这几天在做项目,需要实现tiny210经过miniUSB连接到PC机上能通过gadget被识别为U盘或者SD卡,我tiny210上安装的是光盘自带linux系统,不能被PC机识别为U盘。找了很多资料,终于成功了,之前主要是没有配置配置模块g_file_storage.ko。在此分享一下配置过程,希望对大家有用。
1、首先输入如下命令,配置usb gadget [root@localhost linux-2.6.35.7]# make menuconfig
2、进入内核配置界面按回车键进去:Device Drivers -->
3、接着回车进入: USB support --->
4、再回车进入:<*> USB Gadget Support --->
5、选中并按m(“按m”的意思是将其编译成模块):<M> File-backed Storage Gadget
6、保存并退出
7、在命令行输入如下命令 [root@localhost linux-2.6.35.7]# make modules CHK include/linux/version.h CHK include/generated/utsrelease.h make[1]: “include/generated/mach-types.h”是最新的。 CALL scripts/checksyscalls.sh CC [M] drivers/usb/gadget/file_storage.o LD [M] drivers/usb/gadget/g_file_storage.o Building modules, stage 2. MODPOST 4 modules WARNING: modpost: Found 1 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' LD [M] drivers/usb/gadget/g_file_storage.ko
最后一行信息表示在目录drivers/usb/gadget/中已经生成了g_file_storage.ko驱动模块,这个模块支持实现tiny210经过miniUSB连接到PC机上能通过gadget被识别为U盘或者SD卡。
8、接着通过sd卡将g_file_storage.ko驱动模块拷贝(当然通过其他方法拷贝也行,本人用的是sd卡来拷贝)到开发板某个目录上(其实这个驱动模块在sd卡内不用拷贝到开发板上也行,只要将sd卡插到tiny210上并能读取卡内文件就行了)
9、最后在开发板上安装这个驱动:在超级终端上输入一下命令挂载驱动: insmod /sdcard/g_file_storage.ko file=/dev/udisk stall=0 removable=1 稍等几秒就能在 windows下看到你插入开发板上的U盘了
当有多个分区的情况时,挂载驱动的命令可以如下: insmod g_file_storage.ko filefile=/dev/udisk,/dev/sdcard stall=0 removable=1 这里使用了两个分区,分别是一个SD卡,一个U盘。
以上是本人亲自验证过的,欢迎互相转载。。
|