Feiling組み込みARM Cortex-A9 S5P4418開発ボードはUディスクの機能を満たすことができますか?実際、カーネル構成とファイルシステム関連のコンテンツを変更することにより、シミュレートされたUディスク機能をOK4418開発ボードに実装できます。シミュレートされたUディスクは、開発ボードとWindowsの実現に役立ちます(現在、XPシステムでのみ検証されています)。データ交換。
開発ボードがWindows XPから分離されると、開発ボードはデータ収集プログラムを実行し、収集したデータをファイルに書き込み、eMMCに保存します。Windows XPシステムが開発ボードによって収集されたデータを読み取る必要がある場合は、開発ボードをWindows XPコンピューターにUSBケーブルで接続するだけです。現時点では、開発ボードはUディスクと同等です。WindowsXPはUディスクのように開発ボードにアクセスします。 eMMCデータファイル。
今回開発したソフトウェア・ハードウェア環境の構成は以下の通りです。
ハードウェアプラットフォーム:OK4418開発ボードの使用
ソフトウェアシステム:Linux3.4.39
コンパイラーのバージョン:arm-cortex_a9-eabi-4.7-eglibc-2.18
具体的な手順は次のとおりです。
1.カーネル構成:
モジュールのコンパイル方法として、構成オプションUSB Gadget DriversでFile-backed Storageガジェットを構成します。
menuconfigを作成する
デバイスドライバー--->
[*] USBサポート--->
<*> USBガジェットサポート--->
<*> USBガジェットドライバー(Android複合ガジェット)--->
次の2つのオプションのいずれかを選択します
()ファイルバックアップストレージガジェット(非推奨)-获得模块-》 g_file_storage.ko
( ) Mass Storage Gadget ——获得模块——》g_mass_storage.ko
モジュールパスはkernel-3.4.39 / drivers / usb / gadgetです。
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ファイル= udisk32M.imgストール= 0リムーバブル= 1(g_mass_storage.koと同じ効果)
mknod / dev / loop0 b 7 0(この手順は必要ない場合があります)
mount -o loop /home/udisk32M.img / tmp
OTGに接続するだけ
4.検証
1)mdev.confファイルを開発ボードの/ tmpディレクトリに書き込みます。コマンドは次のとおりです。
cp ./etc/mdev.conf ./tmp
コンピューターの開発ボードに接続されているUSBケーブルを再度挿入しますモバイルハードディスクには、コンピューターシステムからアクセスできるmdev.confファイルがあります。
開発ボードがシミュレートされたUディスクにファイルを書き込むことを確認するために、ファイルはXPシステムでアクセスできます。
2)コンピュータシステムがシミュレートされたUディスクにファイルを書き込み、開発ボードがそのファイルにアクセスできる。
XPシステムのUSBフラッシュドライブにwwtARM.txtファイルを書き込みます。
ファイルシステムイメージを/ tmpディレクトリに再マウントします。
#umount tmp
#mount -o loop /home/udisk32M.img / tmp
開発ボードでは、XPシステムによって/ tmpディレクトリのUディスクに書き込まれたwwtARM.txtファイルにアクセスできます。