11


6

Windows用のUSBデバイスドライバの実装方法はどうすればよいですか。 どのように私は窓の異なるバージョンを考慮に入れるべきですか: - ウィンドウズXP - ウィンドウズVista - ウィンドウズ7

出発点として使用できるオープンソースソリューションはありますか? 私はウィンドウズのドライバー開発に全く不慣れです。

USBデバイスポートを備えた組み込みデバイスがあり、データスループットを犠牲にすることなく、アプリケーションレベルからデバイスへの待ち時間をできるだけ少なくしたいと考えています。 実際に転送されるデータはADC / DACデータです。 基本的にはできるだけ早くWindowsマシンに転送する必要があるたくさんのデータがあります。

4 Answer


12


正しい方向を示すためには、デバイスに関する詳細情報が必要ですが、ここから始めましょう。

  • Microsoft Connectに登録して、Windows Driver Kitをダウンロードできるようにします。

  • あなたは素晴らしい記事、たくさんの情報、そしてちょうどWindowsドライバーに捧げられたニュースグループを見つけるのであなたは osr-onlineで登録する - この場所は金鉱である

  • WDFを使用してドライバを開発するを購入すると、Windows上でドライバ開発を理解するのに役立ち、OSRおよびMicrosoftからの記事を読むための良い基盤が得られます

  • あなたはあなたがCを使うことができてそしてちょうどCOMコードを書くことができるようにあなたがUMDF(ユーザーモードドライバ)を使うことができることを望みます。 カーネルスペースを必要とするUSB​​を使って何かをしているなら…​.来年のためにするために読むことと学ぶことがたくさんあります!

バージョンに関するあなたの質問に答えるために、Driver Kitには、さまざまなドライバの作成を管理するのに役立つツールがあります。 もしあなたが良いドライバを書いたならば、それは問題なく3つのOSすべてで動作するはずです、そして違いはちょうど(バイナリではなく)設定領域にあるでしょう

基本的に、それはあなたのデバイスがどれくらい複雑かによって異なります。 どのような種類のドライバを作成しようとしていますか? ファイルシステム? MP3プレーヤー? カメラ? モデム?

カーネルモードドライバを書かなければならなくなった場合は、私に知らせてください。そうすれば、いくつかの良い記事を紹介できます。

私はまたそれを追加する必要があります5000ドル、あなたは WinDriverのためのライセンスを購入することができます、それはドライバー開発からすべてのハードなものを取り除きます。 CまたはC#のユーザーモードコードを使用して、デバイス用にカスタム生成されたドライバーと通信できます。 これは、厳しい締め切りがある場合に行く方法です。


2


  • libusb * * _http://sourceforge.net/apps/trac / libusb-win32 / wiki [ここ] _ *のwindows版を見てください。 公式のlibusbサイトとWebには、多くのプログラミング言語のラッパーがあります。


1


ここから始めてください:http://msdn.microsoft.com/en-us/library/ms794193.aspx


1


デバイス側を何らかの形で制御する場合は、Windowsがすでにドライバを提供しているインタフェースを実装してください。 例えば。 USB HIDクラス(文字通りHuman Input Device、HumanもInputも必須ではありません)には既にWindowsドライバがあり、その上には妥当なWin32 APIがあります。 ただし、480 Mbpsに近いところではデータレートを取得するつもりはありません。