爱板网论坛

查看: 30|回复: 0

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

[复制链接]

5

主题

0

好友

44

积分

白丁

Rank: 1

该用户从未签到

发表于 2017-11-29 13:19:17 |显示全部楼层
本帖最后由 老帮菜 于 2017-11-29 15:32 编辑

飞凌嵌入式 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 文件。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|爱板网 |网站地图  

GMT+8, 2017-12-15 01:05 , Processed in 0.161273 second(s), 10 queries , Memcache On.

苏公网安备 32059002001056号

Powered by Discuz!

回顶部