Compartir a través de


Primeros pasos para el desarrollo de controladores de cliente USB

En esta sección se presentan los conceptos y herramientas de desarrollo de controladores USB. La sección se aplica a los desarrolladores nuevos en el desarrollo de controladores que desean implementar un controlador para un dispositivo USB para el que Microsoft no proporciona un controlador integrado. Estos controladores se denominan controlador de cliente USB en esta documentación. En los temas de esta sección se describen los conceptos de USB de alto nivel y se proporcionan instrucciones paso a paso sobre cómo realizar tareas comunes de un controlador de cliente USB. Para obtener información detallada sobre esos conceptos, consulte Especificaciones USB en documentos USB.

Los desarrolladores de controladores deben tener experiencia de codificación en el lenguaje de programación C++ y comprender los conceptos de punteros de función, funciones de devolución de llamada y manejadores de eventos. Si escribe un controlador basado en User-Mode Driver Framework, el desarrollador debe estar familiarizado con C++ y COM.

Ruta de aprendizaje para desarrolladores de controladores de cliente USB

  1. Lea la especificación USB 3.2.

    • Obtenga información sobre la especificación del sector y los distintos componentes (dispositivo, controlador de host y concentrador) de la arquitectura. Es importante comprender el modelo de flujo de datos, cómo se comunica el host y el dispositivo entre sí y el formato de las solicitudes que espera el dispositivo.
  2. Obtenga un dispositivo USB de prueba.

    • Tener un dispositivo USB y su especificación de hardware. La especificación describe las funcionalidades del dispositivo y los comandos de proveedor admitidos. Use la especificación para determinar la funcionalidad del controlador de dispositivo y las decisiones de diseño relacionadas.

    • Considere tener el kit de aprendizaje USB FX2 de OSR si es nuevo en el desarrollo de controladores USB. El kit es el más adecuado para estudiar muestras USB incluidas en este conjunto de documentación.

    • Tenga un dispositivo "Microsoft USB Test Tool" (MUTT). El hardware MUTT se puede comprar desde JJG Technologies. El dispositivo no tiene firmware instalado. Para instalar el firmware, descargue el paquete de software MUTT. Para obtener más información, consulte la documentación incluida con el paquete.

  3. Estudie el diseño del dispositivo USB y los descriptores USB relacionados.

    • Describa las funcionalidades del dispositivo leyendo el descriptor de configuración, los descriptores de interfaz para cada configuración alternativa admitida y sus descriptores de punto de conexión. Mediante USBView, el desarrollador puede examinar todos los controladores USB y los dispositivos USB conectados a ellos e inspeccionar también la configuración del dispositivo.
  4. Elección de un modelo de controlador para desarrollar un controlador de cliente USB

    • Determine si el controlador debe ser un controlador personalizado o usar uno de los controladores proporcionados por Microsoft en función del diseño del dispositivo de destino. Elija el mejor modelo de controlador y describa las características compatibles con cada modelo.
  5. Revise la pila de controladores USB y los conceptos de desarrollo de controladores proporcionados por Microsoft.

  6. Prepare el entorno de desarrollo y depuración.

  7. Escribe tu primer controlador.

  8. Amplíe el controlador mediante el envío de una solicitud de transferencia de control USB.

  9. Amplíe el controlador para usar objetos de destino de E/S USB de WDF para realizar transferencias de datos USB.

Recursos de la comunidad para USB