fs2410做电脑的u盘使用,基于linux-2.6.30.4

本来是按照天嵌的说明书来这,按照其说明方法对内核进行更改和配置后,然后编译,这一切倒还顺利,不过等我将fs2410的usb接口插上电脑后,过了好长时间电脑上才显示u盘的图标,但移动设备里面却无法看到这个“U”盘,于是,从新从网上看查查看其他人是怎么做的,好家伙,查了半天,好像很多人都是转抄的(http://blog.chinaunix.net/u2/65122/showart_1673178.html),于是,我就按照这个来吧,这里,为了更清楚,我就把自己的操作过程重复一遍:
1.更改内核文件:在/arch/arm/mach-s3c2410/mach-smdk2410.c的函数
static struct platform_device *smdk2410_devices[] __initdata = {
        &s3c_device_usb,
        &s3c_device_lcd,
        &s3c_device_wdt,
        &s3c_device_i2c0,
        &s3c_device_iis,
    
 //Add by Days999
 &s3c_device_usbgadget,
};添加如上一句,其它文件不变即可

2.配置内核,将Device Drivers---> [*]USB support---><*>USB Gadget Support--->这个选项下的 <M>USB Gadget Drivers以及<M>File-backed Storage Gadget 选上。
3.编译,将产生的g_file_storage.ko文件放在文件系统的/lib下面。然后将文件系统烧入开发板。如果你足够幸运,或许你的板子就可以当u盘使用了,不过我好像是没赶上这等好事,
4,我的问题主要就是出现图标,但有找不到这个“U”盘,哎,怎么办?按照上网的网址的提供的解决办法,我在
static void start_transfer(struct fsg_dev *fsg, struct usb_ep *ep,
                struct usb_request *req, int *pbusy,
                enum fsg_buffer_state *state)
{
        int     rc;
//      printk("start_transfer/n");
        udelay(1000);
        if (ep == fsg->bulk_in)
。。。。。。。。
}加了1秒的延时,同是,为了避免总是出现full speed #1一类的提示信息,我干脆也把drivers/usb/gadget/file_storage.c文件中的3379行给禁用了,省的烦心的提示信息出现。
   3365         /* Enable the interface */
   3366         if (new_config != 0) {
   3367                 fsg->config = new_config;
   3368                 if ((rc = do_set_interface(fsg, 0)) != 0)
   3369                         fsg->config = 0;        // Reset on errors
   3370                 else {
   3371                         char *speed;
   3372
   3373                         switch (fsg->gadget->speed) {
   3374                         case USB_SPEED_LOW:     speed = "low";  break;
   3375                         case USB_SPEED_FULL:    speed = "full"; break;
   3376                         case USB_SPEED_HIGH:    speed = "high"; break;
   3377                         default:                speed = "?";    break;
   3378                         }
   3379 //                      INFO(fsg, "%s speed config #%d/n", speed, fsg->config);
5.最后还要在命令行下键入如下命令(要提前将g_file_storage.ko要拷贝到文件系统的/lib目录下):insmod /lib/g_file_storage.ko file=/dev/mtdblock3,removable=1,然后插上usb,最后过了好长一段时间,终于出现了“U”盘的图标,不过提示我要格式化,于是格之,而后就可以很容易的将mtdblock3当“U”盘使用了。如果我想使用这个分区上的数据,那么,我们可以再开发板的串口命令行下挂载这个分区,我挂载的命令如下:mount /dev/mtdblock3 /tmp,于是,第四分区上的数据就可以在/tmp下看到了,^_^。如果想每次开发板启动就自动运行(insmod /lib/g_file_storage.ko file=/dev/mtdblock3,removable=1)和mount命令,则应该在文件系统的/etc/init.d/rcS文件中加入这两个命令,然后重启开发板,则每次启动开发板后就自动执行这两个命令了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值