Primeiras etapas para o desenvolvimento de drivers cliente USB

Esta seção apresenta os conceitos e as ferramentas de desenvolvimento de drivers USB. A seção se aplica a desenvolvedores novos no desenvolvimento de drivers que desejam implementar um driver para um dispositivo USB para o qual a Microsoft não fornece um driver nativo. Esses drivers são chamados de driver cliente USB nesta documentação. Os tópicos desta 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 cliente USB. Para obter informações detalhadas sobre esses conceitos, consulte as especificações USB na Documentação sobre USB.

Os desenvolvedores de drivers devem ter experiência em 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 criando um driver com base na estrutura de driver de usuário-modo, o desenvolvedor deverá estar familiarizado com C++ e COM.

Caminho de aprendizado para desenvolvedores de drivers cliente USB

  1. Consulte 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 que o dispositivo espera.
  2. Obtenha um dispositivo USB de teste.

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

    • Tenha o Kit de desenvolvimento FX2 de USB OSR caso não tenha experiência no desenvolvimento de drivers USB. O kit é o mais adequado para estudar amostras USB incluídas neste conjunto de documentação.

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

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

    • Descreva os recursos do dispositivo lendo o descritor de configuração, os descritores de interface para cada configuração alternativa suportada 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, além de inspecionar a configuração do dispositivo.
  4. Escolha um modelo de driver desenvolvendo um driver client 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 suportados por cada modelo.
  5. Analise a pilha de drivers USB fornecida pela Microsoft e os conceitos de desenvolvimento de drivers.

  6. Preparar 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 seu driver para usar objetos de destino de E/S USB WDF para executar transferências de dados USB.

Recursos da comunidade para USB