Как реализовать драйвер USB-устройства для Windows?

Для разработки я обычно использую виртуальную машину Linux на своей Windows-машине. Вероятно, он отправит пользователей Linux, бегущих в ванную, чтобы помыть руки, но я делаю всю свою разработку в Visual Studio, и у меня есть собственный плагин Visual Studio, который вызывает G ++ через виртуальную машину и передает вывод в окно вывода VS , С помощью быстрой смены поля со списком я могу собрать и протестировать Windows или Linux.

11
задан SomeWittyUsername 7 November 2012 в 13:50
поделиться

3 ответа

1
ответ дан 3 December 2019 в 07:38
поделиться

Нам нужна дополнительная информация об устройстве, чтобы указать вам правильное направление, но вот несколько шагов, которые помогут вам начать:

  • зарегистрируйтесь в Microsoft Connect, чтобы вы могли загрузить Windows Driver Kit.
  • Зарегистрируйтесь на osr-online , так как вы найдете отличные статьи, много информации и группу новостей, посвященную только драйверам Windows - - это золотая жила
  • покупка Разработка драйверов с помощью WDF , которая поможет вам разобраться в разработке драйверов для Windows и даст вам хорошую основу для чтения статей OSR и Microsoft
  • Надеюсь, что вы можете использовать UMDF (драйверы пользовательского режима), так как вы можете использовать C ++ и просто писать код COM. Если вы делаете что-то с USB, для чего требуется место в ядре ... вам нужно много читать и учиться в следующем году!

Чтобы ответить на ваш вопрос о версиях, в наборе драйверов есть инструменты, которые поможет вам управлять созданием различных драйверов. Если напишете хороший драйвер, он должен работать на всех трех ОС без проблем, и различия будут только в области конфигурации (не в двоичном файле)

В основном, это зависит от сложности вашего устройства. Какой тип драйвера вы пытаетесь написать? Файловая система? Мп3-плеер? Камера? Модем?

Если вам придется писать драйвер режима ядра, дайте мне знать, и я могу указать вам на несколько хороших статей, а что нет.

Я также должен добавить, что примерно за 5 000 долларов США вы можете купить лицензию на WinDriver , инструмент, который избавляет от всех трудностей при разработке драйверов. Вы можете использовать код пользовательского режима C ++ или C # для связи с их драйвером, созданным специально для вашего устройства. Это лучший вариант, если у вас сжатые сроки.

это зависит от сложности вашего устройства. Какой тип драйвера вы пытаетесь написать? Файловая система? Мп3-плеер? Камера? Модем?

Если вам придется писать драйвер режима ядра, дайте мне знать, и я могу указать вам на несколько хороших статей, а что нет.

Я также должен добавить, что примерно за 5 000 долларов США вы можете купить лицензию на WinDriver , инструмент, который избавляет от всех трудностей при разработке драйверов. Вы можете использовать код пользовательского режима C ++ или C # для связи с их драйвером, созданным специально для вашего устройства. Это лучший вариант, если у вас сжатые сроки.

это зависит от сложности вашего устройства. Какой тип драйвера вы пытаетесь написать? Файловая система? Мп3-плеер? Камера? Модем?

Если вам придется писать драйвер режима ядра, дайте мне знать, и я могу указать вам на несколько хороших статей, а что нет.

Я также должен добавить, что примерно за 5 000 долларов США вы можете купить лицензию на WinDriver , инструмент, который избавляет от всех трудностей при разработке драйверов. Вы можете использовать код пользовательского режима C ++ или C # для связи с их драйвером, созданным специально для вашего устройства. Это лучший вариант, если у вас сжатые сроки.

Я также должен добавить, что примерно за 5 000 долларов США вы можете купить лицензию на WinDriver , инструмент, который избавляет от всех трудностей при разработке драйверов. Вы можете использовать код пользовательского режима C ++ или C # для связи с их драйвером, созданным специально для вашего устройства. Это лучший вариант, если у вас сжатые сроки.

Я также должен добавить, что примерно за 5 000 долларов США вы можете купить лицензию на WinDriver , инструмент, который избавляет от всех трудностей при разработке драйверов. Вы можете использовать код пользовательского режима C ++ или C # для связи с их драйвером, созданным специально для вашего устройства. Это лучший вариант, если у вас сжатые сроки.

12
ответ дан 3 December 2019 в 07:38
поделиться

Если у вас есть какая-то форма контроля над устройством, пусть оно реализует интерфейс, для которого Windows уже предоставляет драйверы. Например, класс USB HID (буквально «Человеко-вводное устройство», но ни «Человек», ни «Ввод» не являются обязательными) уже имеет драйверы Windows, и есть разумный Win32 API поверх. Однако вы не получите скорости передачи данных даже близко к 480 Мбит / с.

1
ответ дан 3 December 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: