Перейти к содержанию
    

des.maryin

Участник
  • Постов

    6
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. файл UM_VinculumFirmware_V205.pdf, chapter 9.2.4, CDC device support -- рассказывает какие именно дескрипторы должны быть у Вашего CDC устройства. Посмотреть какие они есть можно с помощью уже рекомендованной тулзы UsbView, есть еще триально-доступный USBLyzer, который эту же информацию показывает в более доступном виде. Вы можете подключить Ваше устройство к PC и посмотреть его дескрипторы. В случае если это FTDI переходник -- у Вас скорее всего не будет проблем с Vinculum, см например пункт 4.2.1 этого же документа. Так как FTDI переходники -- это "родные" для Vinculum устройства.
  2. Проблема решена, дело было в незапущенном OTG клоке в OTGClkCtrl. Прерывание приходит, буду разбираться дальше. Отдельное спасибо meister за наводку.
  3. Спасибо, попробую его (пример от IAR) найти и внимательно посмотреть.
  4. PCONP |= PCONP_PUSB; насколько я понял там одним битом включается USB "вообще". Или есть отдельный бит для OTG?
  5. Vinculum IMHO не особо рассчитан на работу с CDC. Вот [видимо] под флешки -- да, а CDC под него приходится писать руками, в случае если дескрипторы Вашего устройства в точности не совпадают с приведенными в документации от FTDI. Протокол общения КРАЙНЕ неудобный. Цена одного кристалла на уровне мелкого арма с USB хостом. И, еще такая мелочь, у меня не вышло опрашивать interrupt endpoint. Вообще. Не то что с заданной периодичностью ( с чем кстати тоже проблемы, так как временные интервалы опроса Interrupt EP обычно маленькие, а UART штука медленная, да плюс еще чудо-протокол от Vinculum ), а вообще что-либо получить от него не удается. В общем о Vinculum остались тяжелые воспоминания.
  6. Пробую запустить USB host на LPC2388, доска SK-MLPC2388 от starterkit.ru, схема здесь: http://www.starterkit.ru/doc/SK_MLPC2378_88.pdf разъем USB host подключен к первому каналу USB (p0.29, p0.30). Для начала пробую адаптировать под эту плату код Usbhost.Lite от NXP Использую CrossStudio с отлажчиком MT-Link. После инициализации хоста, при вставлении флешки в разъем не приходит прерывание. Программный вызов прерывания ( VICSoftInt = (1<<22); ) приводит к вызову обработчика, отсюда делаю вывод что прерывания сконфигурированны правильно. При более пристальном изучении кода инициализации хоста пришел к выводу что в нем не хватает такого куска: #define PORT_FUNC_U1DEV_U2HST 0 #define PORT_FUNC_U1HST_U2HST 1 #define PORT_FUNC_RESERVED 2 #define PORT_FUNC_U1HST_U2DEV 3 OTGStCtrl = ( PORT_FUNC_U1HST_U2DEV << OTGStCtrl_PORT_FUNC_BIT ); так как в спецификации на LPC23xx упоминается, что OTG контроллер перед использованием необходимо сконфигурировать, дабы он понял, что порт 1 ( в моем случае ) будет использоваться в режиме хоста. проблема собственно в том, что при выполнении этой строчки кода я вылетаю в Data Abort. в LPC2388.h OTGStCtrl определен так: #define OTGStCtrl (*(volatile unsigned *)0xFFE0C110) и это полностью совпадает с LPC23xx User Manual при попытке просмотреть под отладчиком содержимое памяти по этому адресу вижу 0xAAAAAAAA, что наводит на мысли о том, что отладчик тоже не справляется с чтением этого региона. (все адреса, начиная с FFE0C100, задефайненного (правда в кейловских хедерах, но думаю это не принципиально) как USBOTG_BASE_ADDR читаются как 0xAAAAAAAA ) Подскажите, уважаемые коллеги, в какую сторону копать?
×
×
  • Создать...