LINUX.ORG.RU

API к драйверу USB gadget'a


0

0

Кто знает, подскажите плз, как работать с USB на стороне девайса. На хосте все понятно, получил дескриптор файла девайса и работай ф-циями w/r/ioctl. А в девайсе ведь запросы принимать как-то надо, асинхронным чтением? Но вроде асихронность в/в для USB-gadget'ов вроде пока не поддерживается... В общем, где копать?

По поводу твоего вопроса:
1. прочти USB 2.0 спецификацию (chapter 9 - device framework).
2. просмотри kernel 2.6.x в драйверах USB gadget (в зависимости от твоей цели там есть несколько конфигураций для девайсов - zero driver, file storage, netcard and etc.), судя по твоему вопросу ты уже смотрел.
3. что накопаешь из интера (существует много тестбоардов и пр.) из них можно много накопать - примеры использования и пр. включая исходники.

В общем тебе надо написать:
1. дескрипторы девайса, управления и стринг (или АйДи.)
2. определить CBW, CSW
3. определить инициализацию твоего core (Registers settings)
4. тестировать простой отклик по шине после init core.
5. используя тест toolkit от www.usb.org/developers USB Command Verifier (USBCV) проверять на каждом этапе разработки отклик по USB

я работаю с чистым ARM966E-S и 7TDMI

Oranta
()
Ответ на: комментарий от Katolix

А есть ли под эту железяку 2.6? Я пользую at91rm9200 от атмела, пока только 2.4 :(

yuriy123
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.