Сергей Борщ 134 14 августа, 2020 Опубликовано 14 августа, 2020 · Жалоба 11 часов назад, x893 сказал: На github нет случайно его ? Моего проекта? Нет. Там нет куба, все на регистрах и плюсах. Писано год назад, больше host нигде пока не нужен был. Но вы спрашивайте (можно в личке), постараюсь вспомнить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 51 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 17 hours ago, Сергей Борщ said: Моего проекта? Нет. Там нет куба, все на регистрах и плюсах. Писано год назад, больше host нигде пока не нужен был. Но вы спрашивайте (можно в личке), постараюсь вспомнить. Да какая разница на чём написано. Клонировал и запустил (если конечно он работает). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба Разница большая: если там используется SPL или "хал", то получится вообще неподдерживаемый код, с которым невозможно работать! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 51 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 52 minutes ago, Eddy_Em said: Разница большая: если там используется SPL или "хал", то получится вообще неподдерживаемый код, с которым невозможно работать! Не бывает неподдерживаемого кода. Что мешает сделать git clone и не гадать на остатках кофе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 2 часа назад, x893 сказал: Что мешает сделать git clone Наверное то, что это проект, выполненный за зарплату и не предназначенный для распространения отдельно от устройства, для которого предназначен. Нет смысла пытаться брать на "слабО?". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 51 15 августа, 2020 Опубликовано 15 августа, 2020 · Жалоба 30 minutes ago, Сергей Борщ said: Наверное то, что это проект, выполненный за зарплату и не предназначенный для распространения отдельно от устройства, для которого предназначен. Нет смысла пытаться брать на "слабО?". я и не думал, раз закрытый - значит закрытый. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 19 августа, 2020 Опубликовано 19 августа, 2020 · Жалоба Оффтопик выделен в отдельную тему: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 19 июля, 2023 Опубликовано 19 июля, 2023 · Жалоба Подниму тему. Помучился уже достаточно хорошо с CDC, не могу понять почему зависает. От компьютера передача идет нормально. К компьютеру периодически намертво виснет CDC_Transmit_FS() с кодом USB_BUSY. Вынес CDC_Transmit_FS() в отдельный поток scmRTOS, она забирает данные из fifo. При работе 2 процесса очень медленно наливают данные в fifo. Это может работать очень долго и без ошибок. Но как только присоединяется еще один процесс - начинаются зависания. Стеки выставил огромные для теста, Всё остальное работает кроме USB Tx. Идеи закончились... подскажите куда смотреть чтоб отловить баг. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 5 13 ноября, 2023 Опубликовано 13 ноября, 2023 · Жалоба В 13.08.2020 в 16:04, a_electronic сказал: 2-е па) Собственно, сам баг. Молодцы STMы залепили в функцию USBD_CDC_Init(...), которая вызывается в прерывании от USB, вызов USBD_malloc(...) со всеми вытекающими. Т.е., надо - объявить статическую структутру USBD_CDC_HandleTypeDef myClassCDC; хм, в версии Revision 1.2 November 16, 2007 #define USBD_malloc (uint32_t *)USBD_static_malloc void *USBD_static_malloc(uint32_t size) { static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];/* On 32-bit boundary */ return mem; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 5 13 ноября, 2023 Опубликовано 13 ноября, 2023 · Жалоба В 19.07.2023 в 15:20, Gradient сказал: подскажите куда смотреть чтоб отловить баг. удалось вам отловить ? Пока я выяснил, что флаг (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData->TxState не сброшен в ноль а сбрасывается в USBD_CDC_DataIn 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 13 ноября, 2023 Опубликовано 13 ноября, 2023 (изменено) · Жалоба Нет, причину не нашел и пофиксить не удалось. Подозреваю, что то связанное с питанием. Потому что если записать от dcdc то не виснет. Но от батареи или повер банка начинает подписать. Причем осциллограф провалов по питанию не видит. Изменено 13 ноября, 2023 пользователем Gradient 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 13 ноября, 2023 Опубликовано 13 ноября, 2023 · Жалоба В 19.07.2023 в 15:20, Gradient сказал: Помучился уже достаточно хорошо с CDC, не могу понять почему зависает. У меня тоже на STM32F103 периодически зависало, пока не уменьшила приоритет прерываниям от USB. Суть в том, что прерывания от системного таймера должны иметь бОльший приоритет, чем USB, UART и I2C, т.к. в их реализация в CubeMX иногда вызывает задержки HAL_DELAY(), которые превращаются в бесконечность, когда системный таймер не может пробить свое прерывание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 14 ноября, 2023 Опубликовано 14 ноября, 2023 · Жалоба Тогда отладчик бы показывал что зависаем в HAL_DELAY(). Но тем не менее, зависает именно функция передачи на этапе проверки флага занятости USB. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 14 ноября, 2023 Опубликовано 14 ноября, 2023 · Жалоба В 13.11.2023 в 20:45, megajohn сказал: сбрасывается в USBD_CDC_DataIn Это интересно. Разве согласно человеческой логике, он не должен сбрасываться при выгрузке последнего байта? Может его просто забыли в нужное место прописать? Если есть возможность, посмотрите состояние буфера , есть ли ещё данные и если нет, аппаратные флаги завершения передачи. По идее там прерывание должно сработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться