• 検索結果がありません。

Kernel PlugIn ドライバのコンパイル

ドキュメント内 WinDriver V10.10 ユーザーズ ガイド (ページ 135-138)

第 8 章 特定のチップ セットの拡張サポート

12.7 Kernel PlugIn ドライバのコンパイル

12.7.1 Windows でのコンパイル

サンプルの WinDriver\samples\pci_diag\kp_pci\ Kernel PlugIn ディレクトリと DriverWizard で 生成されたKernel PlugIn の <project_dir>\kermode\ ディレクトリ (<project_dir> は、生成され たドライバ プロジェクトを保存したディレクトリ) には、以下の Kernel PlugIn プロジェクト ファイルが含まれます (xxx はドライバ名。サンプルの場合は pci、またはウィザードでコードを生成する際に指定した名前。):

z \x86: 32 ビットプロジェクトファイル

msdev_2008\kp_xxx.vcproj: 32 ビット MSDEV 2008 プロジェクト

msdev_2005\kp_xxx.vcproj: 32 ビット MSDEV 2005 プロジェクト

msdev_2003\kp_xxx.vcproj: 32 ビット MSDEV 2003 プロジェクト

msdev_6\kp_xxx.dsp: 32 ビット MSDEV 6.0 プロジェクト z \amd64: 64 ビット プロジェクト ファイル

msdev_2008\kp_xxx.vcproj: 64 ビット MSDEV 2008 プロジェクト

msdev_2005\kp_xxx.vcproj: 64 ビット MSDEV 2005 プロジェクト

サンプルの WinDriver\samples\pci_diag\ディレクトリと生成された\<project_dir> ディレクトリ には、それぞれ Kernel PlugIn ドライバを実行するユーザーモードアプリケーション用のプロジェクトファイル が含まれます(xxx はドライバ名。サンプルの場合は pci、またはウィザードでコードを生成する際に指定し た名前。):

z \x86: 32 ビットプロジェクトファイル

msdev_2008\xxx_diag.vcproj: 32 ビット MSDEV 2008 プロジェクト

msdev_2005\xxx_diag.vcproj: 32 ビット MSDEV 2005 プロジェクト

msdev_2003\xxx_diag.vcproj: 32 ビット MSDEV 2003 プロジェクト

msdev_6\xxx_diag.dsp: 32 ビット MSDEV 6.0 プロジェクト

cbuilder4\xxx.bpr および xxx.cpp: Borland C++ Builder 4.0 プロジェクト ファイルと 関連 CPP ファイル。これらのファイルは、Borland C++ Builder 5.0 および 6.0 でも使用できま す。

cbuilder3\xxx.bpr および xxx.cpp: Borland C++ Builder 3.0 プロジェクトファイルと 関連 CPP ファイル

z \amd64: 64 ビット プロジェクト ファイル

msdev_2008\xxx_diag.vcproj: 64 ビット MSDEV 2008 プロジェクト

msdev_2005\xxx_diag.vcproj: 64 ビット MSDEV 2005 プロジェクト

上記の MSDEV ディレクトリには、Kernel PlugIn とユーザーモードアプリケーション両方のプロジェクトファイ

ルを含む xxx_diag.dsw/sln ワークスペース / ソリューションファイルも含まれています。

Kernel PlugIn ドライバと各ユーザーモード アプリケーションをビルドするには、以下のステップを実行しま す。

1. ご使用の PC に対象の OS 用の WDK (Windows Driver Kit) がインストールされていることを確認します

(セクション 11.6.1 を参照してください)。

2. WDK をインストールした場所を示すように BASEDIR 環境変数を設定します。

3. Microsoft Developer Studio (MSDEV) を開始し、下記のステップを実行します。

① ドライバのプロジェクトディレクトリから、生成されたワークスペース/ソリューションファイル (<project_dir>\<MSDEV_dir>\xxx_diag.dsw/.sln) を開きます。

<project_dir> は、ドライバのプロジェクトディレクトリです (サンプルコードの場合は

\pci_diag、または DriverWizard で生成されたコードの保存先のディレクトリ)。

<MSDEV_dir> は、ターゲット MSDEV ディレクトリ (msdev2008 / msdev2005 / msdev2003 / msdev_6) です。xxx はドライバ名です (サンプルの場合は pci、または

DriverWizard でコードを生成する際に指定した名前)。

DriverWizard で MSDEV IDE 用にコードを生成するように選択した場合、コード ファイルを 生成した後、Wizard が自動的に MSDEV を起動し、生成されたワークスペース ファイルまた はソリューション ファイルを開くので注意してください。ただし、コード生成ダイアログの ''IDE to Invoke'' オプション を''None'' に設定することによって、この動作を回避できます。

② Kernel PlugIn SYS ドライバ (サンプルの場合は kp_pci.sys、ウィザードで生成されたコー

ドの場合は kp_xxx.sys) をビルドするには以下のステップを実行します。

i. Kernel PlugIn プロジェクト (kp_pci.dsp/vcproj または kp_xxx.dsp/vcproj) をアクティブなプロジェクトとして設定します。

ii. 対象のプラットフォーム用のアクティブな構成を選択します。[ビルド] メニューから [構成 マネージャ] (MSDEV 2003 / 2005 / 2008 の場合) または [アクティブな構成の設定 …]

(MSDEV 6.0 の場合) を選択し、使用する構成を選択します。

注意: 複数の OS 用にドライバをビルドするには、そのドライバサポートする最も下位の OS を選択します。たとえば、Windows 2000、XP、およびそれ以降をサポートする場合、

Win32 win2k free (リリースモード) または Win32 win2k checked (デバッグモー ド) のどちらかを選択します。

iii. ドライバをビルドします。ショートカット キー (MSDEV 6.0 では F7 キー) を押すか、[Build]

メニューから実行してください。

③ Kernel PlugIn ドライバを実行するユーザーモードアプリケーションをビルドするには、以下の

ステップを実行します (サンプルの場合は pci_diag.exe、ウィザードで生成されたコード

の場合は xxx_diag.exe):

i. ユーザーモード プロジェクト (サンプルの場合は pci_diag.dsp/vcproj、ウィザー ドで生成されたコードの場合は xxx_diag.dsp/vcproj) をアクティブなプロジェクト として設定します。

ii. アプリケーションをビルドします。ショートカットキー (MSDEV 6.0 では F7 キー) を押す か、[ビルド] メニューから実行します。

12.7.2 Linux でのコンパイル

1. Shell ターミナルを開きます。

2. Kernel PlugIn ディレクトリに移動します。たとえば、サンプル KP_PCI ドライバをコンパイルする場合

は、次のコマンドを実行します。

cd WinDriver/samples/pci_diag/kp_pci

DriverWizard で生成された Kernel PlugIn コード用の Kernel PlugIn ドライバをコンパイルする場合 は、次のコマンドを実行します (<path> は生成された DriverWizard プロジェクトのディレクトリ。

例: /home/user/WinDriver/wizard/my_projects/my_kp/):

cd <path>/kermode/linux/

3. configure スクリプトを使用して、makefile を生成します。

./configure --disable-usb-support

注意: configure スクリプトは、起動してるカーネルをベースとしたカーネル独自の makefile を作成します。configure スクリプトに --with-kernel-source=<path> フラグを追加す ることによって、インストールした他のカーネル ソースをベースとした configure スクリプトを起動で きます。<path> には、カーネル ソースのディレクトリへのフル パスを指定します。

Linux カーネルバージョンが 2.6.26 またはそれ以降の場合、configure は、kbuild を使用し

てカーネルモジュールをコンパイルする makefile を生成します。以前のバージョンの Linux で、

kbuild を強制的に使用するには、configure に --enable-kbuild フラグを渡します。

4. Kernel PlugIn モジュールをビルドします。“make” コマンドを使用します。

このコマンドは、作成された kp_xxx.o/.ko ドライバを含む、新しい LINUX.xxx/ ディレクトリ を作成します (xxx は Linux カーネルにより異なります)。

5. サンプルユーザーモード診断アプリケーションの makefile のあるディレクトリに移動します。

KP_PCI サンプルドライバの場合: cd ../LINUX/

DriverWizard で生成された Kernel PlugIn ドライバの場合: cd ../../linux/

6. サンプル診断プログラムをコンパイルします。 “make” コマンドを使用します。

ドキュメント内 WinDriver V10.10 ユーザーズ ガイド (ページ 135-138)