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

 
 
> Кому-нибудь удалось запустить на AT91sam7sxxx пример usb-device-composite-cdchid-project?, проблемы с инсталяцией драйверов в windows xp
Genadi Zawidowsk...
сообщение Nov 28 2010, 10:35
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Кому-нибудь удалось запустить на AT91sam7sxxx пример usb-device-composite-cdchid-project? У меня даже прекомпилированный из пакета с примерами не опознаётся... (cdc в одиночестве нормально видится).
После некоторгого колчестав возни сделал общее дерево исходников для конфигураций

Код
#CHIP  = at91sam9xe512
#BOARD = at91sam9xe-ek

CHIP  = at91sam7s64
BOARD = at91sam7s-ek


на evaluation board с at91sam9xe512 оба устройства опознаются нормально, на плате с at91sam7s64 процесс не доходит до конца - и USB composite device висит с вопросиком.

Это у меня криво или играет роль та самая ошибка в usb framework про недосылку нулевого пакета после кратного длине допустимого для EP пакета?
Есть ли поправленный вариант usb framework?
Одиночное устройство CDC, композитное usb-device-audio-looprec-project работают нормально.

Да, уточняю - используется AT91LIB version 1.9 (11 MB, revision 1.9, updated 12/08) из файла at91lib_20100901_softpack_1_9_v_1_0_svn_v15011
С версией 1.5 не отличается.

Сообщение отредактировал Genadi Zawidowski - Nov 28 2010, 11:01
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Genadi Zawidowsk...
сообщение Nov 29 2010, 18:52
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Посмотрите, правильно ли я понял - при наличии в контроллере USB четырёх endpoint не может быть значение bEndpointAddress
больше 3?

"в наглую" поменяв все номера ендпоинтов, превышавшие 3 на то число дало нормально опознающийся (и, даже, функционирующий в части CDC) комплект устройств...
Попутно, было вычищено пара мест (использование неинициализированого массива указателей в SetConfiguration (USBDDriver.c) - там же авторы пердусмотрели "запасной" элемент, но не предусмотрели контрль индексов при адресации к массиву endpoints. Контроль выявил место ошибки.

Сообщение отредактировал Genadi Zawidowski - Nov 29 2010, 19:29
Go to the top of the page
 
+Quote Post



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

 


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


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