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
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.
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.
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.
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.
Examine os conceitos de desenvolvimento de driver e pilha de driver USB fornecidos pela Microsoft.
- Drivers do lado do host USB no Windows.
- Conceitos para todos os desenvolvedores de driver.
- Conceitos para todos os desenvolvedores de USB.
- Nós de dispositivo e pilhas de dispositivos.
- Developing Drivers with Windows Driver Foundation escrito por Penny Orwick e Guy Smith. Para obter mais informações, consulte Desenvolvendo drivers com WDF.
- Exemplos de driver USB.
- Entenda os conceitos básicos de como os drivers funcionam nos sistemas operacionais Windows. Conhecer os conceitos básicos ajudará a tomar decisões de design apropriadas e simplificar o processo de desenvolvimento.
- Diferenciar entre o modo de usuário e os modelos de arquitetura de driver do modo kernel.
- Entenda o carregamento do driver e como o Windows organiza dispositivos PnP (Plug and Play) em uma árvore de dispositivos e nós de dispositivo. O desenvolvedor também deve entender como o gerenciador PnP cria pilhas de dispositivos e onde o driver e seus objetos de dispositivo são colocados na pilha do dispositivo.
Prepare o ambiente de desenvolvimento e depuração.
- Instale o WDK (Kit de Driver do Windows) mais recente.
- Instale o Microsoft Visual Studio.
- Obter Configuração para Depuração.
- Verifique se os Cabeçalhos e bibliotecas exigidos por um driver de cliente USB estão disponíveis.
- Se estiver gravando uma depuração de driver no modo kernel em computadores host e de destino em uma rede Ethernet, um cabo 1394, um cabo de depuração USB 2.0 ou 3.0 ou um cabo de modem nulo deverão ser configurados.
- Se estiver escrevendo um driver no modo de usuário, depuradores de modo de usuário disponíveis no ambiente do Microsoft Visual Studio. O desenvolvedor deve estar familiarizado com como anexar a um processo ou iniciar um processo no depurador.
Escreva seu primeiro driver.
- Como escrever seu primeiro DRIVER de cliente USB (KMDF).
- Como escrever seu primeiro driver de cliente USB (UMDF).
- Escreva, compile e instale seu primeiro driver de cliente USB usando os modelos USB incluídos no Visual Studio 2012. O desenvolvedor deve ser capaz de descrever objetos de driver de estrutura, dispositivo e fila e entender como a estrutura se comunica com seu driver.
Estenda o driver enviando uma solicitação de transferência de controle USB.
- Envie solicitações de controle padrão e comandos de fornecedor para seu dispositivo. Para obter mais informações, consulte Como enviar uma transferência de controle USB.
Estenda o driver para usar objetos de destino de E/S USB do WDF para executar transferências de dados USB.
- Estenda o driver para executar tarefas comuns, conforme descrito em Tarefas comuns para drivers de cliente USB.
Recursos da comunidade para USB
Blog da equipe do Microsoft Windows USB Core
Confira as postagens escritas pela Equipe USB da Microsoft. O blog se concentra na pilha de driver USB do Windows que funciona com vários controladores de host USB e hubs USB encontrados no computador Windows. Um recurso útil para desenvolvedores de driver de cliente USB e designers de hardware USB entendem a implementação da pilha do driver, resolve problemas comuns e explicam como usar ferramentas para coletar rastreamentos e arquivos de log.
-
Lista de discussão gerenciada pelo OSR Online para desenvolvedores de driver no modo kernel.
Windows Dev-Center para desenvolvimento de hardware
Kit de Driver do Windows, verifique se seu produto é confiável e compatível com o Windows por meio do Kit de Laboratório de Hardware do Windows, conheça exemplos de driver do Windows.
Tópicos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de