Доброе время суток.
Нужна помощь сведущих товарищей...
Имеется плата EVM9200. Пытаюсь написать тестовое приложение для USB (loopback между UHP и UDP), работаю под IAR. Проц инициализируется "классическим" уже образом - 179,712, 96/2=48 и т.п. Код самого теста - т.н. "BasicUHP" (исходники где-то в сети нашел). Т.е. гоняются пакеты между UHP и UDP одного и того же камня.
А дальше начинаются чудеса. Примерно один раз из десяти тест доходит до передачи данных и валится на отсутствии DATA ACK на UHP. Все остальные случаи заканчиваются также неудачно, но гораздо раньше - нет пакета SETUP на UDP. При этом бинарник, который был в комплекте с исходником, после загрузки через u-boot дает положительный результат (тест проходит полностью). Абсолютно аналогичный тест был выложен в свое время на форуме у Дм.Черкашина - сбоев также нет. Начальная инициализация проца в этом самом загрузчике делается точно так же. Единственная существенная разница состоит в том, что в моем случае код запускается из внутренней SRAM AT91, а из-под загрузчика - из SDRAM.
Самое любопытное, что ситуация с SETUP до боли напоминает проблему, описанную в трэде
http://electronix.ru/forum/index.php?showtopic=45183
Т.к. в итоге народ, работая под FreeBSD, обнаружил очень похожий "косяк" с пакетом SETUP.
Если кто-то в состоянии помочь - могу выложить файлы проекта, исходник BasicUHP и все прочее.
Если есть какие-то свои наработки или видели что-то подобное - поделитесь, пожалуйста.