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從口