世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

飞凌嵌入式S5P4418开发板Linu下实现模拟U盘教程

[复制链接]
查看: 735 |回复: 1
1
sdafly
  • sdafly
  • 离线
  • LV3
  • 助理工程师
  • 积分:207
  • |
  • 主题:7
  • |
  • 帖子:6
积分:207
LV3
助理工程师
  • 2017-11-28 16:38:47
飞凌嵌入式 ARM Cortex-A9 S5P4418开发板上能否满足U盘的功能?其实可通过修改内核配置和文件系统相关内容,在OK4418开发板上实现模拟U盘功能,模拟U盘可以帮助我们实现开发板与Windows(目前只在XP系统下做过验证)操作系统之间的数据交换。
开发板脱离Windows XP时,它运行数据采集程序,把采集到的数据写成文件保存在eMMC中。Windows XP系统需要读取开发板采集的数据时,只需通过USB线把开发板和Windows XP电脑连接起来,此时开发板就相当于一个U盘,Windows XP像访问U盘一样访问开发板上eMMC的数据文件。
本次开发的软硬件环境配置如下:
硬件平台 飞凌OK4418开发板
软件系统  Linux3.4.39
编译器版本:arm-cortex_a9-eabi-4.7-eglibc-2.18  
具体实现操作步骤如下:
1、内核配置:
        将配置选项USB Gadget Drivers里的File-backed Storage Gadget   配置为模块编译方式
        make menuconfig
        Device Drivers  --->
       
  • USB support  --->
  •         <*>   USB Gadget Support  --->
            <*>   USB Gadget Drivers (Android Composite Gadget)  --->
            下面两个选项任选其一即可
            ( ) File-backed Storage Gadget (DEPRECATED)         ——获得模块——》g_file_storage.ko
            ( ) Mass Storage Gadget                                ——获得模块——》g_mass_storage.ko
            模块路径为kernel-3.4.39/drivers/usb/gadget
            make uImage        生成新的内核
    2、准备:
            使用新生成的内核烧写系统镜像,并将生成的模块拷贝到开发板文件系统中
            ubuntu虚拟机中生成挂载的镜像文件
           
            dd if=/dev/zero of=udisk32M.img bs=1k count=32768
            mkfs.vfat udisk32M.img
           
            udisk32M.img拷贝到开发板文件系统中
    3、使用:
            insmod g_file_storage.ko file=udisk32M.img stall=0 removable=1        (换成g_mass_storage.ko一样效果)
            mknod /dev/loop0 b 7 0                                                (此步可不需要)
            mount -o loop /home/udisk32M.img /tmp
            连接OTG即可
    4、验证
            1)在开发板上往 /tmp目录写 mdev.conf 文件,命令如下
            cp ./etc/mdev.conf ./tmp
            在电脑上重新插拔连接开发板的USB线,在移动硬盘中我们可以看到mdev.conf文件,可以在电脑系统上访问。
            从而验证开发板往模拟U盘写文件,XP系统上可以访问该文件。
            2)电脑系统往模拟U盘写文件,开发板可以访问该文件;
            XP系统上网U盘写wwtARM.txt文件
            重新挂载文件系统映像到 /tmp目录
            #umount tmp
            #mount -o loop /home/udisk32M.img /tmp
            在开发板上可以在/tmp目录下访问刚才XP系统写到U盘的wwtARM.txt 文件。

    收藏收藏
    liguanghui2588
    • 积分:9171
    • |
    • 主题:55
    • |
    • 帖子:2435
    积分:9171
    版主
    最新回复
    • 2017-11-30 15:36:31
    • 倒数1
     
    emmc是小硬盘吗
    热门技术、经典电源设计资源推荐

    世纪电源网总部

    地 址:天津市南开区黄河道大通大厦8层

    电 话:400-022-5587

    传 真:(022)27690960

    邮 编:300110

    E-mail:21dy#21dianyuan.com(#换成@)

    世纪电源网分部

    广 东:(0755)82437996 /(138 2356 2357)

    北 京:(010)69525295 /(15901552591)

    上 海:(021)24200688 /(13585599008)

    香 港:HK(852)92121212

    China(86)15220029145

    网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

    Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号