Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
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.
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.
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.
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.
Revise la pila de controladores USB y los conceptos de desarrollo de controladores proporcionados por Microsoft.
- Controladores del lado host USB en Windows.
- Conceptos para todos los desarrolladores de controladores.
- Conceptos para todos los desarrolladores usb.
- Nodos de dispositivo y pilas de dispositivos.
- Desarrollar controladores con Windows Driver Foundation: Libro de referencia de Penny Orwick y Guy Smith.
- Ejemplos de controladores USB.
- Comprenda los aspectos básicos de cómo funcionan los controladores en los sistemas operativos Windows. Conocer los aspectos básicos ayudará a tomar decisiones de diseño adecuadas y a simplificar el proceso de desarrollo.
- Diferencie entre los modelos de arquitectura del controlador de modo de usuario y del modo kernel.
- Entienda la carga de controladores y cómo Windows organiza los dispositivos Plug and Play (PnP) en un árbol de dispositivos y nodos de dispositivos. El desarrollador también debe comprender cómo el administrador de PnP compila pilas de dispositivos y dónde se colocan el controlador y sus objetos de dispositivo en la pila de dispositivos.
Prepare el entorno de desarrollo y depuración.
- Instale el kit de controladores de Windows (WDK) más reciente.
- Instale Microsoft Visual Studio.
- Get Set Up for Debugging (Configurar para depuración).
- Asegúrese de que las cabeceras y las bibliotecas requeridas por un controlador USB de cliente están disponibles.
- Si está escribiendo la depuración de un controlador en modo kernel en equipos host y de destino a través de una red Ethernet, un cable 1394, un cable de depuración USB 2.0 o 3.0, o un cable de módem nulo, se debe configurar.
- Si está escribiendo un controlador en modo de usuario, puede utilizar los depuradores en modo de usuario disponibles en el entorno de Microsoft Visual Studio. El desarrollador debe estar familiarizado con cómo asociarse a un proceso o iniciar un proceso en el depurador.
Escribe tu primer controlador.
- Cómo escribir su primer controlador de cliente USB (KMDF).
- Cómo escribir el primer controlador de cliente USB (UMDF).
- Escriba, compile e instale el primer controlador de cliente USB mediante las plantillas USB incluidas con Visual Studio 2012. El desarrollador debe poder describir los objetos del entorno: driver, dispositivo y cola, y comprender cómo el entorno se comunica con el driver de su equipo.
Amplíe el controlador mediante el envío de una solicitud de transferencia de control USB.
- Envíe solicitudes de control estándar y comandos de proveedor al dispositivo. Para obtener más información, vea Cómo enviar una transferencia de control USB.
Amplíe el controlador para usar objetos de destino de E/S USB de WDF para realizar transferencias de datos USB.
- Amplíe el controlador para realizar tareas comunes como se describe en Tareas comunes para controladores de cliente USB.
Recursos de la comunidad para USB
Blog del equipo de Microsoft Windows USB Core
Consulte las publicaciones escritas por el equipo USB de Microsoft. El blog se centra en la pila de controladores USB de Windows que funciona con varios controladores de host USB y hubs USB que se encuentran en ordenadores Windows. Un recurso útil para desarrolladores de controladores de cliente USB y diseñadores de hardware USB para que comprendan la implementación de la pila de controladores, resuelvan problemas comunes y expliquen cómo usar herramientas para recopilar seguimientos y archivos de registro.
-
Lista de discusión administrada por OSR Online para desarrolladores de controladores en modo kernel.
Windows Dev-Center para el desarrollo de hardware
Kit de controladores de Windows, asegúrese de que el producto sea confiable y compatible con Windows a través del Kit de laboratorio de hardware de Windows, obtenga información sobre ejemplos de controladores de Windows.