MementoMori 4 10 сентября, 2020 Опубликовано 10 сентября, 2020 · Жалоба Добрый вечер, друзья. Загрузил я в плату F746 Discovery пример USB Host Mass Storage Class, в режиме HS (на плате есть USB PHY) подключил флешку - все нормально, читается, пишется. То есть на заведомо исправной плате проверил заведомо исправный код. Руководствуясь этим же примером склепал такой же проект для самопальной платы на H734. Сразу не заработало. Камень другой и библиотека USB, которую калокуб копирует в папку, немного другая. Анализирую работу функции USBH_Process В процессе жизнедеятельности она выплевывает в "эфир" следующие сообщения USBH_UsrLog("USB Device Connected"); USBH_UsrLog("USB Device Reset Completed"); Далее, pHost->gState становится равным HOST_DEV_ATTACHED, а дальше тишина. Я что хочу спросить - меня пока не интересуют причины и методы решения этой проблемы. Я загрузил этот код чтобы убедиться в правильности проектирования и трассировки узла USB_PHY. И вопрос мой такой - могу ли я, учитывая получение вышеуказанных сообщений от системы, считать, что аппаратная часть этого узла работоспособна и проблема скорее в коде? Дело в том, что переработал первую версию платы и хочу ее перезаказать, а USB_PHY - это единственный узел, в правильности проектирования и трассировки которого я не убедился на практике. Работа с флешкой у меня сейчас не на первом мести и я хочу понять, могу ли я эту проблему отложить на потом и заказывать плату, или же возможны проблемы в плате, которые нужно решать сейчас. Что скажете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 13 сентября, 2020 Опубликовано 13 сентября, 2020 · Жалоба Оказывается, не было подключено прерывание... Подключил, процесс пошел дальше, но не завершается. Получаю сообщение "Invalid Class Driver". Или "Device not supporting %s class". Класс же при инициализации подключается без ошибок if (USBH_RegisterClass(&hUsbHostHS, USBH_MSC_CLASS) != USBH_OK) { Error_Handler(); } Это как победить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 14 сентября, 2020 Опубликовано 14 сентября, 2020 (изменено) · Жалоба Просто предварительный вопрос (пока что спрошу): У Вас, как я понял, к H743-му подключен внешний ULPI-PHY (типа USB3300)? И он не работает так? Я сейчас также собираю свою платку на H743 и попутно начинаю разбираться с софтом. Опять-таки от Куба пока что. Тоже предварительно могу сообщить, что заработал только FS HS USB. Но я покамест перескочил на работу с SDRAM и пока в другом направлении копаю. Изменено 14 сентября, 2020 пользователем AleksBak добавил пропущенное слово Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба 2 hours ago, AleksBak said: И он не работает так? Что значит оно? Сама микросхема наверное работает, раз у меня доходит до device_attached и немного дальше. А вот "оно", если называть этим словом целостный проект, не работает. 2 hours ago, AleksBak said: заработал только FS HS USB. Так FS или HS? Что именно заработало? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба 2 минуты назад, MementoMori сказал: Что значит оно? Что-то я как-то спонтанно все тут понаписал/понапутал. Заработал USB FS приемопередатчик. С внешним ULPI USB3300 пока не заработал. Я пока с SDRAM разбираюсь и отложил это. У меня также плата в состоянии разработки. У Вас USB HS построен с внешним ULPI так? И этот внешний приемопередатчик не работает? Правильно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба 37 minutes ago, AleksBak said: Что-то я как-то спонтанно все тут понаписал/понапутал. Заработал USB FS приемопередатчик. С внешним ULPI USB3300 пока не заработал. Я пока с SDRAM разбираюсь и отложил это. У меня также плата в состоянии разработки. У Вас USB HS построен с внешним ULPI так? И этот внешний приемопередатчик не работает? Правильно? Да. FS я не пробовал, он у меня не разведен, подаваться куда-то к плате, пытаясь соблюсти равенство длин - я не стал заморачиваться Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба 3 минуты назад, MementoMori сказал: FS я не пробовал, он у меня не разведен, подаваться куда-то к плате, пытаясь соблюсти равенство длин - я не стал заморачиваться У меня разведены оба: USB FS и USB HS (только через USB3300). С Кубом у меня завелся только USB FS, а у HS вообще никакой реакции. Я покамест перепрыгнул на проверку SDRAM и пока с ней разбираюсь. Но к теме "HS" вот-вот должен опять вернуться. Предварительно - возможно куб (не будем его калом пока что называть) тут что-то не работоспособен. Но проверка будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба Схему usb_hs выложите. Трассировку покажите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба У меня H743IIT6 (TQFP-176). У Вас как я понял в 208-ми выводном корпусе. Трассировку выложить не могу т.к. делал не на этом компе, что сейчас. Вообще с точно такой же трассировкой USB3300 у меня без проблем работал F407IGT6 также в TQFP-176. И я не мудрствуя лукаво взял просто вместе F407-го запаял H743. Про подключение USB3300 позже сообщу что куда конкретно (но там стандартно все вроде) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба 3 hours ago, AleksBak said: не работоспособен А вы отлаживали? Функция USBH_Process какие сообщения успевает выдать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба 39 минут назад, MementoMori сказал: А вы отлаживали? Нет. Не успел. По-быстрому проверил там и забросил. Я через пару дней примерно проверю все это. Разбираюсь с вариантом платы с SDRAM W9825G6KH (эта др. плата) и собираю ее сейчас, хочу проверить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 14 сентября, 2020 Опубликовано 14 сентября, 2020 · Жалоба Друзья, помогите вот с чем. Вот вывод отладочных сообщений #if (USBH_DEBUG_LEVEL > 1U) #define USBH_ErrLog(...) do { \ printf("ERROR: ") ; \ printf(__VA_ARGS__); \ printf("\n"); \ } while (0) Пытаюсь перенаправлять это в UART int fputc(int ch, FILE *f) { while((UART7->ISR & UART_IT_TXE)==0) UART7->TDR=ch; return ch; } В результате в порт вываливается куча символов "U" и Терминал отрубается. Что не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 14 сентября, 2020 Опубликовано 14 сентября, 2020 (изменено) · Жалоба Точку с запятой потеряли. Изменено 15 сентября, 2020 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 15 сентября, 2020 Опубликовано 15 сентября, 2020 · Жалоба Дошел вот до чего phost->pActiveClass->pData = (MSC_HandleTypeDef *)USBH_malloc(sizeof(MSC_HandleTypeDef)); Не выделяется память по USBH_malloc. Поступил радикально - заменил на статическую память - драйвер регистрируется. Но есть ощущение некоего костыля...Почему в этой библиотеке проблемы с выделением памяти? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AleksBak 0 16 сентября, 2020 Опубликовано 16 сентября, 2020 · Жалоба 9 часов назад, MementoMori сказал: Но есть ощущение некоего костыля... Так это известная проблема с USBH_malloc(..) (ссылку даже можно привести по этой теме если сами не найдете) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться