Первые шаги по разработке драйвера USB-клиента
В этом разделе рассматриваются основные понятия и средства разработки драйверов USB. Этот раздел относится к разработчикам, новым в разработке драйверов, которые хотят реализовать драйвер для USB-устройства, для чего корпорация Майкрософт не предоставляет встроенный драйвер. В этой документации эти драйверы называются драйвером USB-клиента . В разделах этого раздела описываются высокоуровневые понятия USB и приводятся пошаговые инструкции по выполнению распространенных задач драйвера USB-клиента. Подробные сведения об этих понятиях см. в разделе Спецификации USB в документации по USB.
Разработчики драйверов должны иметь опыт написания кода на языке программирования C++ и понимать основные понятия указателей функций, функций обратного вызова и обработчиков событий. При написании драйвера на основе User-Mode Driver Framework разработчик должен быть знаком с C++ и COM.
Схема обучения для разработчиков драйверов USB-клиента
Ознакомьтесь со спецификацией USB 3.2.
- Узнайте о спецификации отрасли и различных компонентах (устройство, контроллер узла и концентратор) архитектуры. Важно понимать модель потока данных, то, как узел и устройство взаимодействуют друг с другом, а также формат запросов, ожидаемых устройством.
Получите тестовое USB-устройство.
У вас есть USB-устройство и его спецификация оборудования. Спецификация описывает возможности устройства и поддерживаемые команды поставщика. Используйте спецификацию для определения функциональных возможностей драйвера устройства и связанных проектных решений.
Запустите комплект обучения OSR USB FX2, если он еще не используется для разработки драйверов USB. Комплект лучше всего подходит для изучения примеров USB, включенных в этот набор документации.
У вас есть устройства Microsoft USB Test Tool (MUTT). Оборудование MUTT можно приобрести у JJG Technologies. На устройстве не установлено встроенное ПО. Чтобы установить встроенное ПО, скачайте пакет программного обеспечения MUTT. Дополнительные сведения см. в документации, включенной в пакет .
Изучите макет USB-устройства и связанные дескрипторы USB.
- Опишите возможности устройства, считывая дескриптор конфигурации, дескрипторы интерфейса для каждого поддерживаемого альтернативного параметра и их дескрипторы конечных точек. С помощью USBView разработчик может просматривать все USB-контроллеры и подключенные к ним USB-устройства, а также проверять конфигурацию устройства.
Выбор модели драйвера для разработки драйвера USB-клиента
- Определите, должен ли драйвер быть пользовательским драйвером, или используйте один из драйверов, предоставляемых корпорацией Майкрософт, на основе структуры целевого устройства. Выберите лучшую модель драйвера и опишите функции, поддерживаемые каждой моделью.
Ознакомьтесь со стеком USB-драйверов и концепциями разработки драйверов, предоставляемыми корпорацией Майкрософт.
- Драйверы USB на стороне узла в Windows.
- Основные понятия для всех разработчиков драйверов.
- Основные понятия для всех разработчиков USB.
- Узлы устройств и стеки устройств.
- Разработка драйверов с помощью Windows Driver Foundation , написанная Пенни Орвик и Гай Смит. Дополнительные сведения см. в разделе Разработка драйверов с помощью WDF.
- Примеры usb-драйверов.
- Понимание основ работы драйверов в операционных системах Windows. Знание основ поможет принять соответствующие проектные решения и упростить процесс разработки.
- Различать модели архитектуры драйвера в пользовательском режиме и режиме ядра.
- Сведения о загрузке драйверов и о том, как Windows упорядочивает устройства Plug and Play (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. В этом блоге основное внимание уделяется стеку драйверов WINDOWS, который работает с различными USB-контроллерами и USB-концентраторами на компьютере с Windows. Полезный ресурс для разработчиков драйверов USB-клиента и разработчиков оборудования USB понимают реализацию стека драйверов, устраняют распространенные проблемы и объясняют, как использовать средства для сбора трассировок и файлов журналов.
-
Список обсуждений, управляемый OSR Online для разработчиков драйверов в режиме ядра.
Windows Dev-Center для разработки оборудования
Комплект драйверов Для Windows, убедитесь, что ваш продукт является надежным и совместимым с Windows с помощью комплекта средств лаборатории оборудования Для Windows. Ознакомьтесь с примерами драйверов Для Windows.
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по