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

原创 2017-11-28 15:05:00 飞凌嵌入式S5P4418开发板Linux下实现模拟U盘教程
飞凌嵌入式 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 文件。



相关产品 >

  • OK4418/6818-C开发板

    飞凌提供S5P4418/s5p6818,S5P4418/s5p6818开发板,4418/6818开发板,s5p4418/s5p6818开发板解决方案,S5p4418/s5p6818多媒体解决方案,s5p4418硬件解决方案,更多S5P4418/s5p6818方案敬请联系飞凌嵌入式。Cortex-A9 四核S5P4418/6818 支持Android5.1.1,Linux3.4.39、QT4.8.6等系统 了解详情
    OK4418/6818-C开发板
  • OK3568-C开发板

    强而稳,国产芯,1Tops算力,多路高速接口|飞凌RK3568系列RK3568开发板基于国产工业级AI处理器RK3568四核64位Cortex-A55 处理器设计。RK3568作为国产化高性能处理器,瑞芯微RK3568芯片是一款定位中高端的通用型SoC,瑞芯微RK3568芯片是一款定位中高端的通用型SoC,NPU达到1Tops,飞凌RK3568系列核心板提供瑞芯微RK3568规格书_datasheet_数据手册_原理图等,


    了解详情
    OK3568-C开发板

推荐阅读 换一批 换一批