Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta seção apresenta os conceitos e as ferramentas de desenvolvimento do driver USB. A seção se aplica aos desenvolvedores que são novos no desenvolvimento de drivers e desejam implementar um driver para um dispositivo USB para o qual a Microsoft não fornece um driver padrão. Esses drivers são chamados de driver de cliente USB nesta documentação. Os tópicos desta seção descrevem conceitos 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 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.
Tenha 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 do dispositivo e as decisões de design relacionadas.
Tenha o kit de aprendizagem USB FX2 do OSR se você é novo 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 comprado da 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 no pacote.
Estudar 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 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 de driver USB fornecidos pela Microsoft.
- Drivers do lado do host USB no Windows.
- Conceitos para todos os desenvolvedores de drivers.
- Conceitos para todos os desenvolvedores de USB.
- Os nós de dispositivo e as pilhas de dispositivo.
- Desenvolvendo drivers com o Windows Driver Foundation: Livro de referência de Penny Orwick e Guy Smith.
- Exemplos de driver USB.
- Entenda os conceitos básicos de como os drivers funcionam em sistemas operacionais Windows. Conhecer os conceitos básicos ajudará a tomar decisões de design apropriadas e simplificar o processo de desenvolvimento.
- Diferenciar o modo de usuário e os modelos de arquitetura de driver do modo kernel.
- Entenda o carregamento de drivers e como o Windows organiza dispositivos Plug and Play (PnP) em uma árvore de dispositivos e nós de dispositivos. 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.
Preparar o ambiente para desenvolvimento e depuração.
- Instale o WDK (Windows Driver Kit) mais recente.
- Instale o Microsoft Visual Studio.
- Obter configuração para depuração.
- Verifique se os cabeçalhos e bibliotecas exigidos por um driver 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á ser configurado.
- Se estiver escrevendo um driver no modo de usuário, os depuradores do modo de usuário estão disponíveis no ambiente do Microsoft Visual Studio. O desenvolvedor deve estar familiarizado com como conectar-se a um processo ou iniciar um processo usando um depurador.
Escreva seu primeiro driver.
- Como gravar seu primeiro KMDF (driver de cliente USB).
- Como gravar seu primeiro UMDF (driver de cliente USB).
- Escreva, compile e instale seu primeiro driver cliente USB usando os modelos USB incluídos no Visual Studio 2012. O desenvolvedor deve ser capaz de descrever objetos de framework, driver, dispositivo e fila, e entender como o framework 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 do 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 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 que ajuda a entender a implementação da pilha de driver, a resolver problemas comuns e a 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, aprenda sobre exemplos de driver do Windows.