Condividi tramite


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

Questa sezione descrive come scrivere un driver per un dispositivo controller di I/O (GPIO) per utilizzo generico. Un controller GPIO configura i pin GPIO per eseguire operazioni di I/O dati a bassa velocità, per fungere da selezione di dispositivi 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 offre 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.

Contenuto della sezione

Argomento Descrizione

Panoramica del supporto del 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 driver per i dispositivi periferici che si connettono ai pin GPIO. GpioClx, che è un'estensione fornita dal sistema al framework driver in modalità kernel (KMDF), esegue attività di elaborazione comuni ai membri della classe di dispositivo GPIO.

Interfacce di I/O GpioClx e interrupt

In genere, i client di un controller GPIO sono driver per i dispositivi periferici che si connettono ai pin GPIO. Questi driver usano i pin GPIO come canali dati a larghezza di banda bassa, output selezionati dal dispositivo e input di richiesta di interruzione. I driver di dispositivo periferici aprono connessioni logiche ai pin GPIO configurati come input dati o output. Usano queste connessioni per inviare richieste di I/O a questi pin. Inoltre, i driver di dispositivo periferici possono connettere logicamente le routine di servizio di interruzione ai pin GPIO configurati come input della richiesta di interruzione.

Risorse hardware basate su GPIO

A partire da Windows 8, i pin di I/O (GPIO) per utilizzo generico controllati da un driver 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 dati o output di dati, sono disponibili come nuovo tipo di risorsa Windows, risorse I/O GPIO. Inoltre, i pin di interruzione GPIO, che sono pin configurati come input di richiesta di interruzione, sono disponibili come risorse di interruzione di Windows normali.

Interruzioni GPIO

Alcuni dispositivi controller di I/O (GPIO) per utilizzo generico possono configurare i pin GPIO per funzionare come input di richiesta di interruzione. Questi input di richiesta di interruzione sono basati su dispositivi periferici connessi fisicamente ai pin GPIO. I driver per questi controller GPIO possono abilitare, disabilitare, mascherare, smascherare e cancellare le richieste di interruzione nei singoli pin GPIO.

GpioClx DDI

Il driver del controller di I/O (GPIO) per utilizzo generico comunica con l'estensione del framework GPIO (GpioClx) tramite l'interfaccia del driver di dispositivo GpioClx (DDI). Questo DDI è definito nel file di intestazione Gpioclx.h e viene descritto in Informazioni di riferimento sul driver di I/O (General Purpose I/O). Nell'ambito di questa DDI, GpioClx implementa diversi metodi di supporto driver, chiamati dal driver del controller GPIO. Questo driver implementa un set di funzioni di callback degli eventi, chiamate da GpioClx. GpioClx usa questi callback per gestire le richieste di interruzione dai pin GPIO configurati come input di interruzione e per trasferire i dati ai pin GPIO configurati come input e output dei dati.