ViKo 1 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба Попробовал на двух платах Discovery (STM32F407, STM32F429) создать CDC устройство в STM32CubeMX. И оба раза компьютер обнаруживает устройство, устанавливает драйвер, но не может его запустить. И в настройках USB в Cube менял, и все равно. ОС - Windows 7 x64. Что не так? Полный интернет подобных сообщений, но ни одного ответа я не нашел. И кабель менял, и в другую щель засовывал. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
derun 0 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба Попробовал на двух платах Discovery (STM32F407, STM32F429) создать CDC устройство в STM32CubeMX. И оба раза компьютер обнаруживает устройство, устанавливает драйвер, но не может его запустить. И в настройках USB в Cube менял, и все равно. ОС - Windows 7 x64. Что не так? Полный интернет подобных сообщений, но ни одного ответа я не нашел. И кабель менял, и в другую щель засовывал. :rolleyes: Непонятна фраза "Не Запускается driver" -это как, какие сообщения выдает Винда? У меня тоже Виндовс 7 x64 и все работает. Подробнее проблему опишите пожалуйста. Файл конфигурации Куба (*.ioc) приложите если можно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба C 32 битнымми windows плата работает? Если да отключите проверку подписи драйвера в 64 битной windows. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
derun 0 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба C 32 битнымми windows плата работает? Если да отключите проверку подписи драйвера в 64 битной windows. Думаю Вы правы, причина может быть именно в этом, хотя у меня заработало и без отключения цифровой подписи драйвера. Может какая-то старая версия драйвера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба Непонятна фраза "Не Запускается driver" -это как, какие сообщения выдает Винда? У меня тоже Виндовс 7 x64 и все работает. Подробнее проблему опишите пожалуйста. Файл конфигурации Куба (*.ioc) приложите если можно. Вот так и пишет, как в подзаголовке показал, скопировал: "Запуск этого устройства невозможен. (Код 10)" Зашиваю прошивку, втыкаю USB разъем, нажимаю сброс, Windows 7 находит устройство, автоматически находит драйвер для него (и вручную ставил - тот же, с сайта ST), устанавливает. После в Диспетчере устройств появляется COM3, но "запуск..." (см. выше). Конфигурация в Cube - простая, выбираю Discovery плату, в ней включаю USB выводы, в USB включаю CDC. Своего не пишу ничего. И так на двух разных платах. Вот есть ссылка с подобной проблемой. https://my.st.com/public/STe2ecommunities/m...rentviews=13131 C 32 битнымми windows плата работает? Если да отключите проверку подписи драйвера в 64 битной windows. С x86 не работал, не имею. Версия драйвера - последняя, что есть, 1.3.1 С этим возился дома, сейчас ничего больше сказать не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба Вот есть ссылка с подобной проблемой. https://my.st.com/public/STe2ecommunities/m...rentviews=13131 Ну так там по ссылке написал один, что решил все проблемы, изменив размер буфера на 64. Думаю, где-то в настройках для CDC Endpoint. Другой пишет, что проблема ушла после установки CDC_IN_FRAME_INTERVAL в 0 в файле usbd_conf.h. Я не пробовал еще эти Cube, но у нас на F103 на собственных платах CDC работают. Более того, мой коллега, гуру в Windows, написал свой собственный *.INF файл для установки CDC. Ведь по сути для CDC не нужен никакой сторонний драйвер. Просто Windows до XP включительно для каждого нового воткнутого CDC устройства проводит якобы установку драйвера, которая заключается просто в копировании родного файла usbser.sys из одного угла системы в другой, напрягая пользователя дурными вопросами. Более новые Win'ды это делают молча. Поэтому, если Windows не хочет общаться с CDC, надо покрутить дескриптор на предмет тех самых размеров буфера и временнЫх параметров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
derun 0 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба Вот так и пишет, как в подзаголовке показал, скопировал: "Запуск этого устройства невозможен. (Код 10)" Зашиваю прошивку, втыкаю USB разъем, нажимаю сброс, Windows 7 находит устройство, автоматически находит драйвер для него (и вручную ставил - тот же, с сайта ST), устанавливает. После в Диспетчере устройств появляется COM3, но "запуск..." (см. выше). Конфигурация в Cube - простая, выбираю Discovery плату, в ней включаю USB выводы, в USB включаю CDC. Своего не пишу ничего. И так на двух разных платах. Вот есть ссылка с подобной проблемой. https://my.st.com/public/STe2ecommunities/m...rentviews=13131 С x86 не работал, не имею. Версия драйвера - последняя, что есть, 1.3.1 С этим возился дома, сейчас ничего больше сказать не могу. На форуме ST была рекомендация заменить строку: pdev->pClassData = USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); в файле usbd_cdc.c на : pdev->pClassData = (void *) USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба На форуме ST была рекомендация заменить строку: pdev->pClassData = USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); в файле usbd_cdc.c на : pdev->pClassData = (void *) USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); Не помогло. Результат тот же. Параллельно для STM32F3Discovery сотворил из библиотеки STM32_USB-FS-Device_Lib_V4.0.0 VirtualComport_Loopback, он работает. "Устройство работает нормально." Общаюсь с платой через HTerm. Правда, она другим кабелем подключена к компьютеру (на этой плате разъем другой). Код там другой, конечно, но, делаю вывод, что с компьютером и драйвером все нормально. Для STM32F30x в CubeMX пока кодогенератора нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба Не помогло. Результат тот же. Попробуйте подключить устройство и затем удалить его в диспетчере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба Я бы посмотрел что на USB творится. "Device Monitoring Studio" то ли 30 то ли 40 баксов всего, да и трайал наверное есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба https://my.st.com/public/STe2ecommunities/m...urrentviews=328 Почитав эту тему, изменил размер кучи до 0x0400, и COM Port заработал. Буду пытаться разбираться дальше... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба я вот смотрел на это pdev->pClassData = (void *) USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); и вот мне подумалось, что тот кто код отлаживал сначала заметил что получил неверный указатель. Потом изменил это и кучу, и все заработало, сделал выводы что надо так сделать. А мне кажется что надо поглядеть что возвращает USBD_malloc, наверняка в начальном варианте с маленькой кучей оно возвращало 0, как код ошибки что не удалось выделить буфер... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 15 мая, 2014 Опубликовано 15 мая, 2014 · Жалоба Я там еще других настроек в CubeMX покрутил, в частности, задал скорость ножек USB High... В-общем, пока ответ не готов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 16 мая, 2014 Опубликовано 16 мая, 2014 · Жалоба Я бы посмотрел что на USB творится. "Device Monitoring Studio" то ли 30 то ли 40 баксов всего, да и трайал наверное есть.Есть и бесплатная версия http://freeusbanalyzer.com/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 16 мая, 2014 Опубликовано 16 мая, 2014 · Жалоба За ссылки-советы - спасибо! Я пользовался USBlyzer, USBTrace, но не в этом случае. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться