USB 함수 컨트롤러용 Windows 드라이버 개발 개요
이 문서에서는 Microsoft에서 제공하는 UFX(USB 함수 컨트롤러 확장)와 통신하는 USB(유니버설 직렬 버스) 함수 컨트롤러 드라이버를 개발하기 위한 Windows 운영 체제의 지원에 대해 설명합니다.
개발 도구 및 Microsoft에서 제공하는 이진 파일
WDK(Windows 드라이버 키트)에는 헤더, 라이브러리, 도구 및 샘플과 같은 드라이버 개발에 필요한 리소스가 포함되어 있습니다.
Windows는 Synopsys IP의 컨트롤러 하드웨어에 대한 UfxSynopsys.sys 같은 받은 편지함 USB 함수 컨트롤러 드라이버를 제공합니다. 일반적으로 플랫폼을 가져올 때 하드웨어 파트너 또는 OEM에서 수행하는 플랫폼 수준 변경 및 유효성 검사가 필요합니다. 이 가져오기 프로세스에는 ACPI와의 통합을 통해 시스템 드라이버에 USB 연결/분리 이벤트를 알리고 Microsoft에서 제공하는 HLK 테스트를 사용하여 추가 유효성 검사를 수행할 수 있습니다. 자체 컨트롤러 드라이버를 작성하려면 다음이 필요합니다.
- FDO로 로드된 UFX(Ufx01000.sys) 이 드라이버는 Windows에 포함되어 있습니다.
- 스텁 라이브러리에 연결합니다(Ufx01000.lib). 스텁 라이브러리는 WDK에 있습니다. 라이브러리는 함수 컨트롤러 드라이버의 호출을 변환하고 UFX에 전달합니다.
- WDK에 제공된 Ufxclient.h를 포함합니다.
사용자 모드에서 요청을 보내려면 다음이 필요합니다.
- GenericUSBFn.sys USB 함수 클래스 드라이버로 로드됩니다. 이 드라이버는 Windows에 포함되어 있습니다.
- WDK에 제공된 Genericusbfnioctl.h를 포함합니다.
USB 클래스 드라이버에서 요청을 보내려면 다음이 필요합니다.
- FDO로 로드된 UFX(Ufx01000.sys) 이 드라이버는 Windows에 포함되어 있습니다.
- WDK에 제공된 Usbfnioctl.h를 포함합니다.
독점 충전기를 통해 충전을 처리하는 필터 드라이버를 작성하려면 다음이 필요합니다.
- UfxChipidea.sys 또는 Ufxsynopsys.sys UFX에 클라이언트 드라이버로 로드됩니다.
- WDK에 제공된 Ufxproprietarycharger.h를 포함합니다.
UFX 아키텍처
Microsoft에서 제공하는 USB 드라이버 스택을 숙지합니다.
UFX 개체 및 핸들 숙지
UFX는 WDF 개체 기능을 확장하여 자체 USB 관련 UCX 개체를 정의합니다. WDF 개체에 대한 자세한 내용은 프레임워크 개체 소개를 참조하세요.
큐 요청의 경우 UFX는 USB 관련 개체를 사용합니다. 자세한 내용은 USB 함수 클라이언트 드라이버에서 사용하는 UFX 개체 및 핸들입니다.
함수 컨트롤러 클라이언트 드라이버 작성
UFX의 동작, 클라이언트 드라이버와 상호 작용하는 방법 및 클라이언트 드라이버가 구현해야 하는 기능을 이해합니다.
프로그래밍 참조 섹션
USB 함수 클래스 드라이버에서 UFX 프로그래밍 참조로
USB 함수 컨트롤러 클라이언트 드라이버 프로그래밍 참조