Подскажите пожалуйста, где найти информацию по написанию дров под USB. Немного не понятна сама схема работы:
Есть микроконтроллер непрошитый и кампутер без дров. Если я правильно понимаю, то дрова должны определять нужный порт и прерывание USB-хоста в компьютере, затем узнать у него номер устройства USB и записывать в порт информацию, но тогда непонятно, что нужно прошить в микроконтроллер???
Здравствуйте, TSI, Вы писали:
TSI>Есть микроконтроллер непрошитый и кампутер без дров. Если я правильно понимаю, то дрова должны определять нужный порт и прерывание USB-хоста в компьютере, затем узнать у него номер устройства USB и записывать в порт информацию, но тогда непонятно, что нужно прошить в микроконтроллер???
Не знаю, что ты имел в виду, под "определить нужные порт и прерывание", но когда ты подключаешь к компьютеру USB-устройство, происходит в общих чертах следующее:
1) Винды посылают устройству запрос о конфигурации (интерфейсы/конечные точки и т.д). Формат стандартный. Насколько я понимаю, этот запрос обрабатывает как раз МК.
2) Когда вся информация собрана (Виндами), они грузят драйвер или (если ты воткнул устройство впервые) предлагают тебе поставить драйвер.
3) После этого ты из своего клиентского приложения читаешь / пишешь и т.д.
В МК прошивается программа, которая реализует логику работы платы или что там у тебя за железка. То есть. послал ты 10, 20, 30 из приложения в USB для этого устройства, устройство их получило (дай бог ), а дальше то что? Соответственно в МК должна сидеть программа, которая при получении этой волшебной комбинации пошлёт юзера куда-нибудь подальше, чтобы не баловался .
Вообще геморрой это полнейший. Так что если спрашиваешь не из чистого любопытства, ТЫ ПОПАЛ ) .
TSI>Подскажите пожалуйста, где найти информацию по написанию дров под USB.
ХЗ!!! Я сначала прочёл книгу Art'а Baker'а "Device Driver Book", а потом описание к Numega DriverStudio. На основании этого написал драйверок. В общем и целом даже работает. Но вообще это напоминает мотогонки в японском городе Таяма-Таканава . Да, ещё есть кое-что полезное в "USB Design By Example", автор John Hyde.
Если тебе это действительно нужно, пиши, расскажу поподробнее, что знаю.
Спасибо за то, что обратили внимание на мой вопрос. Забыл сказать — конечно под винду (2к), да вот к сожалению, спрашиваю действительно не из любопытства. А вот если избежать драйвера и настройки протоколов, а просто при подключении непрошитого устройства, определить его номер и напрямую писать в порт USB-хоста? Только как-то надо выяснить какой порт отвечает за какой поток данных, и какой номер присвоен устройству. Это реально?
Здравствуйте, TSI, Вы писали:
TSI>Спасибо за то, что обратили внимание на мой вопрос. Забыл сказать — конечно под винду (2к), да вот к сожалению, спрашиваю действительно не из любопытства. А вот если избежать драйвера и настройки протоколов, а просто при подключении непрошитого устройства, определить его номер и напрямую писать в порт USB-хоста? Только как-то надо выяснить какой порт отвечает за какой поток данных, и какой номер присвоен устройству. Это реально?
Боюсь, что нет . Пусть меня поправят, если ошибаюсь, (сам занимаюсь этим недавно), но, по-моему, это абсолютно нереально. Хотя бы потому, что устройству присваивается номер только ПОСЛЕ того, как загружен для него драйвер . Так что ну никак без него, родимого, не получится
RB> Хотя бы потому, что устройству присваивается номер только ПОСЛЕ того, как загружен для него драйвер . Так что ну никак без него, родимого, не получится
PID/VID жестко зашиты в устройстве, а function address (номер устройства на шине) присваивается при подключении к хабу (но до загрузки драйвера).
Здравствуйте, .h, Вы писали:
.h>PID/VID жестко зашиты в устройстве, а function address (номер устройства на шине) присваивается при подключении к хабу (но до загрузки драйвера).
Упс ... лажанулся
Re: Драйвер USB
От:
Аноним
Дата:
19.09.03 03:18
Оценка:
Здравствуйте, TSI, Вы писали:
TSI>Здравствуйте!
TSI>Подскажите пожалуйста, где найти информацию по написанию дров под USB. Немного не понятна сама схема работы: TSI>Есть микроконтроллер непрошитый и кампутер без дров. Если я правильно понимаю, то дрова должны определять нужный порт и прерывание USB-хоста в компьютере, затем узнать у него номер устройства USB и записывать в порт информацию, но тогда непонятно, что нужно прошить в микроконтроллер???
TSI>Благодарю. Удачи!
Programming the Microsoft Windows Driver Model, Second Edition,
Walter Oney, Microsoft Press.
После пары месяцев изучения этой книги и после установки Windows 2000 DDK и чтения документации оттуда можеш приступать.