Condividi tramite


Guida alla progettazione dei driver General-Purpose I/O (GPIO)

Questa sezione descrive come scrivere un driver per un dispositivo controller di I/O per utilizzo generico (GPIO). Un controller GPIO configura i pin GPIO per eseguire operazioni di I/O di dati a bassa velocità, per agire come selezione del dispositivo e per ricevere richieste di interruzione. A partire da Windows 8, l'estensione del framework GPIO (GpioClx) semplifica l'attività di scrittura di un driver per un controller GPIO. GpioClx fornisce inoltre un'interfaccia di richiesta di I/O uniforme ai driver di dispositivo periferici che comunicano con i dispositivi che si connettono ai pin GPIO in un controller.

In questa sezione

Argomento Descrizione

Panoramica del supporto driver GPIO

A partire da Windows 8, l'estensione del framework GPIO (GpioClx) semplifica l'attività di scrittura di un driver per un dispositivo controller GPIO. GpioClx offre inoltre il supporto dei driver per i dispositivi periferici che si connettono ai pin GPIO. GpioClx, che è un'estensione fornita a livello di sistema al framework del driver in modalità kernel (KMDF), esegue attività di elaborazione comuni ai membri della classe di dispositivo GPIO.

Interfacce GpioClx di I/O e interrupt

In genere, i client di un controller GPIO sono driver per i dispositivi periferici che si connettono ai pin GPIO. Questi driver utilizzano i pin GPIO come canali di dati a bassa larghezza di banda, uscite di selezione del dispositivo e ingressi di richiesta di interrupt. I driver di dispositivo periferico aprono connessioni logiche ai pin GPIO configurati come input o output di dati. Queste connessioni vengono usate per inviare richieste di I/O a questi pin. Inoltre, i driver di dispositivo periferico possono connettere logicamente le routine di gestione degli interrupt ai pin GPIO configurati come input di richiesta di interrupt.

GPIO-Based risorse hardware

A partire da Windows 8, i pin di I/O per utilizzo generico (GPIO) controllati da un driver di controller GPIO sono disponibili per altri driver come risorse hardware gestite dal sistema. I pin di I/O GPIO, che sono pin configurati come input di dati o output di dati, sono disponibili come nuovo tipo di risorsa Windows, risorse I/O GPIO. Inoltre, i pin di interrupt GPIO, che sono pin configurati come input di richiesta di interrupt, sono disponibili come normali risorse di interrupt di Windows.

Interruzioni GPIO

Alcuni dispositivi controller GPIO per uso generico possono configurare i pin GPIO in modo che funzionino come ingressi di richiesta di interrupt. Questi input delle richieste di interrupt sono guidati da dispositivi periferici fisicamente connessi ai pin GPIO. I driver per questi controller GPIO possono abilitare, disabilitare, mascherare, smascherare e cancellare le richieste di interrupt nei singoli pin GPIO.

GpioClx DDI

Il driver del controller di I/O per utilizzo generico (GPIO) comunica con l'estensione del framework GPIO (GpioClx) tramite l'interfaccia DDI (Device Driver Interface) GpioClx. Questa DDI è definita nel file di intestazione Gpioclx.h ed è descritta in General-Purpose Informazioni di riferimento sui driver di I/O (GPIO). Come parte di questa DDI, GpioClx implementa diversi metodi di supporto dei driver, chiamati dal driver del controller GPIO. Questo driver implementa un set di funzioni di callback degli eventi, chiamate da GpioClx. GpioClx utilizza questo callback per gestire le richieste di interrupt dai pin GPIO configurati come ingressi di interrupt e per trasferire dati da o verso i pin GPIO configurati come ingressi e uscite di dati.