Primeiras etapas para o desenvolvimento de driver de cliente USB

Esta seção apresenta conceitos e ferramentas de desenvolvimento de driver USB. A seção se aplica a desenvolvedores novos no desenvolvimento de driver que desejam implementar um driver para um dispositivo USB para o qual a Microsoft não fornece um driver in-box. Esses drivers são chamados de driver de cliente USB nesta documentação. Os tópicos nesta seção descrevem conceitos de USB de alto nível e fornecem instruções passo a passo sobre como executar tarefas comuns de um driver de cliente USB. Para obter informações detalhadas sobre esses conceitos, consulte Especificações de USB em Documentos USB.

Os desenvolvedores de driver devem ter experiência de codificação na linguagem de programação C++ e entender os conceitos de ponteiros de função, funções de retorno de chamada e manipuladores de eventos. Se estiver escrevendo um driver com base no User-Mode Driver Framework, o desenvolvedor deverá estar familiarizado com C++ e COM.

Roteiro de aprendizagem para desenvolvedores de driver de cliente USB

  1. Leia a Especificação USB 3.2.

    • Saiba mais sobre a especificação do setor e os diferentes componentes (dispositivo, controlador de host e hub) da arquitetura. É importante entender o modelo de fluxo de dados, como o host e o dispositivo se comunicam entre si e o formato das solicitações esperadas pelo dispositivo.
  2. Obtenha um dispositivo USB de teste.

    • Ter um dispositivo USB e sua especificação de hardware. A especificação descreve os recursos do dispositivo e os comandos de fornecedor com suporte. Use a especificação para determinar a funcionalidade do driver de dispositivo e as decisões de design relacionadas.

    • Tenha o kit de aprendizagem OSR USB FX2 se for novo no desenvolvimento de driver USB. O kit é o mais adequado para estudar amostras usb incluídas neste conjunto de documentação.

    • Tenha dispositivos MUTT (Microsoft USB Test Tool). O hardware MUTT pode ser comprado da JJG Technologies. O dispositivo não tem o firmware instalado instalado. Para instalar o firmware, baixe o pacote de software MUTT. Para obter mais informações, consulte a documentação incluída no pacote.

  3. Estude o layout do dispositivo USB e os descritores USB relacionados.

    • Descreva os recursos do dispositivo lendo o descritor de configuração, os descritores de interface para cada configuração alternativa com suporte e seus descritores de ponto de extremidade. Usando o USBView, o desenvolvedor pode procurar todos os controladores USB e os dispositivos USB conectados a eles e também inspecionar a configuração do dispositivo.
  4. Escolher um modelo de driver para desenvolver um driver de cliente USB

    • Determine se o driver deve ser um driver personalizado ou usar um dos drivers fornecidos pela Microsoft com base no design do dispositivo de destino. Escolha o melhor modelo de driver e descreva os recursos compatíveis com cada modelo.
  5. Examine os conceitos de desenvolvimento de driver e pilha de driver USB fornecidos pela Microsoft.

  6. Prepare o ambiente de desenvolvimento e depuração.

  7. Escreva seu primeiro driver.

  8. Estenda o driver enviando uma solicitação de transferência de controle USB.

  9. Estenda o driver para usar objetos de destino de E/S USB do WDF para executar transferências de dados USB.

Recursos da comunidade para USB