Russian Qt Forum
Ноябрь 27, 2024, 07:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как работать с USB и что такое драйвер.  (Прочитано 8814 раз)
niktagor
Гость
« : Август 16, 2010, 13:19 »

 Добрый день. Ситуация такая. Имеется USB - устройство, к которому прилагается программа от разработчика. Программа без открытого кода, не использует все возможности устройства. Решено писать програмку самостоятельно.
 К устройству прилагается описание, в котором есть список всех оконечных точек, форматы пакетов и.т.д. Этой информации должно быть достаточно для написания своего драйвера. Вопрос такой. Могу ли я непосредственно обращаться к этим точкам, записывать туда и принимать информацию? Если да, то как это сделать? Операционная система - любая, хотя желательно Windows.
 Вместе с программой от разработчика устанавливается драйвер. На него никакого описания нет. Может быть можно как-то связаться с драйвером и забыть про все эти точки? Я до конца не понимаю, что такое драйвер и чем он отличается от программы, с которой работает пользователь при взаимодействии с устройством. Если объясните - буду очень благодарен. Википедия понять не помогла.
 В идеале - хочется взаимодействие с устройством полностью контроллировать, то есть использовать все эти оконечные точки, так как скорость передачи данных должна быть достаточно большая - 10 МБ/с, есть вероятность, что производители именно на этом этапе накосячили, и поэтому не все возможности используются.
 В общем, проблему я описал, может возникнут какие-то идеи по поводу других путей решения. С радостью выслушаю все советы. Спасибо всем, кто откликнется.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Август 16, 2010, 13:46 »

http://ru.wikipedia.org/wiki/Драйвер
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Август 16, 2010, 23:24 »

Рассказали бы что за устройство, дали бы ссылку на производителя.
Записан
niXman
Гость
« Ответ #3 : Август 16, 2010, 23:25 »

Цитировать
Я до конца не понимаю, что такое драйвер и чем он отличается от программы
драйвер работает в kernel-mode. он предоставляет API для user-mode, посредством которого, программа, может общаться с девайсом.
писать драйвер, очень не просто. помимо программирования, нужно обладать знаниями принципов_обмена/бинарных_протоколов/блокировок_портов и еще кучу всякой крени.

простой выход - использовать драйвер от разработчика. точнее предоставляемое им API.
если интересно как это можно сделать и есть _стойкое_желание_ реализовать задумку - ответь. чтоб я не зря распинался.
Записан
niktagor
Гость
« Ответ #4 : Август 17, 2010, 10:25 »

Без чувства пишут ребята, не раскрывают тему.

Рассказали бы что за устройство, дали бы ссылку на производителя.
Рассказать не могу. Может будет как-то полезна информация, что у него внутри стоит контроллер Cypress EZ-USB ?

писать драйвер, очень не просто
  Все-таки, если есть хорошие ссылки на информацию по написанию драйвера - кидайте. У меня пока не получилось найти подробной инструкции. Хотя бы для того кидайте, чтобы я испугался и больше в этом направлении не искал.

если интересно как это можно сделать и есть _стойкое_желание_ реализовать задумку - ответь. чтоб я не зря распинался.
Желание очень стойкое. Задачу нужно решить. Вопрос в том, можно ли это сделать, если про драйвер никакой информации нет. Или это API настолько стандартное, что одинаковое абсолютно для всех устройств?
 Буду очень благодарен за ответ.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Август 17, 2010, 10:38 »

Насколько я помню, чтобы писать драйвер под виндовоз, нужно вооружится WinDDK ну и искать про этот самый DDK какую-нибудь литературу.
Записан

Юра.
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #6 : Август 17, 2010, 11:55 »

Вот как раз в тему вам
http://www.prog.org.ru/topic_14525_0.html

ща сам пробуюсь на вакансию, хотя чем больше читаю - понимаю что голову там нада иметь квадратную. Показает язык
Записан
niXman
Гость
« Ответ #7 : Август 17, 2010, 12:00 »

niktagor, выложи драйвер куда-то, и дай ссылку.
еще скажи номер чипа. девайс можно разобрать. или ищи по инету инфу о том, какой в сем девайсе чип.
Записан
niktagor
Гость
« Ответ #8 : Август 17, 2010, 12:21 »

niktagor, выложи драйвер куда-то, и дай ссылку.
еще скажи номер чипа. девайс можно разобрать. или ищи по инету инфу о том, какой в сем девайсе чип.

 Есть Product ID и  Vendor ID. Это то, что нужно? Контроллер Cypress EZ-USB. Что такое чип?
Записан
eugene
Гость
« Ответ #9 : Август 17, 2010, 12:25 »

http://www.opennet.ru/base/dev/write_linux_driver.txt.html

http://wiki.linuxformat.ru/index.php/LXF78:%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80_%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0_%E2%80%93_%D1%81%D0%B2%D0%BE%D0%B8%D0%BC%D0%B8_%D1%80%D1%83%D0%BA%D0%B0%D0%BC%D0%B8

http://wiki.linuxformat.ru/index.php/LXF79:%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80_%D1%81%D0%B2%D0%BE%D0%B8%D0%BC%D0%B8_%D1%80%D1%83%D0%BA%D0%B0%D0%BC%D0%B8

Может тут чего полезное есть, посмотрите
Upd: и вот ещё http://www.efo.ru/doc/Cypress/Cypress.pl?1134   CY4604 (USB Development Studio)
« Последнее редактирование: Август 17, 2010, 12:27 от eugene » Записан
niktagor
Гость
« Ответ #10 : Август 17, 2010, 12:33 »

Upd: и вот ещё http://www.efo.ru/doc/Cypress/Cypress.pl?1134   CY4604 (USB Development Studio)

 "Библиотека CyAPI позволяет создавать приложения Windows для управления обменом данными по USB в средах MS Visual C++/Borland"

 Похоже, то, что нужно. Странно, что я на сайте Cypress этого не нашел. Буду разбираться.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #11 : Август 17, 2010, 13:33 »

>>Что такое чип?
жаргонное словцо, означает интегральную микросхему, если этот термин тебе о чём-то говорит.
Записан

Юра.
niktagor
Гость
« Ответ #12 : Август 17, 2010, 13:44 »

>>Что такое чип?
жаргонное словцо, означает интегральную микросхему, если этот термин тебе о чём-то говорит.

 Ясно. Тогда в устройстве чипов скорее всего много.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.181 секунд. Запросов: 23.