Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção apresenta conceitos e ferramentas de desenvolvimento de drivers USB. A seção aplica-se a desenvolvedores que são novos no desenvolvimento de drivers e 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 de 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 de cliente USB. Para obter informações detalhadas sobre esses conceitos, consulte Especificações USB em Documentos 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 escrevendo um driver com base no User-Mode Driver Framework, o desenvolvedor deve estar familiarizado com C++ e COM.
Caminho de aprendizagem para desenvolvedores de drivers de cliente USB
Leia a especificação USB 3.2.
- Saiba mais sobre as especificações do setor e os diferentes componentes (dispositivo, controlador 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.
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 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 aprendizagem OSR USB FX2 se for 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 Microsoft USB Test Tool (MUTT). O hardware MUTT pode ser adquirido na JJG Technologies. O dispositivo não tem firmware instalado instalado. Para instalar o firmware, faça o download do pacote de software MUTT. Para obter mais informações, consulte a documentação incluída com o 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 suportada e seus descritores de ponto final. Usando 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.
Escolha 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 suportados por cada modelo.
Reveja a pilha de drivers USB fornecida pela Microsoft e os conceitos de desenvolvimento de drivers.
- Drivers USB do lado do host no Windows.
- Conceitos para todos os desenvolvedores de drivers.
- Conceitos para todos os desenvolvedores USB.
- Nodos e pilhas de dispositivos.
- Desenvolvendo drivers com o Windows Driver Foundation: Livro de referência por Penny Orwick e Guy Smith.
- Amostras de controladores USB.
- Entenda os fundamentos de como os drivers funcionam em sistemas operacionais Windows. Conhecer os fundamentos ajudará a tomar decisões de design adequadas e a agilizar o processo de desenvolvimento.
- Diferencie entre o modo de usuário e os modelos de arquitetura de driver do modo kernel.
- Compreenda o carregamento de drivers e como o Windows organiza dispositivos Plug and Play (PnP) numa árvore de dispositivos e nódulos 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 de dispositivos.
Preparar o ambiente de desenvolvimento e depuração.
- Instale o Kit de Driver do Windows (WDK) mais recente.
- Instale o Microsoft Visual Studio.
- Prepare-se para depuração.
- Verifique se os cabeçalhos e bibliotecas exigidos por um driver de cliente USB estão disponíveis.
- Se estiver a escrever um driver de modo kernel para depuração em computadores host e de destino através de uma rede Ethernet, é necessário configurar um cabo 1394, um cabo de depuração USB 2.0 ou 3.0, ou um cabo de modem nulo.
- Se estiveres a escrever um driver em modo utilizador, estão disponíveis depuradores em modo utilizador no ambiente do Microsoft Visual Studio. O desenvolvedor deve estar familiarizado em como ligar a um processo ou iniciar um processo no depurador.
Escreva o seu primeiro driver.
- Como escrever seu primeiro driver de cliente USB (KMDF).
- Como escrever seu primeiro driver de cliente USB (UMDF).
- Escreva, crie 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 o driver da estrutura, o dispositivo e os objetos de fila e entender como a estrutura se comunica com seu driver.
Estenda seu driver enviando uma solicitação de transferência de controle USB.
- Envie solicitações de controle padrão e comandos do fornecedor para o seu dispositivo. Para obter mais informações, consulte Como enviar uma transferência de controle USB.
Estenda seu driver para usar objetos de destino WDF USB I/O 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 principal do Microsoft Windows USB
Confira os posts escritos pela Equipe USB da Microsoft. O blog se concentra na pilha de drivers USB do Windows que funciona com vários controladores host USB e hubs USB encontrados no Windows PC. Um recurso útil para desenvolvedores de driver de cliente USB e designers de hardware USB para entenderem a implementação da pilha de drivers, resolver problemas comuns e explicar como usar ferramentas para coletar rastreamentos e arquivos de log.
-
Lista de discussão gerenciada pelo OSR Online para desenvolvedores de drivers de modo kernel.
Windows Dev-Center para desenvolvimento de hardware
Windows Driver Kit, certifique-se de que seu produto é confiável e compatível com o Windows através do Windows Hardware Lab Kit, aprenda exemplos de driver do Windows.