USB Gadget iMX6U LL开发板模拟U盘

IMX6ULL开发板模拟U盘
Linux版本:4.1.15
使用开发板:IMX6ULL
编译环境:Ubuntu 14.04
步骤如下:
1、 首先配置内核

 进入        

Device Drivers  --->  

选择进入

 [*] USB support  --->

再选择最后一项进入

 <*>   USB Gadget Support  ---> 

选择编译成模块,保存退出。

        USB Peripheral Controller  --->                                                               
  │ │                              <M>   USB Gadget Drivers                                                                          
  │ │                              < >     USB functions configurable through configfs                                                  
  │ │                              < >     Gadget Zero (DEVELOPMENT)                                                                    
  │ │                              < >     Ethernet Gadget (with CDC Ethernet support)                                                   
  │ │                              < >     Network Control Model (NCM) support                                                         
  │ │                              < >     Gadget Filesystem                                                                           
  │ │                              < >     Function Filesystem                                                                         
  │ │                              <M>     Mass Storage Gadget              

2、 保存配置,编译内核,编译内#vi ./build.sh 打开脚本在make zImage下面加入编译内核模块命令
make modules
./build.sh 编译脚本在driver/usb/gadget/目录下生成以下的ko文件:
driver/usb/gadget/ libcomposite.ko
driver/usb/gadget/legacy/ g_mass_storage.ko
driver/usb/gadget/legacy/ usb_f_mass_storage.ko
/fs/configfs/configfs.ko
3、 烧写镜像文件,通过nfs将这些驱动模块拷贝到开发板中
4、 对开发板的操作

#dd if=/dev/zero of=vfat.img bs=1M count=20    //制作一个fat格式的镜文件,在主机上、开发板上做都可以
#mkdir vfat_mount_point    //创建挂载点
#mkfs.vfat    vfat.img           //格式化做出的镜像  

以下文件需要按顺序执行:(可将以下命令添加为脚本,)

#losetup /dev/loop0 vfat.img          //将镜像与loop0建立连接
#insmod configfs.ko
#insmod libcomposite.ko
#insmod usb_f_mass_storage.ko
#mount /dev/loop0 vfat_mount_point     //挂载挂载点
#insmod g_mass_storage.ko  file=/dev/loop0 stall=0 removable=1

因为模块有依赖关系,所以上面的步骤需要按顺序添加所依赖的模块

执行完脚本之后,内核提示信息g_mass_storage gadget: g_mass_storage ready,说明你已经成功了,插上usb设备。windows会提示你发现新的可移动设备。
一切完成之后,验证是否正确。发现在windows下写入文件或者新建文件夹。在开发板的挂载点的文件夹中能同步到windows的信息。而在开发板中新建的文件或文件夹,需要拔下设备,重连之后才能同步到windows的可移动设备中。

猜你喜欢

转载自blog.csdn.net/qq_39346729/article/details/80276919