영어로 읽기

다음을 통해 공유


GPIO(General-Purpose I/O) 드라이버 디자인 가이드

이 섹션에서는 GPIO(범용 I/O) 컨트롤러 디바이스용 드라이버를 작성하는 방법을 설명합니다. GPIO 컨트롤러는 저속 데이터 I/O 작업을 수행하고, 디바이스 선택 역할을 하고, 인터럽트 요청을 수신하도록 GPIO 핀을 구성합니다. Windows 8 부터 GPIO 프레임워크 확장(GpioClx)은 GPIO 컨트롤러용 드라이버를 작성하는 작업을 간소화합니다. 또한 GpioClx는 컨트롤러의 GPIO 핀에 연결하는 디바이스와 통신하는 주변 장치 드라이버에 대한 균일한 I/O 요청 인터페이스를 제공합니다.

섹션 내용

항목 Description

GPIO 드라이버 지원 개요

Windows 8 부터 GPIO 프레임워크 확장(GpioClx)은 GPIO 컨트롤러 디바이스용 드라이버를 작성하는 작업을 간소화합니다. 또한 GpioClx는 GPIO 핀에 연결하는 주변 디바이스에 대한 드라이버 지원을 제공합니다. KMDF(커널 모드 드라이버 프레임워크)에 대한 시스템 제공 확장인 GpioClx는 GPIO 디바이스 클래스의 멤버에게 공통적인 처리 작업을 수행합니다.

GpioClx I/O 및 인터럽트 인터페이스

일반적으로 GPIO 컨트롤러의 클라이언트는 GPIO 핀에 연결하는 주변 장치용 드라이버입니다. 이러한 드라이버는 GPIO 핀을 낮은 대역폭 데이터 채널, 디바이스 선택 출력 및 인터럽트 요청 입력으로 사용합니다. 주변 장치 드라이버는 데이터 입력 또는 출력으로 구성된 GPIO 핀에 대한 논리적 연결을 엽니다. 이러한 연결을 사용하여 이러한 핀에 I/O 요청을 보냅니다. 또한 주변 장치 드라이버는 인터럽트 요청 입력으로 구성된 GPIO 핀에 인터럽트 서비스 루틴을 논리적으로 연결할 수 있습니다.

GPIO 기반 하드웨어 리소스

Windows 8 시작하여 GPIO 컨트롤러 드라이버에서 제어하는 GPIO(범용 I/O) 핀을 시스템 관리 하드웨어 리소스로 다른 드라이버에서 사용할 수 있습니다. 데이터 입력 또는 데이터 출력으로 구성된 핀인 GPIO I/O 핀은 새 Windows 리소스 유형인 GPIO I/O 리소스로 사용할 수 있습니다. 또한 인터럽트 요청 입력으로 구성된 핀인 GPIO 인터럽트 핀은 일반 Windows 인터럽트 리소스로 사용할 수 있습니다.

GPIO 인터럽트

일부 GPIO(범용 I/O) 컨트롤러 디바이스는 인터럽트 요청 입력으로 작동하도록 GPIO 핀을 구성할 수 있습니다. 이러한 인터럽트 요청 입력은 GPIO 핀에 물리적으로 연결된 주변 장치에 의해 구동됩니다. 이러한 GPIO 컨트롤러에 대한 드라이버는 개별 GPIO 핀에서 인터럽트 요청을 활성화, 사용 안 함, 마스크 해제, 마스크 해제 및 지울 수 있습니다.

GpioClx DDI

GPIO(범용 I/O) 컨트롤러 드라이버는 GpioClx DDI(디바이스 드라이버 인터페이스)를 통해 GPioClx(GPIO 프레임워크 확장)와 통신합니다. 이 DDI는 Gpioclx.h 헤더 파일에 정의되며 GPIO(범용 I/O) 드라이버 참조에 설명되어 있습니다. 이 DDI의 일부로 GpioClx는 GPIO 컨트롤러 드라이버에서 호출되는 여러 드라이버 지원 메서드를 구현합니다. 이 드라이버는 GpioClx에서 호출되는 이벤트 콜백 함수 집합을 구현합니다. GpioClx는 이러한 콜백을 사용하여 인터럽트 입력으로 구성된 GPIO 핀의 인터럽트 요청을 관리하고 데이터 입력 및 출력으로 구성된 GPIO 핀으로 데이터를 전송합니다.