Share via


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

Cette section explique comment écrire un pilote pour un périphérique de contrôleur d’E/S à usage général (GPIO). Un contrôleur GPIO configure des broches GPIO pour effectuer des opérations d’E/S de données à faible vitesse, pour agir en tant que sélections d’appareils et pour recevoir des demandes 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 demande 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.

Contenu de cette section

Rubrique Description

Vue d’ensemble de la prise en charge du pilote 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 à des broches GPIO. GpioClx, qui est une extension fournie par le système pour 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 à des broches GPIO. Ces pilotes utilisent des broches GPIO comme canaux de données à faible bande passante, des sorties de sélection de périphérique et des entrées de demande d’interruption. Les pilotes de périphériques ouvrent des connexions logiques aux broches GPIO qui sont 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ériques peuvent connecter logiquement leurs routines de service d’interruption à des broches GPIO configurées en tant qu’entrées de demande d’interruption.

Ressources matérielles basées sur GPIO

À 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 des broches 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 qu’elles fonctionnent comme des 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émasquer 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 d’infrastructure 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 Référence du pilote d’E/S à usage général (GPIO). Dans le cadre de cette DDI, GpioClx implémente plusieurs méthodes de prise en charge des pilotes, qui sont appelées par le pilote de contrôleur GPIO. Ce pilote implémente un ensemble de fonctions de rappel d’événements, qui sont appelées par GpioClx. GpioClx utilise ces rappels pour gérer les demandes d’interruption à partir de 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.