2009-05-12 9 views
0

当社のマイクロコントローラ製品には、さまざまなPCデモンストレーションプログラムがあります。プログラムは通常、マイクロコントローラボード上のUSB HIDチップに接続します。 USBチップは通信ブリッジとして機能し、プログラムがSPI/I2C/UARTを介してマイクロプロセッサと通信することができます。プログラムはマイクロを構成し、ユーザーに表示するためにステータス情報を取得することができます。WindowsデモアプリケーションをWinCE/XP Embeddedに移植する

ここでは、シングルボードPCを使用していくつかのスタンドアロンデモンストレーションを構築しようとしています。既存のデモアプリケーションのソースコードを可能な限り再利用したいと考えています。理想的には、そのまま実行することができます。

誰かが最善の方法をアドバイスしていますか?基本的なオプションは、WinCEまたはXP Embeddedボードのようです。 WinCEのボードは、消費電力が少なくて済みます。これは、バッテリの寿命という観点からは利点になります。

既存のデモは、Borland BuilderまたはDelphiのC++でビルドされています。

ありがとうございます。

EDIT:ボードベンダーの情報で私の答えを見てください。

答えて

0

WinCE用のDelphiバージョンはありませんので、アプリケーションを書き直す必要があります。 Borland Builderのコントロールライブラリも同様です。プレーンなWin32 APIを使用した場合のみ、アプリケーションを簡単にWinCEに移植することができます。また、ハードウェアアクセス部分に問題が発生することがあります。シリアルポートドライバがそのまま動作することはありません。また、USBホストとして動作し、HIDドライバを提供するWinCEボードを見つける必要があります(これはあまり一般的ではありません)。

結論として、私はあなたがWindows XP Embeddedボードの方が良いと信じています。これらは、アプリケーションをそのまま実行する必要があります。

+0

OK、ありがとうございます。 – Journeyman

+0

私の 'アップデートと将来の参考資料'の回答をご覧ください - 私たちはXPと一緒に行くつもりです。 – Journeyman

1

無料Pascal/Lazarusは、Delphiアプリケーションのいくつかの形式をWiNCE /アームにコンパイルできます。視覚的なものさえ。

0

アップデートとして、今後の参考として、WinCEボードベンダーとのディスカッションの結果をここに掲載すると考えました。警告:私は実際にこれを試したことはありません。

結論は、私たちが望んでいたことを行うための簡単な方法ではない(つまり、WinCEで実行する既存のデモアプリケーションを再コンパイルする)ということです。その理由は、Windowsのデスクトップのフレーバーに存在する汎用HIDドライバーと標準APIは、WinCEには存在しないからです。

WinCEのHIDデバイスと通信するには、カスタムHIDドライバを実装する必要があります。これは、ユーザーモードのアプリケーションがドライバと通信できるようにするインターフェイスをサポートし、物理デバイスに送信されるHIDレポートを構築する必要があります。このインタフェース自体がカスタムであるため、アプリケーションコードをそれに応じて更新する必要があります。

WinCEアプリケーションの開発は、通常、Visual StudioとMicrosoftコンパイラを使用して行われます。私たちに推奨されたアプローチは:

  1. カスタムHIDクラスドライバを作成します。これは、たとえば、MicrosoftキーボードのHIDドライバに基づいている可能性があります。
  2. ドライバと通信するためのAPIを作成します。
  3. .netを使用してGUIアプリケーションを作成し、PInvokeを使用して実際にAPIと通信します。

最終的には、このアプローチに伴う時間と学習の時間を避けるために、XPを実行するボードを用意します。その後、既存のデモアプリケーションをすぐに使用することができます。トレードオフは、バッテリ寿命を大幅に短縮して生きなければならないことです。

関連する問題