![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Кто-нить может объяснить как написать драйверок к устройству (собранному мною на контроллере) под WinXP?
Вопрос очень общий, но честно говоря я не знаю ничего об этом кроме того что: 1) это делается в DDK (на базе примеров) 2) это делается на С 3) представляю себе USB аппаратно СУВ. ЗЫ. До сих пор я знаю только одного человека который сделал это и оно работало. Но к сожалению он теперь в другом городе.... -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Если в инете нет конкретно по USB, то теория создания драверов под COM есть точно, почитай-подумай.
ИМХО Ведь основная черта USB - это высокоскоростной канал и надежность + хорошая запитка электронного приложения. Если я не ошибаюсь, то принцип везде один - обработка прерываний - а это по сути примитивнейшая вещь. Но все равно х.з. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Я тоже. 1. Что за устройство? Совсем низкоскоростное или хотя бы несколько Kb/Sec? Со стороны микроконтроллера что-то реализовано или еще нет ничего? Реализовано программно или стоит отдельный USB контроллер? USB 1.1 или USB 2.0? Если USB 2.0, то low, full или high speed? 2. По какому протоколу с ним надо общаться? Bulk или Isochronous? Когда объяснишь, тогда можно будет чего-то посоветовать. С приветом -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Ага!!!
Итак, есть AVR с USB интерфейсом (т.е. все в одном ,раньше пробовал на USBN9603, но проект замяли, теперь делаю на AVR). Скорость full (12Mb, т.е. 1.1). В принципе Isochronous не нужен (слишком быстрой реакции не требуется), требуется передавать около 300байт от контроллера в компьютер раз 20 в секунду. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Вот последующий ответ sergeeff'a (кстати он пару раз на форуме кое-что поспрашивал
http://forum.vingrad.ru/index.php?showtopic=20027 http://forum.vingrad.ru/index.php?showtopic=1062 и понял что ему никто из присутствующих помочь не может, форумом с того времени он не пользовался): Порядок действий таков. 1. Необходимо, чтобы твой AVR полностью обеспечил стандартный протокол USB в соответствии с главой 9. Если ты зайдешь на www.usb.org там есть специальная тестовая программа, которая обеспечивает тестирование твоего устройства. Тонкости этого тестирования - на твоем компере должен быть hi-speed USB2.0 hub. Если его нет, надо ставить карту с hi-speed USB. И в нее втыкать внешний hi-speed USB hub, а уже в него твое устройство. 2. Дальше берешь DDK для XP (лучше последний sp1). Там в разделе примеров в wdm есть образцы драйверов для USB. Выбираешь тот, который bulk. 3. В DDK есть срециальная программа, которая генерит уникальный GUID. Сгенери с ее помощью себе этот длиннющий номер. Этот номер вставишь в DDK'ашный пример драйвера. Там он прописан через define. 4. Генеришь драйвер обычным образом. 5. Берешь образец inf файла для USB. В нем подправляешь GUID и прописываешь те же VID и PID, которые прописаны в device descriptor твоего AVR USB. 6. Если твое железо работает правильно, то при его подключении к комперу сработает механизм PNP и компер потребует указать откуда установить драйвер. Всякие красивые штучки типа USB Monitor что-то полезное показывают, только если система подцепляет правильно твое устройство. Теперь остается разобраться с тем, как написать стандартные вызовы типа CteateFile, ReadFile, WriteFile и CloseFile. Это в Inet'e можно разыскать, хотя это делается несовсем тривиально. Тогда сможешь читать-писать туда-сюда. Ну вот и все. Успехов. Я в этом деле полный лох и лично ничего подсказать не могу. Ты это... Успехов! -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Спасибо.
Значится так: 1) скачал: USBCV R1.2.1 (only for hi-speed USB hubs) действительно требует именно высокоскоростной хаб. 2) DDK есть только для 2000. На сайте Microsoft DDK для XP не нашел. Или его на горбушке купить проще? 3) Это понял. 4) Вот видимо с этим пунктом придется еще позадавать вопросы, когда появится DDK. 5) inf файл нужно создавать для каждого устройства USB? Т.е. писать драйвер для каждого устройства USB с соотв. inf файлом? с CreateFile WriteFile ReadFile видимо несколько позже придется возиться. Главное чтобы под Delphi можно было это делать, т.к. я на С пишу только для контроллеров. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 4 Всего: 47 |
PILOT
Есть пример, драйвера USB устройства (Bulk). Не знаю, поможет или нет, но могу скинуть. Тут все DDK |
|||
|
||||
| cardinal |
|
||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Пойдет и 2000.
Да. Но на самом деле там только PID, VID и GUID поменять надо. Ну и прописать название своей фирмы (твой ник
Ну и тут писать это громко сказано. Там только GUID соответствующий подставить надо и имя .sys файла поменять. А насчет Delphi - это все стандартные функции открытия файла поэтому без разницы. Кое что из описанного можно сделать по другому, но у меня не дошли до этого руки Это был не я. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||
|
|||||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Нет, стоп! Этот DDK не пойдет. Нужен XP'шный! -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Скачал DDK, скачал тестовые программы для USB.
Не могу узнать максимальную скорость USB (т.е. поддерживает ли моя плата hi-speed) в спецификации на материнку написано USB 2.0, но не факт что hi-speed. Теперь я так думаю нужна ссылка (информация) по форматам передачи, по последовательности выполняемых операций при включении устройства (последовательности запросов-ответов). СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 1 Всего: 99 |
Ну, помоему, на www.usb.org вся остальная инфа должны быть... Или тут например:
http://www.usb.org/developers/usbfaq/ -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Узнал. Hi-speed (400 c лишним Мб\с) присутствует... это радует.
Использую микросхему AT43USB355. Скачал спецификации (пока на 1.1, чтобы не знать лишнего о 2.0). Вспоминаю что к чему... СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
PILOT а можно полюбопытствовать, что сподвигло на такой подвиг? Раз ты говоришь, что тебе скорость большая не нужна, то почему не обойтись простым 232-ым?..
Сам полгода назад подумывал над подобной заварухой, но решил, что незачем пока что. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
RS-232 отсутствует в ноутбуках.
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
ВО-как! Странно, но у нас личности ходят с ноутбукам по производствам, в том числе и мои программы на них работают... |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Ну может только на старых ноутах. Потому что на новых бывает и нет. А использование FTDI хоть и привлекает своей простотой но требует установки стороннего драйвера. Да и стоимость около 10-11 долларов тоже не нравится.
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Видимо старый ноутбук. В последних в основном нет ни КОМ пи ЛПТ, есть толеко несколько ЮСБ ну и выход на моник, сетевуха модемем и блютус.
|
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
А я как сказал? СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Cheshuya |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 29.7.2004 Репутация: нет Всего: нет |
получил роотовый хаб с помощью QueryDosDevice USB#ROOT_HUB#4&293b228e&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Подскажите как его подставить в CreateFile Спасибо. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |