主题 : [原创]micro2440开发板,使用usb gadget模拟U盘 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 13593
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
综合积分: 32 分
注册时间: 2010-01-26
最后登录: 2012-08-06
楼主  发表于: 2010-05-03 22:26

 [原创]micro2440开发板,使用usb gadget模拟U盘

gadget模拟U盘,我使用的是micro2440开发板,1G nandflash,2.6.32.2内核
我的目的是在nandflash 中分一个区,将其模拟u pan插到电脑上,同时在linux下也可以访问它。实现方法如下


在<kernelsrc>/arch/arm/mach-s3c2440/mach-mini2440.c中修改 friendly_arm_default_nand_part参数,使其和你的vivi种分区情况相同
我使用的是
Number of partitions: 4
name            :       offset          size            flag
------------------------------------------------------------
vivi            :       0x00000000      0x00040000      0
param           :       0x00040000      0x00020000      0
kernel          :       0x00060000      0x00500000      0
root            :       0x00560000      0x10000000      0
insideudisk     :       0x10560000      0x2fa80000      0


内核menuconfig时,
确保 跟目录-》system type->s3c2440 machines ->FriendlyARM Mini2440 devlopment board 选型打上星号
跟目录->device drivers -----> [*]usb support ---->  <*>usb gadget support  ----->做些设置,尤其注意USB preipheral  Controller项要点进去选择正确的选项

如果usb gadget support 是配置为*,则需要编译后更新内核
如果配置为M,则需要先加载s3c2410_udc.ko
(s3c2410_udc.ko和g_file_storage.ko在<kernelsrc>/driver/usb/gadget文件夹下)

mtd设置时是打算把insdeudisk作为u盘的,它对应/dev/mtdblock4,
执行命令# insmod g_file_storage.ko file=/dev/mtdblock4 stall=0 removable=1
(g_file_storage.ko的参数在<kernelsrc>/driver/usb/gadget/file_storage.c的开头有说明)

将开发板的usb salve口连到电脑上,则可以看到出现移动存储设备 ,可以在设备管理器-》磁盘管理中对其进行格式化,如格式换为fat32

执行
#mkdir /mnt/insideudisk
#mount -o iocharset=cp936 /dev/mtdblock4 /mnt/insideudisk

可以在linux系统中访问改分区
//end
存在的问题是文件存储读取太慢,存一个2.5M的文件需要接近10分钟,在dmesg中显示配置成了 fulls speed config 1,我怀疑是这方面的问题,单近期不打算深究了,后面几天要开发数据采集卡的usb gadget,也希望有这方面经验的朋友们拿出一起分享啊

QT 的布局怎么搞?
级别: 侠客
UID: 5575
精华: 0
发帖: 81
金钱: 485 两
威望: 193 点
综合积分: 162 分
注册时间: 2009-04-29
最后登录: 2013-12-02
1楼  发表于: 2010-05-11 10:17
强烈支持原创!
SBC2410+8' LCD
mini2440+NEt 3.5'
QT 的布局怎么搞?
级别: 侠客
UID: 5575
精华: 0
发帖: 81
金钱: 485 两
威望: 193 点
综合积分: 162 分
注册时间: 2009-04-29
最后登录: 2013-12-02
2楼  发表于: 2010-05-11 10:23
不过这个速度好郁闷啊! 好像没人能解决啊!
SBC2410+8' LCD
mini2440+NEt 3.5'