テクニカル ドキュメント #136



Doc ID: 136
製品: WinDriver
Version:  12.70

Windows 10 IoT Core で WinDriver を使用する方法

WinDriver 12.70 より WinDriver は、Windows 10 IoT Core OS 対応の PCI および USB ドライバ開発をサポートします。テクニカルドキュメントでは、Windows 10 IoT Core OS 上での WinDriver ベースのドライバ開発方法について説明します。

このテクニカルドキュメントは、Windows 10 IoT Core のみが対象となります。 Windows 10 IoT エンタープライズは、 Windows 10 のフルバージョンとなり、Windows デスクトップ用およびサーバー用の WinDriver を使用することができます。

必要なシステム

  • 1. DriverWizard を使用するには、Windows デスクトップ版が動作する開発用コンピュータ上に WinDriver をインストールする必要があります。
  • 2. 対象のコンピュータが SSH でネットワーク接続している必要があります。
注意事項:
SSH クライアント (MobaXterm または PuTTy) を使用して Windows 10 IoT Core Device に接続してください。また、PowerShell は使用しないでください。コマンドラインプログラムやスクリプトが動作しない可能性があります。

WinDriver のインストール方法

  • 1. Windows 10 IoT Core 上で、WinDriver ファイル用のフォルダーを作成します。以下のファイルを作成したフォルダーにコピーします。
    • WinDriver\redist\WIN10_IOT\ <対象のプラットフォーム> (x86/x64/ARM) 内のすべてのファイル
    • WinDriver\redist\WIN10_IOT\wdreg_iot.cmd スクリプト
    • 開発マシンで DriverWizard ユーティリティで生成した PCI /USB デバイス用の INF ファイル
  • 2. WinDriver 仮想デバイスを以下の wdreg_iot.cmd スクリプトを使用しインストールします。
    wdreg_iot.cmd install_virtual windrvr .inf (例: wdreg_iot.cmd install_virtual windrvr1270.inf)

WinDriver のアンインストール方法

  • 1. WinDriver をアンインストールするには、WinDriver 仮想デバイスと対象の PCI/USB デバイスの oemXXX.inf のファイル名を把握する必要があります。 以下のコマンドを実行し確認します。
    wdreg_iot.cmd enum
  • 2. 以下のコマンドを実行し PCI/USB デバイスをアンインストールします。
    wdreg_iot.cmd uninstall
    注意: VID/PID は、必ず 4 桁の 16 進数になります。
    例: wdreg_iot.cmd uninstall 09D9 0010 oem1.inf
  • 3. 以下のコマンドを実行し WinDriver 仮想デバイスをアンインストールします。
    wdreg_iot.cmd uninstall_virtual
    例: wdreg_iot.cmd uninstall_virtual oem0.inf

注意:
アンインストールができない場合は以下のコマンドを使用し、ドライバに関係するすべての処理を強制終了し、ドライバをアンインストールします。
wdreg_iot.cmd uninstall_force

対象のデバイスドライバの INF を作成

開発用コンピュータに PCI/USB デバイスを接続できる場合は、WinDriver ユーザーマニュアルの DriverWizard Walkthrough (DriverWizard の使い方) で記載されているように INF を作成することができます。
開発用コンピュータにPCI デバイスを接続できない場合は、”Virtual Device" 用にプロジェクトを作成し、プロジェクトファイルを Windows 10 IoT Core デバイスへ転送します。
DriverWizard で対象のデバイスの INF を作成します :
  • 1. [File] - [New Device Driver Project] をクリックします。
  • 2. [PCI Virtual Device] を選択します。
  • 3. [Generate INF] をクリックします。
  • 4. ご使用のデバイス VID/PID、メーカー、デバイス名を入力します。

WinDriver で生成した ドライバのインストール

  • 1. pci_diag.exe を WinDriver\samples\pci_diag\ から、または usb_diag.exe を WinDriver\samples\usb_diag\ からコピーします。対象プラットフォームに適切なバージョンを使用していることを確認してください (x86/x64/ARM)。
  • 2. WinDriver\redist から wdapi .dll (例: wdapi1270.dll) をコピーします。対象プラットフォームに適切なバージョンを使用していることを確認してください (x86/x64/ARM)。
  • 3. WinDriver ディレクトリからプログラムを実行します。
注意: pci_diag は、インストールした WinDriver で生成した INF と動作するデバイスのみを表示します。

サンプルアプリケーションの実行

  • 1. pci_diag.exe を WinDriver\samples\pci_diag\ から、または usb_diag.exe を WinDriver\samples\usb_diag\ からコピーします。対象プラットフォームに適切なバージョンを使用していることを確認してください (x86/x64/ARM)。
  • 2. WinDriver\redist から wdapi .dll (例: wdapi1270.dll) をコピーします。対象プラットフォームに適切なバージョンを使用していることを確認してください (x86/x64/ARM)。
  • 3. WinDriver ディレクトリからプログラムを実行します。
注意: pci_diag は、インストールした WinDriver で生成した INF と動作するデバイスのみを表示します。

生成したコードの実行

  • 1. DriverWizard Walkthrough (DriverWizard の使い方) に記載されているようにコードを生成し、必要に応じてコードを修正します。
    注意: 現時点では、Windows 10 IoT Core は、WinFroms アプリケーションをサポートしていないため、C#/Visual Basic (これらのライブラリを使用する) では、DriverWizard で生成したコードを実行することができません。
  • 2. 開発用コンピュータでコードをコンパイルします。対象のプラットフォームに合わせてコンパイルしてください。
  • 3. コンパイルしたバイナリをデバイスにコピーし、SSH を使用し実行します。

Debug Monitor ユーティリティを使用して WinDriver のログを収集

  • 1. WinDriver\samples\wddebug\wddebug.exe を Windows 10 IoT Core デバイスへコピーします。
  • 2. wddebug dump を実行します。
  • 3. アプリケーションを実行します。
  • 4. wddebug ユーティリティを [CTRL] + [C] で wddebug ユーティリティを停止します。