注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

时间记录器

记录我的Linux、Android学习之路

 
 
 

日志

 
 

连接到PC机上能通过gadget被识别为U盘  

2012-08-28 16:30:54|  分类: USB相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

From: http://bbs.eeworld.com.cn/thread-344642-1-1.html

关于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盘。

 


(特别注意:配置内核时,tiny210配套的光盘中linux文件夹中的linux内核存在这样情况,在make menuconfig的时候无法选成<M>,只能选成<X>。就像这兄弟的情况一样:http://www.arm9home.net/read.php?tid-20378.html。要解决这个问题很简单,直接用android文件夹中的linux内核来编译就行了,这两个内核是一样的,可能linux文件夹中的那个内核存在点问题。)

 

   

 

以上是本人亲自验证过的,欢迎互相转载。。

  评论这张
 
阅读(400)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017