다음을 통해 공유


USB 클라이언트 드라이버 개발을 위한 첫 번째 단계

이 섹션에서는 USB 드라이버 개발 개념 및 도구를 소개합니다. 이 섹션은 Microsoft에서 기본 제공 드라이버를 제공하지 않는 USB 디바이스용 드라이버를 구현하려는 드라이버 개발에 새로운 개발자에게 적용됩니다. 이러한 드라이버를 이 설명서에서 USB 클라이언트 드라이버 라고 합니다. 이 섹션의 항목에서는 고급 USB 개념에 대해 설명하고 USB 클라이언트 드라이버의 일반적인 작업을 수행하는 방법에 대한 단계별 지침을 제공합니다. 이러한 개념에 대한 자세한 내용은 USB 문서의 USB 사양을 참조하세요.

드라이버 개발자는 C++ 프로그래밍 언어로 코딩 환경을 사용하고 함수 포인터, 콜백 함수이벤트 처리기의 개념을 이해해야 합니다. 사용자 모드 드라이버 프레임워크를 기반으로 드라이버를 작성하는 경우 개발자는 C++ 및 COM에 대해 잘 알고 있어야 합니다.

USB 클라이언트 드라이버 개발자를 위한 학습 경로

  1. USB 사양 3.2를 읽습니다.

    • 아키텍처의 업계 사양 및 다양한 구성 요소(디바이스, 호스트 컨트롤러 및 허브)에 대해 알아봅니다. 데이터 흐름 모델, 호스트와 디바이스가 서로 통신하는 방법 및 디바이스가 기대하는 요청의 형식을 이해하는 것이 중요합니다.
  2. 테스트 USB 디바이스를 가져옵니다.

    • USB 디바이스 및 해당 하드웨어 사양이 있습니다. 사양은 디바이스 기능 및 지원되는 공급업체 명령을 설명합니다. 사양을 사용하여 디바이스 드라이버의 기능 및 관련 디자인 결정을 결정합니다.

    • USB 드라이버 개발이 새로운 경우 OSR USB FX2 학습 키트 가 있어야 합니다. 이 키트는 이 설명서 집합에 포함된 USB 샘플을 연구하는 데 가장 적합합니다.

    • Microsoft MUTT(USB 테스트 도구) 디바이스가 있습니다. MUTT 하드웨어는 JJG Technologies에서 구입할 수 있습니다. 디바이스에 설치된 펌웨어가 없습니다. 펌웨어를 설치하려면 MUTT 소프트웨어 패키지를 다운로드 합니다. 자세한 내용은 패키지에 포함된 설명서를 참조하세요.

  3. USB 디바이스 레이아웃 및 관련 USB 설명자를 연구합니다.

    • 구성 설명자, 지원되는 각 대체 설정에 대한 인터페이스 설명자 및 해당 엔드포인트 설명자를 읽어 디바이스 기능을 설명합니다. 개발자는 USBView를 사용하여 연결된 모든 USB 컨트롤러 및 USB 디바이스를 찾아보고 디바이스 구성도 검사할 수 있습니다.
  4. USB 클라이언트 드라이버를 개발하기 위한 드라이버 모델 선택

    • 드라이버가 사용자 지정 드라이버인지 또는 대상 디바이스의 디자인에 따라 Microsoft에서 제공하는 드라이버 중 하나를 사용해야 하는지 확인합니다. 최상의 드라이버 모델을 선택하고 각 모델에서 지원하는 기능을 설명합니다.
  5. Microsoft에서 제공하는 USB 드라이버 스택 및 드라이버 개발 개념을 검토합니다.

  6. 개발 및 디버깅 환경을 준비합니다.

  7. 첫 번째 드라이버를 작성합니다.

    • 첫 번째 KMDF(USB 클라이언트 드라이버)를 작성하는 방법입니다.
    • 첫 번째 UMDF(USB 클라이언트 드라이버)를 작성하는 방법입니다.
    • Visual Studio 2012에 포함된 USB 템플릿을 사용하여 첫 번째 USB 클라이언트 드라이버를 작성, 빌드 및 설치합니다. 개발자는 프레임워크 드라이버, 디바이스 및 큐 개체를 설명하고 프레임워크가 드라이버와 통신하는 방법을 이해할 수 있어야 합니다.
  8. USB 제어 전송 요청을 전송하여 드라이버를 확장합니다.

    • 표준 제어 요청 및 공급업체 명령을 디바이스에 보냅니다. 자세한 내용은 USB 제어 전송을 보내는 방법을 참조하세요.
  9. 드라이버를 확장하여 WDF USB I/O 대상 개체를 사용하여 USB 데이터 전송을 수행 합니다.

USB용 커뮤니티 리소스