Usb otg storage 的调试

来源:互联网 发布:java aes 256 cbc 编辑:程序博客网 时间:2024/06/05 00:36
1.  内核配置
      make menuconfig
      Device Drivers  ---> 
            [*] USB support  --->
                   <*>   USB Gadget Support  --->
                         <M>   USB Gadget Drivers                                                 
                                 <M>     File-backed Storage Gadget                            
     按照上边配置内核,然后进行编译。
     cd linux/driver/usb/gadget   即可得到g_file_storage.ko ,这个驱动就是将开发板作为一个U盘之类的存储器使用。


2. 加载驱动
    如果根文件系统内,含有 /lib/modules/2.6.32/kernel/drivers/usb/gadget/g_file_storage.ko 
                                                                           ^
                                                                           |
                                                                   内核版本号
     使用命令depmod  modprobe可以将g_file_storage.ko加载到内核
     使用说明:
     root@beagleboard:~#  depmod
     root@beagleboard:~#  modprobe g_file_storage + flash/sd在内存中的分区


     2.1. 映射SD卡成U盘
     加载USB转U盘驱动内核模块
     root@beagleboard:~# modeprobe g_file_storage file=/dev/mmcblk0 stall=0 removable=1 


     2.2. 映射nand flash的MTD块设备成U盘
     查看MTD分区
     root@beagleboard:~# cat /proc/mtd
     dev:    size   erasesize  name
     mtd0: 00080000 00020000 "X-Loader"
     mtd1: 001e0000 00020000 "U-Boot"
     mtd2: 00020000 00020000 "U-Boot Env"
     mtd3: 00400000 00020000 "Kernel"
     mtd4: 1f980000 00020000 "File System"


     查看MTD块设备
     root@beagleboard:~# ls -al /dev/mtd* |grep brw
     brw-rw----    1 root     disk       31,   0 Jul 10  2012 /dev/mtdblock0
     brw-rw----    1 root     disk       31,   1 Jul 10  2012 /dev/mtdblock1
     brw-rw----    1 root     disk       31,   2 Jul 10  2012 /dev/mtdblock2
     brw-rw----    1 root     disk       31,   3 Jul 10  2012 /dev/mtdblock3
     brw-rw----    1 root     disk       31,   4 Jul 10  2012 /dev/mtdblock4


     加载USB转U盘驱动内核模块
     root@beagleboard:~# modeprobe g_file_storage file=/dev/mtdblock3 stall=0 removable=1 


3.  usb连接pc
     在Widnows上, 把开发板的USB device口通过USB连接线连到PC的USB host口(即常用的插U盘的USB口)
     Winodws资源管理器里会自动识别出可移动磁盘。


4. 注意事项:
    针对这个otg的操作,需要注意,以下事项:
    只能在开机之后,并且正常加载过g_file_storage.ko模块之后才能将usb线连接到pc。
    如果没有加载g_file_storage.ko模块,那么什么时候连接usb线,什么时候系统崩溃。
    如果在开机阶段连接usb线,那么,板子无法启动,直接死掉


5. 其他的功能
    类似地, USB转网卡(/sys/class/net下有所有的网络设备), USB转串口(/dev目录下有对应的设备文件), 功能类似, 一般地, BSP都做好了, 最多调试下.
    
    注:我只是测试了一个usb otg storage 的模块功能。
   
6. 示例图片
    下图的可移动磁盘boot(E:) 就是通过开发板的otg存储功能
    ![](otg.png)








0 0
原创粉丝点击