Первые шаги по разработке драйвера USB-клиента
В этом разделе приводятся основные понятия и средства разработки драйверов USB. Этот раздел относится к разработчикам, новым для разработки драйверов, которые хотят реализовать драйвер для USB-устройства, для которой корпорация Майкрософт не предоставляет встроенный драйвер. Эти драйверы называются драйвером USB-клиента в этой документации. В разделах этого раздела описываются высокоуровневые понятия USB и пошаговые инструкции по выполнению распространенных задач драйвера USB-клиента. Подробные сведения об этих понятиях см. в спецификациях USB в USB-документах.
Разработчики драйверов должны иметь опыт программирования на языке программирования C++ и понимать понятия указателей функций, функций обратного вызова и обработчиков событий. При написании драйвера на основе среда выполнения платформы драйвера режима пользователя разработчику необходимо ознакомиться с C++ и COM.
Обучение пути для разработчиков драйверов USB-клиента
Ознакомьтесь со спецификацией USB 3.2.
- Сведения о спецификации отрасли и различных компонентах (устройства, контроллере узла и концентраторе) архитектуры. Важно понять модель потока данных, как узел и устройство взаимодействуют друг с другом, а также формат запросов, которые ожидает устройство.
Получите тестовое USB-устройство.
Устройство USB и его спецификация оборудования. Спецификация описывает возможности устройств и поддерживаемые команды поставщика. Используйте спецификацию для определения функциональности драйвера устройства и связанных решений по проектированию.
При разработке usb-драйвера OSR USB FX2. Набор наиболее подходит для изучения примеров USB, включенных в этот набор документации.
Устройство Microsoft USB Test Tool (MUTT). Оборудование MUTT можно приобрести с помощью JJG Technologies. Устройство не установлено встроенное ПО. Чтобы установить встроенное ПО, скачайте пакет программного обеспечения MUTT. Дополнительные сведения см. в документации, включенной в пакет.
Изучите макет USB-устройства и связанные дескрипторы USB.
- Опишите возможности устройства, считывая дескриптор конфигурации, дескрипторы интерфейса для каждого поддерживаемого альтернативного параметра и дескрипторы конечных точек. С помощью USBView разработчик может просматривать все USB-контроллеры и USB-устройства, подключенные к ним, а также проверять конфигурацию устройства.
Выбор модели драйверов для разработки драйвера USB-клиента
- Определите, должен ли драйвер быть пользовательским драйвером или использовать один из предоставленных Корпорацией Майкрософт драйверов на основе дизайна целевого устройства. Выберите лучшую модель драйвера и опишите функции, поддерживаемые каждой моделью.
Ознакомьтесь с основными понятиями разработки драйверов и драйверов, предоставляемых Корпорацией Майкрософт.
- Драйверы на стороне USB в Windows.
- Основные понятия для всех разработчиков драйверов.
- Основные понятия для всех разработчиков USB.
- Узлы устройств и стеки устройств.
- Разработка драйверов с помощью Windows Driver Foundation написана Пенни Орвик и Гай Смит. Дополнительные сведения см. в статье "Разработка драйверов с помощью WDF".
- Примеры USB-драйвера.
- Основные сведения о работе драйверов в операционных системах Windows. Знание основных принципов поможет принять соответствующие решения по проектированию и оптимизировать процесс разработки.
- Различие между моделями архитектуры драйверов в режиме пользователя и режима ядра.
- Сведения о загрузке драйверов и организации устройств windows самонастраивающийся (PnP) на узлах дерева устройств и устройств. Разработчик также должен понять, как диспетчер PnP создает стеки устройств и где драйвер и его объекты устройства помещаются в стек устройств.
Подготовьте среду разработки и отладки.
- Установите последнюю версию комплекта драйверов Windows (WDK).
- Установите Microsoft Visual Studio.
- Получите настройку для отладки.
- Убедитесь, что доступны заголовки и библиотеки, необходимые драйвером USB-клиента .
- При написании отладки драйвера в режиме ядра на узлах и целевых компьютерах через сеть Ethernet, кабель 1394, USB 2.0 или 3.0 отладочный кабель или кабель с null-модемом необходимо настроить.
- При написании драйвера пользовательского режима отладчики пользовательского режима доступны в среде Microsoft Visual Studio. Разработчик должен знать, как присоединиться к процессу или запустить процесс под отладчиком.
Напишите свой первый драйвер.
- Как написать первый USB-драйвер клиента (KMDF).
- Как написать первый USB-драйвер клиента (UMDF).
- Запись, сборка и установка первого драйвера USB-клиента с помощью шаблонов USB, включенных в Visual Studio 2012. Разработчик должен описать драйвер платформы, объекты устройства и очереди и понять, как платформа взаимодействует с драйвером.
Расширьте драйвер, отправив запрос на передачу USB-элемента управления.
- Отправьте стандартные запросы управления и команды поставщика на устройство. Дополнительные сведения см. в статье "Отправка передачи USB-элемента управления".
Расширьте драйвер, чтобы использовать целевые объекты WDF USB-ввода-вывода для передачи данных USB.
- Расширьте драйвер для выполнения распространенных задач, как описано в общих задачах для драйверов USB-клиента.
Ресурсы сообщества для USB
Блог группы microsoft Windows USB Core
Ознакомьтесь с записями, написанными microsoft USB Team. Блог посвящен стеку USB-драйверов Windows, который работает с различными контроллерами USB-узла и USB-концентраторами, найденными на компьютере с Windows. Полезный ресурс для разработчиков драйверов USB и usb-разработчиков оборудования понимают реализацию стека драйверов, устраняют распространенные проблемы и объясняют, как использовать средства для сбора трассировок и файлов журналов.
-
Список обсуждений, управляемый OSR Online для разработчиков драйверов в режиме ядра.
Разработка оборудования в Центре разработки для Windows
Комплект драйверов Windows, убедитесь, что продукт является надежным и совместимым с Windows с помощью комплекта лабораторий оборудования Windows, изучите примеры драйверов Windows.