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

エクセルソフト株式会社 WinDriver PCI 5! WinDriver 1. DriverWizard 2. DriverWizard WinDriver 1. Windows 98/Me NT/2000/XP Windows CE/CE.NET Windows Server 2003 Lin

N/A
N/A
Protected

Academic year: 2021

シェア "エクセルソフト株式会社 WinDriver PCI 5! WinDriver 1. DriverWizard 2. DriverWizard WinDriver 1. Windows 98/Me NT/2000/XP Windows CE/CE.NET Windows Server 2003 Lin"

Copied!
11
0
0

読み込み中.... (全文を見る)

全文

(1)

クイックスタートガイド

5 分でデバイス ドライバを作成 !

WinDriver を使用する開発者は?

1. ハードウェア開発者 − DriverWizard を使用し、新規ハードウェアをすぐにテストできます。 2. ソフトウェア開発者 − DriverWizard を使用し、ハードウェアを動作させるデバイス ドライ バコードを生成できます。WinDriver ツールでテストとデバッグができます。

サポートしているオペレーティング システムは?

1. Windows 98/Me、NT/2000/XP、Windows CE/CE.NET、Windows Server 2003、Linux、Solaris およ

び VxWorks です。新しいオペレーティング システムのサポートに関しては、エクセルソフト 社の Web サイト(http://www.xlsoft.com/jp/products/windriver/)をご覧ください。 2. WinDriver ベースのドライバは、対応するすべてのオペレーティング システム間で互 換性があります。

どこで詳細および最新情報が入手できますか?

1. WinDriver の日本語マニュアルおよび 30 日間の無料評価版は、エクセルソフト社の Web サイ ト (http://www.xlsoft.com/jp/products/download/download.html) から入手できます。

ドライバ作成の 8 ステップ:

1. セットアップ

• PC にハードウェアデバイスを挿入します。 • WinDriver をインストールします。 PCI / ISA

(2)

2 ハードウェアの選択

• メニューから [WinDriver] - [DriverWizard] を選択し、DriverWizard を起動します。 • ダイアログ ボックスが表示されるので、[Create New Driver] を選択します。 • DriverWizard は plug and play カードをすべて表示します。

• •

Plug-and-Play デバイス: 一覧から目的のハードウェア デバイスを選択します。 Plug-and-Play デバイス以外: 一覧から “ISA” を選択します。

(3)

3 INF ファイルの生成

• 開発したドライバ用に INF ファイルを作成する必要があります。また、DriverWizard で対象のデ バイスの診断を行うのに INF ファイルの作成が必要な場合もあります (たとえば、対象の PCI デ バイスのドライバがインストールされていない場合)。 DriverWizard は、この手順を自動的に行 い、INF ファイルの作成が必要なことをお知らせします。 [Next] をクリックして、そのような通 知が表示されない場合、このステップをスキップして、次のステップに行きます。

• [Generate .INF file] または [Next] ボタンをクリックします。 • ダイアログ ボックスが表示されるので、必要な項目を記入します:

• 終了したら、[Next] をクリックします。 DriverWizard が自動的に INF ファイルをインスト ールします。

• INF ファイルの自動インストールに失敗した場合、DriverWizard はその内容を通知し、手動で インストールを行います。

• INF ファイルのインストールが終了したら、上記のステップ 2 で説明した一覧から対象のデバイ スを選択し開きます。

(4)

4. ハードウェアの検出と定義

• DriverWizard は、PnP ハードウェアのリソース(I/O 範囲、メモリ範囲、割り込み)を自動的に 検出します。レジスタは手動で定義できます。

PnP ハードウェア以外は、リソースを手動で定義します。 •

(5)

5. ハードウェアのテスト

デバイス ドライバを記述する前に、ハードウェアが正常に動作してるのを確認するのは重要な ことです。Wizard を使用してハードウェアを診断してください。

• I/O ポート、メモリ範囲および定義したレジスタを Read および Write します。 • ハードウェアの割り込みを “Listen” (確認) します。

6. ドライバ コードの生成:

• DriverWizard を使用して、デバイス ドライバの雛形を生成します。[Next] ボタンをクリックす るか、Build メニューから [Generate Code] を選択します。

以下のように、開発言語を選択して、作成するプロジェクトの開発環境を決めます: •

(6)

• ドライバ コード内から Plug-and-Play と power management イベントを処理する場合、Kernel PlugIn コードを生成する場合、以下のようになります (注意: Kernel PlugIn を動作させるには、適 切な Microsoft DDK がコンピュータにインストールされている必要があります): • [Next] をクリックします。DriverWizard が、上記のステップ 6 で選択した開発環境を起動しま す。

8 コンパイルと実行

• 以下のコードが生成されます: o アプリケーション レベル (およびカーネル) からハードウェアにアクセスする API o ハードウェアにアクセスする上記の API を使用するサンプル アプリケーション o 対応するオペレーティング システムと環境用のすべての Project make ファイル o 対象のドライバの INF ファイル

(7)

• • サンプルの診断アプリケーションをコンパイルし、実行します。このサンプルはドライバの強力な 雛型となります。 • アプリケーションの仕様に応じて、サンプルのアプリケーションを修正します。または、WinDriver に付属の多くのサンプルの一つを開始します。 お好みのコンパイラで DriverWizard が生成した make ファイルを使用します。

(8)

Q & A:

A:

WinDriver を使用すると、 デバイス ドライバはユーザー モードで (アプリケーションの一部として、また は別の DLL として) 開発されます。これ はドライバ開発、またはデバッグのための スタンダード Win32 ツール (MSDEV、 Borland、他) を使用するため、開発期間を 大幅に短縮します。 WinDriver (YourApp.EXE) で開発したデバ イス ドライバは、スタンダード WinDriver 関数を使用する WinDriver カーネル モジ ュール (Windrvr.VXD/SYS) を使用してハ ードウェアにアクセスします。

Q:

WinDriver はどのように動作するか?

Q:

WinDriver で、最適なパフォーマンスをどのように実現するか?

A:

ドライバが完成した後、ドライバコード(割り込みハンドラ、I/O ハンドラ、他)のパフォーマ ンスの重要な部分を Kernel PlugIn へ簡単に移行することによって、カーネル レベルで実行でき、最 適なパフォーマンスを実現することができます。例えば、ハンドラ関数に自分の割り込み処理コードを 埋め込み、ユーザー モードで割り込みハンドラを作成します。このコードをユーザー モードでデバッ グした後、コードを Kernel PlugIn に移動します。この操作によって、割り込みハンドラがカーネル レ ベルで実行され、最適なパフォーマンスで動作します。 この構造によって、WinDriver 関数を使用し、ユーザー モードでのドライバ コードの開発、デバッ グが可能になります。さらに、コードを変更せずに簡単な Kernel PlugIn メカニズムを通して、コー ドのパフォーマンスの重要な部分をユーザー モードへ移行することができます。

(9)

演習:

以下の 5 分間演習で、WinDriver のいくつかの機能を紹介します。WinDriver の 30 日間評価版を http://www.xlsoft.com/jp/products/download/download.html からダウンロード後、この演習を行っ てください。

演習 #1: PCI メモリからの読み込みと書き込み

目的: PCI メモリ範囲からの読み込み、書き込み方法、およびレジスタの定義方法を学びます。 概要: この演習は、DriverWizard を使用して、PCI カードのメモリからの読み込み、書き込み方法、 および同じ処理を実行するアプリケーションの生成方法を説明します。これは PCI (または AGP) ビ デオカードからの読み込み、書き込みを行います。 Step #1: スタート メニューから DriverWizard を起動します。[スタート] – [プログラム] – [WinDriver] - [DriverWizard] を選択します。

Step #2: Wizard のメニューで [File] - [New Project] を選択します

Step #3: 表示される Plug and Play カードのリストからビデオカードを選択します。 ビデオカードを見つけるには、カードのベンダ名をリストから選びます。 Step #4: [Memory] タブをクッリクします。カードのメモリ範囲が表示されます。このメモリ範囲 の中の 1 つは画面にマップされています(通常は Bar0)。メモリ範囲のバイトは画面の ピクセルに対応し、オフセット 0 (画面左上) から読み込みます。ウィンドウを画面左 上に移動し、色を変えてもう一度読み込みます。値が変わった場合、これが正しいメモリ 範囲です。このオフセット(FFFFFFFF また 00000000 も交互に試してください)を書き 込むと、ピクセルの色が変わります 。 ** 注意: 不正なメモリ範囲に書き込むとコンピュータがハングしてしまうことがあり、再起動が 必要です。 Step #5: 画面左上を表す "TopLeft" というレジスタを定義します (正しいメモリ範囲とオフセット 0)。レジスタから読み込み、書き込みます。オフセットが FF の "Somewhere" というレジ スタを定義します (画面の他のピクセル)。

Step #6: メニューの [Build] - [Generate code] を選択します。DriverWizard はハードウェア リソ ースにアクセスする関数を作成します。ユーザーモードでアプリケーションから直接この 関数を呼ぶことができます。Wizard はこの関数を使った、デバイスをアクセスするサンプ ル アプリケーションを作成します。 Step #7: サンプルア プリケーションをコンパイルし、実行します。このアプリケーションを使 用してビデオカードから読み込み、書き込みを行います。 とても簡単です。お試しください。 ** 注意: プロジェクトのソースを他の対応してるオペレーティング システム (Linux、Solaris、 Windows CE、他) へコピーし、再コンパイルして実行することができます。

(10)

<screencard_lib.h>

BOOL SCREENCARD_Open (SCREENCARD_HANDLE *phSCREENCARD, DWORD dwVendorID, DWORD dwDeviceID, DWORD nCardNum, DWORD options);

void SCREENCARD_Close(SCREENCARD_HANDLE hSCREENCARD); // General read/write functions

void SCREENCARD_WriteWord (SCREENCARD_HANDLE hSCREENCARD,

SCREENCARD_ADDR addrSpace, DWORD dwOffset, WORD data);

void SCREENCARD_WriteDword (SCREENCARD_HANDLE hSCREENCARD,

SCREENCARD_ADDR addrSpace, DWORD dwOffset, DWORD data);

// This register represents a Pixel somewhere on the screen.

DWORD SCREENCARD_ReadSomeWhere (SCREENCARD_HANDLE hSCREENCARD); void SCREENCARD_WriteSomeWhere (SCREENCARD_HANDLE hSCREENCARD, DWORD

data);

// This register toggles the top left pixel on the screen.

DWORD SCREENCARD_ReadTopLeft (SCREENCARD_HANDLE hSCREENCARD); void SCREENCARD_WriteTopLeft (SCREENCARD_HANDLE hSCREENCARD, DWORD

data); // handle interrupts

BOOL SCREENCARD_IntEnable (SCREENCARD_HANDLE hSCREENCARD,

SCREENCARD_INT_HANDLER funcIntHandler); void SCREENCARD_IntDisable (SCREENCARD_HANDLE hSCREENCARD);

演習 #2: 割り込み処理

目的: ハードウェアの割り込みのテスト方法、割り込みハンドラの作成方法を学びます。 概要: この演習では DriverWizard を使用し、フロッピー ディスク ドライブが生成する割り込 みを “Listen” (読み取り) します。そして DriverWizard を使用して、この割り込みを Listen (読 み取り) し、ユーザー モードの割り込みハンドラで割り込みを処理するアプリケーションを生成 します。

Step #1: スタート メニューから DriverWizard を起動します。[スタート] – [プログラム] – [WinDriver] - [DriverWizard] を選択します。

Step #2: Wizard のメニューで [File] - [New Project] を選択します。対象のマシンの Plug-n-Play カ ードのリストが表示されます。

Step #3: フロッピー ディスク ドライブを使用するので、メニューから ISA を選択します。 Step #4: [Memory] タブを押下します。

• 1 つ以上のメモリ範囲を定義します (ダミーの範囲でも構いません)。Memory タブで [New] をクリックして、[OK] をクリックしてアドレス 0x0-0x0 のメモリ範囲を生成

(11)

ッピー デスク ドライブの割り込み処理をテストするには十分です。 Step #5: [Interrupts] タブを押下します。 • フロッピー ドライブの割り込みを定義します: 割り込みの名前を “FloppyInterrupt” とし、割り込み番号を 6 を選択します。 • 生成した割り込みを右クリックし、[shared] を押下します。フロッピー ドライブの割 り込みをオペレーティング システムと共有するのに必要です。

Step #6: [Listen to Interrupt] タブを押下します

• フロッピー ドライブの割り込みを確認するには: フロッピー ドライブにアクセス します (たとえば、DOS コンソール画面で "a:" と入力するか、またはファイル ブ ラウザでフロッピー ドライブを選択します)。

Step #7: メニューの [Build] - [Generate code] を押下します。DriverWizard はリソースをアクセス する関数を作成し、定義した割り込みを処理します。ユーザーモードでアプリケーション から直接この関数を呼ぶことができます。DriverWizard はこの関数を使った、デバイスを アクセスするサンプルアプリケーションを作成します。 Step #8: サンプルアプリケーションをコンパイルし、実行します。 Step #9: サンプルアプリケーション内から割り込みを有効にし、監視します。フロッピー ドライブ の割り込みを確認してください。後で、割り込みハンドラを修正し、自分の機能を挿入し ます。 とても簡単です。お試しください。 ** 注意:

1. WinDriver の Kernel PlugIn 機能を使用すると、割り込みおよび IO コールがカ ーネルモードから処理されるため、最適なパフォーマンスが実現されます。 2. さらに、PS マウス割り込み (Windows NT の Interrupt 12)、およびキーボード割 り込み (Windows NT の Interrupt 1) のテストも可能です。 エクセル ソフト株 式 会社

エクセルソフト株式会社

108-0014 東京都港区芝 5 - 1 - 9 ブゼンヤビル 4F 電話: 03 - 5440 -7875 Fax: 03 - 5440 -7876 E-mail: [email protected] Web: http://www.xlsoft.com/jp/products/windriver/

参照

関連したドキュメント

●お使いのパソコンに「Windows XP Service Pack 2」をインストールされているお客様へ‥‥. 「Windows XP Service

・M.2 Flash モジュール専用RAID設定サービス[PYBAS1SM2]とWindows Server 2022 Standard(16コア/Hyper-V)[PYBWPS5H]インストール/Windows Server 2019

'BOM for Windows Ver.8.0 インストールマニュアル'では、BOM for Windows

Windows Hell は、指紋または顔認証を使って Windows 10 デバイスにアクセスできる、よ

* Windows 8.1 (32bit / 64bit)、Windows Server 2012、Windows 10 (32bit / 64bit) 、 Windows Server 2016、Windows Server 2019 / Windows 11.. 1.6.2

子どもの学習従事時間を Fig.1 に示した。BL 期には学習への注意喚起が 2 回あり,強 化子があっても学習従事時間が 30

ESMPRO/ServerAgent for GuestOS Ver1.3(Windows/Linux) 1 ライセンス Windows / Linux のゲスト OS 上で動作するゲスト OS 監視 Agent ソフトウェア製品. UL1657-302

アンチウイルスソフトウェアが動作している場合、LTO や RDX、HDD 等へのバックアップ性能が大幅に低下することがあります。Windows Server 2016,