Russian Qt Forum

Программирование => Общий => Тема начата: niktagor от Август 16, 2010, 13:19



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


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: lit-uriy от Август 16, 2010, 13:46
http://ru.wikipedia.org/wiki/Драйвер (http://ru.wikipedia.org/wiki/Драйвер)


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: Admin от Август 16, 2010, 23:24
Рассказали бы что за устройство, дали бы ссылку на производителя.


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: niXman от Август 16, 2010, 23:25
Цитировать
Я до конца не понимаю, что такое драйвер и чем он отличается от программы
драйвер работает в kernel-mode. он предоставляет API для user-mode, посредством которого, программа, может общаться с девайсом.
писать драйвер, очень не просто. помимо программирования, нужно обладать знаниями принципов_обмена/бинарных_протоколов/блокировок_портов и еще кучу всякой крени.

простой выход - использовать драйвер от разработчика. точнее предоставляемое им API.
если интересно как это можно сделать и есть _стойкое_желание_ реализовать задумку - ответь. чтоб я не зря распинался.


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: niktagor от Август 17, 2010, 10:25
http://ru.wikipedia.org/wiki/Драйвер (http://ru.wikipedia.org/wiki/Драйвер)
Без чувства пишут ребята, не раскрывают тему.

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

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

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


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: lit-uriy от Август 17, 2010, 10:38
Насколько я помню, чтобы писать драйвер под виндовоз, нужно вооружится WinDDK ну и искать про этот самый DDK какую-нибудь литературу.


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: Admin от Август 17, 2010, 11:55
Вот как раз в тему вам
http://www.prog.org.ru/topic_14525_0.html

ща сам пробуюсь на вакансию, хотя чем больше читаю - понимаю что голову там нада иметь квадратную. :P


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: niXman от Август 17, 2010, 12:00
niktagor, выложи драйвер куда-то, и дай ссылку.
еще скажи номер чипа. девайс можно разобрать. или ищи по инету инфу о том, какой в сем девайсе чип.


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: niktagor от Август 17, 2010, 12:21
niktagor, выложи драйвер куда-то, и дай ссылку.
еще скажи номер чипа. девайс можно разобрать. или ищи по инету инфу о том, какой в сем девайсе чип.

 Есть Product ID и  Vendor ID. Это то, что нужно? Контроллер Cypress EZ-USB. Что такое чип?


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: eugene от Август 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)


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: niktagor от Август 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 этого не нашел. Буду разбираться.


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: lit-uriy от Август 17, 2010, 13:33
>>Что такое чип?
жаргонное словцо, означает интегральную микросхему, если этот термин тебе о чём-то говорит.


Название: Re: Как работать с USB и что такое драйвер.
Отправлено: niktagor от Август 17, 2010, 13:44
>>Что такое чип?
жаргонное словцо, означает интегральную микросхему, если этот термин тебе о чём-то говорит.

 Ясно. Тогда в устройстве чипов скорее всего много.