Partager via


Guide de conception du pilote d’E/S General-Purpose (GPIO)

Cette section explique comment écrire un pilote pour un appareil de contrôleur d’E/S à usage général (GPIO). Un contrôleur GPIO configure les broches GPIO pour effectuer des opérations d’E/S de données à faible vitesse, agir en tant que sélecteurs de périphériques et recevoir des requêtes d’interruption. À compter de Windows 8, l’extension d’infrastructure GPIO (GpioClx) simplifie la tâche d’écriture d’un pilote pour un contrôleur GPIO. En outre, GpioClx fournit une interface de requête d’E/S uniforme aux pilotes de périphériques qui communiquent avec les appareils qui se connectent aux broches GPIO sur un contrôleur.

Dans cette section

Sujet Descriptif

Vue d’ensemble du support des pilotes de périphérique GPIO

À compter de Windows 8, l’extension d’infrastructure GPIO (GpioClx) simplifie la tâche d’écriture d’un pilote pour un périphérique de contrôleur GPIO. En outre, GpioClx fournit la prise en charge des pilotes pour les périphériques qui se connectent aux broches GPIO. GpioClx, qui est une extension fournie par le système à l’infrastructure de pilote en mode noyau (KMDF), effectue des tâches de traitement communes aux membres de la classe de périphérique GPIO.

Interfaces d’E/S et d’interruption GpioClx

En règle générale, les clients d’un contrôleur GPIO sont des pilotes pour les périphériques qui se connectent aux broches GPIO. Ces pilotes utilisent des broches GPIO pour des canaux de données à faible bande passante, des sorties de sélection d’appareil et des entrées de demande d’interruption. Les pilotes de périphériques ouvrent des connexions logiques aux broches GPIO, configurées en tant qu'entrées ou sorties de données. Ils utilisent ces connexions pour envoyer des demandes d’E/S à ces broches. En outre, les pilotes de périphérique peuvent connecter logiquement leurs routines de service d’interruption aux broches GPIO configurées en tant qu’entrées de demande d’interruption.

GPIO-Based Ressources Matérielles

À compter de Windows 8, les broches d’E/S à usage général (GPIO) contrôlées par un pilote de contrôleur GPIO sont disponibles pour d’autres pilotes en tant que ressources matérielles gérées par le système. Les broches d’E/S GPIO, qui sont configurées en tant qu’entrées de données ou sorties de données, sont disponibles en tant que nouveau type de ressource Windows, ressources d’E/S GPIO. En outre, les broches d’interruption GPIO, qui sont des broches configurées en tant qu’entrées de demande d’interruption, sont disponibles en tant que ressources d’interruption Windows ordinaires.

Interruptions GPIO

Certains appareils de contrôleur d’E/S à usage général (GPIO) peuvent configurer leurs broches GPIO pour fonctionner en tant qu’entrées de demande d’interruption. Ces entrées de demande d’interruption sont pilotées par des périphériques connectés physiquement aux broches GPIO. Les pilotes de ces contrôleurs GPIO peuvent activer, désactiver, masquer, décocher et effacer les demandes d’interruption sur des broches GPIO individuelles.

GpioClx DDI

Le pilote de contrôleur d’E/S à usage général (GPIO) communique avec l’extension de framework GPIO (GpioClx) via l’interface de pilote de périphérique GpioClx (DDI). Cette DDI est définie dans le fichier d’en-tête Gpioclx.h et est décrite dans General-Purpose référence du pilote d’E/S (GPIO). Dans le cadre de cette DDI, GpioClx implémente plusieurs méthodes de prise en charge du pilote, appelées par le pilote de contrôleur GPIO. Ce pilote implémente un ensemble de fonctions de rappel d’événements, appelées par GpioClx. GpioClx utilise ces rappels pour gérer les demandes d’interruption des broches GPIO configurées en tant qu’entrées d’interruption et pour transférer des données vers ou depuis des broches GPIO configurées en tant qu’entrées et sorties de données.