fuchch 发表于 2016-10-13 18:03:35

g_file_storage.ko Linux模拟U盘

      以下操作在基于S5PV210的友善的210开发板上操作。其他的,若有完善的OTG驱动,也可以这么做。


    Device Drivers --->[*] USB support --->
[*] Dynamic USB minor allocation
[*] Rely on OTG Targeted Peripherals List
<*> USB Monitor
<*> USB Gadget Support --->
USB Peripheral Controller (S3C HS USB OTG Device) --->
<*> S3C high speed(2.0, dual-speed) USB OTG device
S3C OTGD transfer mode (enabled DMA MODE)
--->
<M> USB Gadget Drivers
<M> File-backed Storage Gadget
编译,得到g_file_storage.ko
1) /dev/mtdblockN,也就是nand上某个多余分区可读可写
insmod g_file_storage.ko file=/dev/mtdblockN stall=0 removable=1
2) 镜像模拟
(1) 制作一个镜像文件(准备使用fat32文件格式,就是vfat)
dd if=/dev/zero of=/tmp/vfat.img bs=1M count=20
这里将镜像文件放在内存上,块大小为1M,数量20个,也就是
总大小为20MB
(2) 将镜像与loop0建立连接
losetup /dev/loop/loop0 /tmp/vfat.img
(3) 格式化为vfat格式
mkfs.vfat /dev/loop/loop0
(4) 挂载
mount /dev/loop/loop0 /mnt
(5) 加载模块
insmod g_file_storage.ko file=/dev/loop/loop0 stall=0 removable=1
若加载成功,将OTG线连接开发板和电脑,windows会提示新硬件,搜索驱动安装就会出现
移动磁盘了。

地沟油 发表于 2016-10-13 18:07:01

天各一方8 发表于 2017-5-26 08:30:21

好东西
页: [1]
查看完整版本: g_file_storage.ko Linux模拟U盘