Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает usb-device-ccid
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
misyachniy
Собрал проект usb-device-ccid IAR 6.30.7.3447 для SAM7X
Win Xp потребовал драйвер.
У мення была win XP SP2

Установил сервиспак "WindowsXP-KB936929-SP3-x86-RUS.exe".

Windows не подхватил устройство.
Скачал с Интернета "usbccid.sys" и "usbccid.inf"
Драйвер установился, Диспетчер устройств пишет код ошибки 10.

Программа в микроконтроллеоре зависает на функции USBConfigurationDescriptor_Parse().
Код
    int size = USBConfigurationDescriptor_GetTotalLength(configuration);

    size -= sizeof(USBConfigurationDescriptor);

    // Start parsing descriptors
    USBGenericDescriptor *descriptor = (USBGenericDescriptor *) configuration;
    while (size > 0) {


size в начале равен 99, затем 90 и стоит мертво.
Какая-то проблема с дескрипторами? :-(


В функции GetDescriptor есть проверка
Код
            // Check if descriptor exists
            if (!pQualifier) {

                USBD_Stall(0);
            }

pQualifier нулю (рисунок "iar_Qualifier.PNG"), и такой запрос не обрабатывается.

Есть подозрение, что IAR обновили а проекты под "старые" процессоры не перепроверили.

Собирал ли кто проект "usb-device-ccid"?
Или может похожие проблемы были?

jcxz
Вы с оптимизацией или без компилили?
В 6.30 серьёзные проблемы с оптимизацией.
misyachniy
Цитата(jcxz @ Nov 25 2013, 04:15) *
Вы с оптимизацией или без компилили?
В 6.30 серьёзные проблемы с оптимизацией.


Пробовал и с оптимизацией и без.

USB MSC, USB HID+ MSC для SAM3U работают.
Может поменять IAR на более свежий, только вот какой?
sfinks
Установите вывод сообщений в debug на ноль (не выводить) и проект пойдет.
Проблема в другом - в нем много глюков, которые устранить мне так и не удалось.

ICQ 17358791
misyachniy
Цитата(sfinks @ Mar 5 2014, 21:30) *
Установите вывод сообщений в debug на ноль (не выводить) и проект пойдет.
Проблема в другом - в нем много глюков, которые устранить мне так и не удалось.


Проект у меня запработал.
Оказалось, что директива pragma pack для дескрипторов в проекте была от GCC.
А директива для IAR стояла в начале и в конце всех дескрипторов.
Я скопировал директиву и все.
sfinks
Полностью заработал, функционал проверял ?

У меня именно функционал не работает.

Пришли пож-та исправленный проект на sfinks@tula.net
misyachniy
Цитата(sfinks @ Mar 9 2014, 07:46) *
Полностью заработал, функционал проверял ?

Функционирование не проверял.
Проект пока "затих" или уже умер.
В проекте нужно только настроить контакт присутствия карточки.
И проверить, что присутствие карточки корректно отрабатывается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.