1

現在、デュアルポートRAMを介してPC / 104 WindowsCE5.0ボードと通信するマイクロコントローラーを搭載したカスタムボードがあります。現在、MmMapIoSpaceを使用してWindows CEのデュアルポートRAMをマップしているため、直接読み書きできます。私たちは、WindowsCE6.0またはWindowsXPEmbeddedの現代に加わることを目指しています。私たちの大きな懸念は、Microsoftのドキュメントによると、WindowsCE6.0およびWindowsXPEmbeddedのMmMapIoSpaceは、ユーザースペースプログラムではアクセスできないドライバーレベルの関数であり、これまでの使用方法です。

外に出てたくさんのハードウェアとおそらくプラットフォームビルダーのコピーを購入する前に、それが実際に問題になるかどうか、もしそうならそれに対して何ができるかを考えようとしてきました。私たちの誰もWindowsドライバーを書いた経験がないので、それは大きな仕事のように思えますが、文字通り、この1つの関数を処理するためだけにドライバーを書いているでしょう。

MmMapIoSpaceをWindowsCE5.0からWindowsCE6.0またはWindowsXPEmbeddedに移植するの簡単です。(Microsoftのドキュメントへのリンク)。

ありがとう!

4

1 に答える 1

3

MmMapIoSpace実際には、そもそもドライバーのみが使用する必要があるため、以前のCEバージョンでは、アプリから使用できるようにするために少し無差別でした。を使用してRAMとインターフェイスする単純なストリームインターフェイスドライバーを作成し、またはMmMapIoSpaceを使用してアプリからそのドライバーを呼び出します。ReadFileDeviceIoControl

Windows CEのストリームインターフェイスドライバーは、非常にシンプルでわかりやすいものです。これは、いくつかの特定のエントリポイントが定義されたDLLであり、次にそれをロードするようにdevice.exeに指示するレジストリエントリです。MSDNには多くの例がありますが、さらに簡単な場合は、Codeplexにファイルを生成できるウィザードがあります。

于 2013-03-26T15:43:17.230 に答える