ST32F4 + FreeRTOS + LWIP зависает

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Vasya_mstitel
Родился
Сообщения: 1
Зарегистрирован: Ср фев 24, 2016 22:05:21

ST32F4 + FreeRTOS + LWIP зависает

Сообщение Vasya_mstitel »

Форумчане, прошу помощи. Есть проект, необходимо поднять LWIP и USB. На первое время подключаю все через CubeMX. Версия куба последняя, среда разработки - IAR 8.5 и последняя версия Keil ARM. После сборки проекта LWIP не пингуется. Если работать без FreeRTOS, то проблем нет. Подозреваю проблему в прерываниях, но не знаю как ее отловить.

Сейчас запустил отладку из под IAR через SWO. Проверил в процессе вывод сообщений через printf, сделал вывод каждую секунду сообщения в духе "я живой", чтобы видеть, что процесс не повис. Все прекрасно работает пока я не подключу Ethernet кабель к компу. Как только PHY начинает мигать лампочками FreeRTOS виснет и переходит на

Код: Выделить всё

configASSERT( ucCurrentPriority >= ucMaxSysCallPriority );
в файле port.c
Я так понимаю что-то пытается вызвать функцию FreeRTOS из прерывания с приоритетом выше чем у операционки и крашит ее. Но пошаговая отладка не дает никакой инфы, так как код следующим шагом сразу оказывается в этой строчке.
Оптимизация выключена, HEAP_4, printf из дефолтного процесса закоменчена. Подумываю сделать обертку из семафоров для этой функции, может она непотокобезопасна...

Повторюсь, проект АБСОЛЮТНО чистый с куба. У других людей с забугорья все заводится за 5 минут, а я уже неделю с этим сижу...
Размеры кучи и стека в настройках проекта увеличил, под кучу отдано 50кб памяти.

На работе у коллеги завелось сразу на старом кубе, вроде версии 4.27, но требуется поднять на последних версиях.
Реклама
lfinl
Родился
Сообщения: 17
Зарегистрирован: Пн ноя 09, 2020 17:34:37

Re: ST32F4 + FreeRTOS + LWIP зависает

Сообщение lfinl »

Так как у вас используется Lwip и FreeRTOS и программа генерировалась при помощи CubeMX, то скорее всего проблема в приоритетах прерываний(сам сталкивался с такой проблемой). Посмотрите эту тему - https://forums.freertos.org/t/stm32-fre ... ubemx/6991
Реклама
Ответить

Вернуться в «Разные вопросы по МК»