|
STMicroelectronics Virtual COM Port, Запуск этого устройства невозможен. (Код 10) |
|
|
|
May 13 2014, 09:18
|
Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 12-01-05
Из: Украина. Чернигов
Пользователь №: 1 908

|
Цитата(ViKo @ May 13 2014, 08:26)  Попробовал на двух платах Discovery (STM32F407, STM32F429) создать CDC устройство в STM32CubeMX. И оба раза компьютер обнаруживает устройство, устанавливает драйвер, но не может его запустить. И в настройках USB в Cube менял, и все равно. ОС - Windows 7 x64. Что не так? Полный интернет подобных сообщений, но ни одного ответа я не нашел. И кабель менял, и в другую щель засовывал.  Непонятна фраза "Не Запускается driver" -это как, какие сообщения выдает Винда? У меня тоже Виндовс 7 x64 и все работает. Подробнее проблему опишите пожалуйста. Файл конфигурации Куба (*.ioc) приложите если можно.
|
|
|
|
|
May 13 2014, 09:57
|
Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 12-01-05
Из: Украина. Чернигов
Пользователь №: 1 908

|
Цитата(uriy @ May 13 2014, 11:29)  C 32 битнымми windows плата работает? Если да отключите проверку подписи драйвера в 64 битной windows. Думаю Вы правы, причина может быть именно в этом, хотя у меня заработало и без отключения цифровой подписи драйвера. Может какая-то старая версия драйвера.
|
|
|
|
|
May 13 2014, 10:01
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(derun @ May 13 2014, 12:18)  Непонятна фраза "Не Запускается driver" -это как, какие сообщения выдает Винда? У меня тоже Виндовс 7 x64 и все работает. Подробнее проблему опишите пожалуйста. Файл конфигурации Куба (*.ioc) приложите если можно. Вот так и пишет, как в подзаголовке показал, скопировал: "Запуск этого устройства невозможен. (Код 10)" Зашиваю прошивку, втыкаю USB разъем, нажимаю сброс, Windows 7 находит устройство, автоматически находит драйвер для него (и вручную ставил - тот же, с сайта ST), устанавливает. После в Диспетчере устройств появляется COM3, но "запуск..." (см. выше). Конфигурация в Cube - простая, выбираю Discovery плату, в ней включаю USB выводы, в USB включаю CDC. Своего не пишу ничего. И так на двух разных платах. Вот есть ссылка с подобной проблемой. https://my.st.com/public/STe2ecommunities/m...rentviews=13131Цитата(uriy @ May 13 2014, 12:29)  C 32 битнымми windows плата работает? Если да отключите проверку подписи драйвера в 64 битной windows. С x86 не работал, не имею.  Версия драйвера - последняя, что есть, 1.3.1 С этим возился дома, сейчас ничего больше сказать не могу.
|
|
|
|
|
May 13 2014, 12:14
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(ViKo @ May 13 2014, 11:01)  Ну так там по ссылке написал один, что решил все проблемы, изменив размер буфера на 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, надо покрутить дескриптор на предмет тех самых размеров буфера и временнЫх параметров.
|
|
|
|
|
May 15 2014, 11:18
|
Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 12-01-05
Из: Украина. Чернигов
Пользователь №: 1 908

|
Цитата(ViKo @ May 13 2014, 12:01)  Вот так и пишет, как в подзаголовке показал, скопировал: "Запуск этого устройства невозможен. (Код 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));
|
|
|
|
|
Oct 16 2014, 06:49
|
Местный
  
Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102

|
Цитата(sadat @ Oct 15 2014, 18:46)  Советую использовать примеры из комплекта "CUBE EXAMPLE" и подпиливать их для себя (либо выдрать участки кода), чем генерировать голый проект Куба. Либо сравнивать отличия. Вы имеете ввиду вот это? http://www.st.com/web/en/catalog/tools/PF259243#я там примера USB CDC не нашел. скачал сейчас библиотеку, нашел отличие в файлах usbd_cdc.c , хотя у меня уже была та же версия библиотеки 1.3.0 и даже версия файла та же. неужели Cube что то нужное режет в файлах
|
|
|
|
|
Oct 16 2014, 13:05
|
Местный
  
Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102

|
Цитата(sadat @ Oct 16 2014, 16:47)  Да, это самое. Ну как-так не нашли... Вот путь: STM_CUBE\STM32Cube_FW_F4_V1.3.0\Projects\STM324xG_EVAL\Applications\USB_Device\CDC_Standalone CUBE не режет, он просто генерирует комментарий "здесь программист должен написать свой код обработки" ;-) я смотрел в папках для плат Discovery. спасибо большое! но работа с запросами все равно осталась непонятной...
|
|
|
|
|
Dec 4 2014, 19:31
|
Группа: Новичок
Сообщений: 2
Регистрация: 4-12-14
Пользователь №: 83 988

|
У меня было такое. На Х64 не заработало. ПОСТАВИЛ х32, убил виндовый драйвер и поставил от ST. После этого всё заработало.
|
|
|
|
|
May 11 2015, 12:07
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Возвращаюсь к теме (нашел поиском по USB Cube, уже и забыл, что своё). Сгенерил Кубом для STM32F3Discovery CDC. И, как видел в разных видео, пытаюсь использовать CDC_Transmit_FS, CDC_Receive_FS. Эти функции находятся в usbd_cdc_if.c. И они не видны из main.c. И буфера уже есть там же: /* It's up to user to redefine and/or remove those define */ /* Received Data over USB are stored in this buffer */ uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; /* Send Data over USB CDC are stored in this buffer */ uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; и тоже не видны из main.c Как же ими пользоваться? Если внутри usbd_cdc_if.c, то как будто через задний проход пролез.
P.S. Еще один дурной вопрос. Установил Куб, запустил, из него установил библиотеки. Где примеры?? Или надо, все же скачать STM32CubeF3 и установить? Что же так мутно всё?
|
|
|
|
|
May 12 2015, 13:24
|
Местный
  
Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102

|
Цитата(ViKo @ May 11 2015, 15:07)  P.S. Еще один дурной вопрос. Установил Куб, запустил, из него установил библиотеки. Где примеры?? Или надо, все же скачать STM32CubeF3 и установить? Что же так мутно всё? у меня тут C:\Users\имя пользователя\STM32Cube\Repository\STM32Cube_FW_F4_V1.5.0\Projects Цитата(ViKo @ May 11 2015, 15:07)  Если внутри usbd_cdc_if.c, то как будто через задний проход пролез. по моему так и есть
|
|
|
|
|
Dec 20 2016, 17:34
|

Знающий
   
Группа: Свой
Сообщений: 625
Регистрация: 22-02-07
Пользователь №: 25 593

|
Если использовать версию STM32Cube_FW_F4_V1.13.0 то IAR -- работает GCC -- работает но с вышеизложенными симптомами Проект под GCC подготавливал согласно данному видео https://www.youtube.com/watch?v=Q68PBMGceqs
|
|
|
|
|
Dec 26 2016, 04:40
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 26-10-14
Из: Екатеринбург
Пользователь №: 83 345

|
Была такая же проблема, глубоко не копал, но проблему решил. В кубе при генерации проекта heapsize ставьте 0х400 все будет работать
|
|
|
|
|
Feb 22 2017, 15:58
|
Группа: Участник
Сообщений: 14
Регистрация: 26-05-05
Из: Житомир
Пользователь №: 5 403

|
Тоже столкнулся с такой же проблемой. При подключении к компьютеру stm32f746 через USB и установки драйверов на последовательный USB порт с сайта ST, порт определялся с ошибкой 10 (устройство не может быть запущено). Я так и не смог найти, где изменить размер кучи (Heap size), но проблема решилась по совету из этой темы: https://community.st.com/message/91508 После уменьшения HS max packet size с 512 до 64 все заработало. Где это изменяется в Cube MX я так и не нашел, поэтому изменил значение CDC_DATA_HS_MAX_PACKET_SIZE в файле usbd_cdc.h
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|