WinDriver ドライバ開発
.Jungo 診断アプリケーション
. サイト マップ
. 関連リンク


WinDriver for PLX
WinDriver のパッケージには、PLX、Altera、AMCC、Marvell および QuickLogic 用に特別な診断アプリケーション とそのソース コードが含まれます。

診断アプリケーションの概要

診断プログラムは、WinDriver の特別な パートナー (Altera などの特定のベンダ) API を使用してハードウェアにアクセスします。
ソースコードを簡単に理解していただくために、診断プログラムをコンソール モード (GUI アプリケーションではなく) として作成しています。 (これによって、WinDriver のパートナー API の使用方法を効果的に学べます。)

このアプリケーションをデバイス ドライバをビルドする際の最初の一歩として使用します。 コンソール モードではなく GUI アプリケーションを作成する場合には、 コードから printf() の呼び出しを取り除き、MessageBox() に置き換えてください。

パートナー API の使用方法のモデルとして以外に、 診断ユーティリティは、パートナー チップ ベースのデバイスのユーティリティとしても 使用でき、read (読み込み) / write (書き込み)、すべての PCI レジスタ、 PCI デバイスおよび PCI バスへのアクセスを提供します。チップ レジスタ、 ホストおよびローカル メモリ、ポート I/O もサポートします。

パートナー診断プログラムの使い方


パートナー診断ユーティリティは、WinDriver を使用してハードウェアにアクセスします。 そのため、実行する前に WinDriver をインストールする必要があります。

WinDriver をインストール後、[スタート] - [プログラム] - [WinDriver] - [Samples] - [パートナー xyz Diagnostics] (xyz はチップセットの番号を表します、たとえば 9050) をクリックして起動します。

ユーティリティは初めに、ベンダーが割り当てたデフォルトの VendorID と DeviceID によって、 カードの場所を検出します。カードを検出すると、"パートナー card found" メッセージを表示します。

Main Menu Options:

Scan PCI bus:
PCI バス上にあるすべてのカードとリソースを表示します。(IO 範囲、メモリ範囲、割り込み、VendorID/DeviceID)。 アクセスするカードを選択する際に、この情報を使用します。

Locate/Choose パートナー board:
診断アプリケーションが使用する有効なカードを選択します。 アクセスするカードの VendorID/DeviceID を入力します。 同じ VendorID/DeviceID を持つカードが複数存在する場合、 いずれか一つを選択します。

PCI configuration registers:
有効なカードを選択後に、このオプションは利用可能になります。 PCI configuration registers の一覧とその READ (読み込み) 値を表示します。 これらは汎用レジスタで、すべての PCI カードに共通です。 レジスタへ WRITE (書き込み) を行うには、その番号を入力し、そしてレジスタに書き込む値を入力します。

Access memory ranges on the board:
有効なカードを選択後に、このオプションは利用可能になります。 このオプションを使用する際には、十分注意してください。 メモリ範囲にアクセスすることで、対象のカード上のローカル バスにアクセスします。 無効なローカル アドレスにアクセスした場合、またはカードに問題がある場合 (IRDY 信号などの問題)、CPU がハングする可能性があります。

  • ローカル範囲にアクセスするには、アクセスするハードウェアに合うように、 初めに BYTE/WORD/DWORD 間の有効なモードを切り替えます。
  • ローカル アドレスから READ (読み込み) するには、'Read from board' を 選択します。READ (読み込み) するローカル アドレスを選択します。
  • ローカル アドレスから WRITE (書き込み) するには、'Write from board' を 選択します。WRITE (書き込み) するローカル アドレスとデータを選択します。

ボードの READ (読み込み) および WRITE (書き込み) の両方で、指定したアドレスを ベース アドレス レジスタを設定する際のも使用します。 LASxBA レジスタをベース アドレスで設定し、LASxBRD レジスタをモード (有効なモードとして選択した BYTE/WORD/DWORD) で設定します。