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盘。
以上是本人亲自验证过的,欢迎互相转载。。