реклама на сайте
подробности

 
 
> Драйверы USB TMC для linux
_galb_
сообщение Oct 3 2012, 09:52
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 22-08-12
Пользователь №: 73 215



Доброго дня всем!
Нужно создать драйвер устройства USB TMC (Test and Measurement Class) Gadget, ОС linux (дистрибутив linux-davinci), процессор AM1808 от TI.
Есть ли здесь у кого опыт создания устройств usb gadget для linux? Есть вопросы...

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gosha
сообщение Oct 9 2012, 06:40
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 15-06-04
Из: Менделеево
Пользователь №: 30



QUOTE (_galb_ @ Oct 3 2012, 13:52) *
Доброго дня всем!
Нужно создать драйвер устройства USB TMC (Test and Measurement Class) Gadget, ОС linux (дистрибутив linux-davinci), процессор AM1808 от TI.
Есть ли здесь у кого опыт создания устройств usb gadget для linux? Есть вопросы...

Есть опыт написания драйверов usb-storage, usb-video.
Там все по аналогии с имеющимся драйвером похожего устройства. делается
Go to the top of the page
 
+Quote Post
_galb_
сообщение Oct 10 2012, 05:58
Сообщение #3





Группа: Участник
Сообщений: 12
Регистрация: 22-08-12
Пользователь №: 73 215



Цитата(gosha @ Oct 9 2012, 12:40) *
Есть опыт написания драйверов usb-storage, usb-video.

Со стороны хоста, или со стороны гаджета?

Мои вопросы состоят примерно в следующем:
1) В папке drivers/usb/gadget во всех драйверах используются функции библиотеки composite.c. Например, драйвер регистрируется с помощью функции usb_composite_probe, которая в свою очередь вызывает usb_gadget_probe_driver, описанную в include/linux/usb/gadget.h. А реализация этой функции, похоже, у каждого драйвера своя. Например, для драйвера zero.c её нет в явном виде, и мне не понятно, в каком направлении дальше идёт регистрация драйвера Gadget Zero в системе...
2) Если продолжить рассматривать драйвер zero.c, то там явно описывается только дескриптор устройства ( в структуре zero_driver = { <...>, .dev = &device_desc, <...> } ). Остальные дескрипторы (Configuration Descriptor, Interface Descriptor), похоже, инициализируются где-то через функции composite.c. Мне не понятно, как их (дескрипторы) задавать (например, для USB TMC устройств мне нужно прописать bInterfaceClass = 0xFE, bInterfaceSubClass = 3, bInterfaceProtocol = 1).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016