Linux下USB从(USB gadget) 驱动配置与使用
S3C2440提供了一个USB从接口,我们可以使用它来把2440模拟为一个U盘,直接从电脑上以盘符的形式访问2440
一、内核配置
USB SUPPORT
<*>USB Gadget Support --->
USB Peripheral Controller (S3C2410 USB Device Controller) --->
S3C2410 USB Device Controller
[] S3C2410 udc debug messages
<M> USB Gadget Drivers
<M> File-backed Storage Gadget
二、make zImage
生成zImage文件烧入开发板
make modules 在driver/usb/Gadget目录下生成g_file_storage.ko文件,烤入开发板中
三、开发板操作
1、建立一个镜像模拟U盘
#dd if=/dev/zero of=vfat.img bs=1M count=20//制作一个fat格式的镜像文件,在主机上、开发板上做都可以
#losetup /dev/loop0 vfat.img//将镜像与loop0建立连接
#mkfs.vfat /dev/loop0//格式化做出的镜像
#mkdir vfat_mount_point//创建挂载点
#mount /dev/loop0 vfat_mount_point/挂载挂载点
#insmod g_file_storage.ko file=/dev/loop0 stall=0 removable=1//插入脚本
(如果根文件系统有其它分区,可以直接指定相应的分区,不过需格式化为fat方可使用)
插上开发板的usb从接口,即可从PC机段看到vfat_mount_point下的内容
四、存在问题:
1、在PC机下看开发板,永远显示空间已用满,无法从PC机将程序拷到开发板中
2、从开发板往PC机烤东西时,要先挂载vfat_mount_point目录,将东西拷入vfat_mount_point目录
再敲入以下命令后insmod g_file_storage.ko file=/dev/loop0 stall=0 removable=1
最后插入USB从口