iMX6UL开发板模拟U盘

参考资料:

  • 内核源码内:/{内核目录}/Documentation/usb/目录下
    gadget-testing.txt mass-storage.txt 文件
  • 网址:Backing Storage for the Mass Storage Gadget

步骤如下:

1、配置内核:

# make menuconfig
Device Drivers -->USB support
           -->USB Gadget Support
           <M>    USB Gadget Drivers <M>    USB functions configurable through configfs [*]       Mass storage <M>     Gadget Zero (DEVELOPMENT  [*]     HNP Test Device  <M>     Mass Storage Gadget                                                                                              

保存配置,编译内核: make zImage
编译 内核模块: make modules
烧写镜像。。。。。

2、创建备份存储文件

#mkdir data
#cd data
#touch backing_file
root@qy_mx6ul:/data# dd bs=1M count=64 if=/dev/zero of=/data/backing_file
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 1.55831 s, 43.1 MB/s
root@qy_mx6ul:/data# 

这一步相当于创建一个磁盘驱动器。
接下来给磁盘驱动器分区:

root@qy_mx6ul:/data# fdisk backing_file
Device contains neither a valid DOS partition table, nor Sun, SGI, OSF or GPT disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that the previous content
won't be recoverable.Command (m for help):
#增加分区
Command actione   extendedp   primary partition (1-4)
p
Partition number (1-4): Value is out of range
Partition number (1-4): 1
First cylinder (1-8, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-8, default 8): Using default value 8Command (m for help):
#查看已创建的分区
Command (m for help): pDisk backing_file: 67 MB, 67108864 bytes
255 heads, 63 sectors/track, 8 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytesDevice Boot      Start         End      Blocks  Id System
backing_file1               1           8       64228+ 83 Linux
#改分区类型
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (Win95 FAT32)
#把分区表写入硬盘并退出;
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
fdisk: WARNING: rereading partition table failed, kernel still uses old table: Inappropriate ioctl for device

3、加载驱动模块

#首先加载相关模块
root@mx6ul:/linux-imx-4.1.15-r0/fs/configfs# ls | grep .ko
configfs.ko
/linux-imx-4.1.15-r0/fs/configfs# insmod configfs.ko
/linux-imx-4.1.15-r0/fs/configfs# lsmod
Module                  Size  Used by
configfs               23785  0
root@qy_mx6ul:/linux-imx-4.1.15-r0# cd drivers/usb/gadget/
root@qy_mx6ul:/linux-imx/drivers/usb/gadget# ls | grep .ko
libcomposite.ko
root@qy_mx6ul:/linux-imx/drivers/usb/gadget# insmod libcomposite.ko
root@qy_mx6ul:/linux-imx/drivers/usb/gadget# lsmod
Module                  Size  Used by
libcomposite           47779  0
configfs               23785  2 libcomposite
root@qy_mx6ul:/linux-imx/drivers/usb/gadget# cd function
root@qy_mx6ul:/linux-imx/drivers/usb/gadget/function# ls | grep .ko
u_ether.ko
u_serial.ko
usb_f_acm.ko
usb_f_ecm.ko
usb_f_ecm_subset.ko
usb_f_fs.ko
usb_f_mass_storage.ko
usb_f_ncm.ko
usb_f_obex.ko
usb_f_rndis.ko
usb_f_serial.ko
usb_f_ss_lb.ko
root@qy_mx6ul:/linux-imx/drivers/usb/gadget/function# insmod usb_f_mass_storage.ko
root@qy_mx6ul:/linux-imx/drivers/usb/gadget/function# cd ..
root@qy_mx6ul:/linux-imx/drivers/usb/gadget# cd legacy/
root@qy_mx6ul:/linux-imx/drivers/usb/gadget/legacy# ls | grep .ko
g_ether.ko
g_mass_storage.ko
g_ncm.ko
g_serial.ko
g_zero.ko
gadgetfs.ko
root@qy_mx6ul:/linux-imx/drivers/usb/gadget/legacy# modinfo g_mass_storage.ko
。。。
depends:        usb_f_mass_storage,libcomposite
#因为模块有依赖关系,所以上面的步骤就是挨个添加所依赖的模块
root@qy_mx6ul:/linux-imx/drivers/usb/gadget/legacy# insmod g_mass_storage.ko file=/data/backing_file
#将开发板连接到电脑,此时电脑会识别出一个磁盘
#到此成功!!!

最后:

上面的步骤参考的是文章开头 所列的文章,如果不清楚可以去网站查看。
用到的命令:
* dd
* fdisk
* insmod
* modinfo

USB Gadget iMX6UL开发板模拟U盘相关推荐

  1. USB Gadget iMX6U LL开发板模拟U盘

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

  2. linux 开发板模拟u盘,ARM-Linux开发 - USB Gadget Storage 制作模拟U盘

    -------------转载-------------- 作者:yimiyangguang1314 来源:CSDN 原文:https://blog.csdn.net/yimiyangguang131 ...

  3. linux 开发板模拟u盘,linux 开发板(Linux USB Gadget) 模拟u盘

    前几天,搞了 hid设备,通过usb hid设备和windows进行通信.现在开始搞这个 mass storge 首先说明 环境:linux版本:3.15        使用开发板:SAMa5d3   ...

  4. linux 开发板模拟u盘,S5P4418开发板Linux下实现模拟U盘教程飞凌嵌入式

    飞凌嵌入式ARMCortex-A9 S5P4418开发板上能否满足U盘的功能?其实可通过修改内核配置和文件系统相关内容,在OK4418开发板上实现模拟U盘功能,模拟U盘可以帮助我们实现开发板与Wind ...

  5. 使用teensy 2.0++ 开发板模拟U盘

    Teensy 开发板简介 teensy 是一种基于AVR或ARM处理器的USB开发板, 可以用来开发或试验各种USB应用, 我购买的为TEENSY 2.0++开发板, 因为这是在国内所有TEENSY ...

  6. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号

    迅为iMX6UL开发板多路串口开发平台 迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3 存储:8G EMMC,支持2路CAN,2路百兆以太 ...

  7. 迅为IMX6UL开发板

    迅为iMX6UL开发板采用核心板加底板形式,核心板使用邮票孔方式连接,牢固耐用.处理器ARM®Cortex®-A7内核,运行速度高达528 MHz.512MDDR内存,8G EMMC存储,板截双网口, ...

  8. 迅为iMX6UL开发板多路串口开发平台接口详解

    iMX6UL开发板 核心板参数 尺寸 38mm*42mm CPU iMX6UL 主频528MHz   ARM Cortex-A7架构 单核 内存 512MDDR 存储 8G EMMC 工作电压 5V电 ...

  9. CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍

    CortexA7工业级迅为-iMX6UL开发板硬件和资料介绍 商业级核心板 ARM Cortex-A7架构 主频高达528 MHz 核心板512M DDR内存 8G EMMC 存储 运行温度:-20℃ ...

最新文章

  1. RNA和机器学习:多维生物标志物的合理设计
  2. 你连原理都还没弄明白?快来瞧瞧这份Spring面试小抄
  3. java代码数据库添加操作_java连接数据库后进行更新插入操作
  4. python课本第二章答案_《Python自然语言处理》答案第一、二章
  5. jzoj3237-间谍派遣【最小生成树,并查集】
  6. 玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息...
  7. 0宽字符加密_一文看懂异或加密,有动画演示呦
  8. Dirichlet Process 和 Dirichlet Process Mixture模型
  9. P2S、P2P、P2SP之对比
  10. 封装pc端获取经纬度 百度地图
  11. 中职学计算机专业考本科难吗,国际本科难不难(中职考本科难不难)
  12. java jersey 搭建_Jersey搭建Rest web服务
  13. 50个查询系列-第五个查询:查询没学过“叶平”老师课的同学的学号、姓名;...
  14. [接口测试]POST请求提交数据的三种方式及Postman实现
  15. Mac电脑安装win7系统,解决前端IE浏览器兼容性问题
  16. 基于python的-正则中的函数
  17. 怎样上android官方下载,【图文教程】如何安装 iOS/Android(安卓)触动精灵?
  18. 小白尝试——去除apk流氓权限
  19. 【论文学习】Future Person Localization in First-Person Videos
  20. R数据可视化手册pdf

热门文章

  1. ubuntu18下孤儿进程的ppid不是1的问题
  2. 【My Electronic Notes系列——低频功率放大器】
  3. vs2010 安装vsvim
  4. 微服务契约测试-Pact
  5. asp.net CMS
  6. 按键精灵设置界面居中显示
  7. MySQL基础知识(1)
  8. 争议 | VR 对眼睛害处到底大不大? 能不能给小孩玩?
  9. AMDCPU双核驱动补丁
  10. win10内存占用率过高怎么办_8GB内存竟不够用了?卸载预装软件帮你腾出更多内存空间!...