2012-01-09 3 views
2

私はAndroidを使用しているタブレットPCを持っています。Android /アームデバイス用デジタル顕微鏡のドライバを作成

それはのconfig:

マーベルモヒカンrevは0 V51
BogoMips値:797.00
特長:
CPUの実装iwmmxt SWP、半分、親指、fastmult、EDSP、ジャワ、:0x56
CPUアーチ:5TE
CPU部:0x840
CPUリビジョン:0
ハードウェア:pxa168エッジ開発プラットフォーム

私の目的は、usbから(顕微鏡から)ストリームを取得し、それから私のタブレットPCのAndroidアプリでレンダリングする自分のドライバを開発することです。

私が理解するように、私はアームv5アーチだけでなくアームGnu Cコンパイラを学ぶ必要があり、usbからのバイトストリームを扱うためには熱心に知っていなければなりません。

私はusblib(OpenUSB)プロジェクトを見ましたが、それは腕のアーチのためのそのような明確なプロジェクトではないようであり、多くの問題を引き起こすでしょう。

どうすれば私のタブレットPC(armv5 /アンドロイド)のUSBからストリームをネイティブに取得し、JNI経由でネイティブの部品(ndk)を入手してJavaにデータを送信し、タブレットPCにレンダリングできますか?

私は正しいと思いますが、私はこのようにどのようなトラブルを抱くでしょうか?

Thanaks、
よろしく

答えて

1

AndroidはLinuxカーネルで動作します。だからあなたの後ろには、あなたの顕微鏡用のLinuxカーネルドライバか、それとインターフェイスするためのユーザーモードプログラム(一部のUSBデバイスはユーザーの土地から完全に駆動することができます)です。どちらの場合でも、デバイスをrootにする必要があります。ネイティブモードプログラムを作成する必要がある場合は、Android NDKを使用してください。カーネルモジュールを作成する必要がある場合は、ご使​​用のプラットフォーム用のカーネルソースを入手してください(https://android.googlesource.com/kernel/common.gitから、または該当する場合はメーカー固有のリポジ​​トリから)。ドライバを書く前に、Linux用のドライバがないかどうかを確認してください。それがAndroid上であれば少しでも適応する可能性があります(Linux GUIアプリケーションは間違いなく動作します)。

1

Androidは現在、USBデバイス用のサードパーティ製のドライバをサポートしていません。しかし、Android 3.1(Honeycomb)からは、USBデバイスと直接通信するためのJava APIがあります。あなたは、あなたの顕微鏡と完全にJavaで検出し、直接通信するAndroidアプリケーションを書くことができます。顕微鏡からのデータの処理に高性能が必要な場合は、ネイティブコード(NDK/JNIを使​​用)を記述して処理を行うことができます。

関連する問題