次の方法で共有


GPIO-Based 割り込みリソース

汎用 I/O (GPIO) ピンに割り込みを送信する周辺機器のドライバーは、抽象 Windows 割り込みリソースとして GPIO 割り込みを取得します。 カーネル モード ドライバー フレームワーク (KMDF) ドライバーと ユーザー モード ドライバー フレームワーク (UMDF) ドライバーは、 EvtDevicePrepareHardware イベント コールバック関数を通じてこれらのリソースを受け取ります。

GPIO ベースの割り込みリソースを使用する周辺機器ドライバーは、割り込みコントローラーまたはプロセッサ チップの割り込みピンの代わりに GPIO ピンによって割り込みが生成されるかどうかなど、低レベルの実装の詳細を無視できます。

GPIO ベースの割り込みは、 CmResourceTypeInterrupt 型のリソースです。 この割り込みの構成パラメーターは、 割り込み リソースを記述する CM_PARTIAL_RESOURCE_DESCRIPTOR 構造体の u.Interrupt メンバーに含まれています。 割り込みサービス ルーチン (ISR) を割り込みに接続するには、UMDF または KMDF ドライバーは、割り込みリソースの 生の説明と翻訳された 説明の両方を割り込み作成方法に提供します。

周辺機器の KMDF または UMDF ドライバーは、デバイスからの割り込みに ISR を接続する WdfInterruptCreate メソッドを呼び出します。 このメソッドの入力パラメーターの 1 つは、割り込みの構成情報を含む WDF_INTERRUPT_CONFIG 構造体へのポインターです。

周辺機器ドライバーが複数の GPIO 割り込みリソースを使用する場合、このドライバーは、 EvtDevicePrepareHardware 関数または OnPrepareHardware メソッドへの入力パラメーターとして提供される未加工および翻訳されたリソース リストにこれらのリソースが表示される順序を認識する必要があります。 これらの一覧のリソースは、プラットフォーム ファームウェアで記述されている順序で表示されます。これは、ドライバーで想定される順序と一致する必要があります。