|
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 115
|
|||||||||||
LwIP STM32F4 перестает отвечать через время15.04.2015, 17:18. Показов 11995. Ответов 3
Метки нет (Все метки)
LwIP STM32F4 перестает отвечать через время, если добавить свою задачу
Здравствуйте. Собрал плату на STM32f429, PHY Ksz8041, FriiRTOS. Проект в Coosox, собрал из примеров от ST. При работе только со "штатными" задачами из примеров, все работает нормально (1 час пингов держал), но если добавить несколько собственных задач, стек LwIP через минуту-две перестает нормально работать (или возможно проблема с MAC), при этом сохраняется активность на TX-0-1 на PHY от MAC, все задачи исправно работают (стек не переполняется), пакеты так же продолжают приходить (прерывание ETH_IRQHomdler срабатывает). Задача "ethernetif_input" и функция "low_level_input" так же выполняются ... Попытки играть с приоритетами, выделением памяти (heap_4), и т.п. результатов за два дня не принесли :( Знаю про "косячный" драйвер от ST, самые "известные" на форумах баги подправил, но ничего не изменилось Пытался запустить LWIP_DEBUG, но видимо во FriiRTOS retarget надо как-то буферизовать, происходит переполнение стека и оказываюсь в ловушке - vApplicationStackOverflowHook, пока не разобрался. настройки FriiRTOS:
Все перелопатил, останется только изучать низкий уровень Ethernet (DMA, склейка-разбор пакетов и т.д.), что безусловно полезно и интересно, но уровень для меня пока высоковат ... В общем, товарищи, куда можно дальше копать? На всякий случай прикрепил проект для CoIDE https://yody.sk/d/nWmrb2bCg3Egr
0
|
|||||||||||
| 15.04.2015, 17:18 | |
|
Ответы с готовыми решениями:
3
Проблема STM32F4+lwIP STM32F4+PHY+FREERTOS+LWIP+UDP скорость STM32F4 freertos + lwip + mqtt + mbedtls |
|
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 115
|
|
| 17.04.2015, 00:12 | |
|
в общем, в процессе разбора, обнаружил ряд моментов:
При старте, все работает нормально, через примерно минуту происходит "утечка" памяти, после чего даже в исходящем пакете появляются ошибки (время жизни и т.п.), это видно в wireshark-е https://www.cyberforum.ru/savedimages/2015/04/17/mfqfhand2yyaddqd.png выделенные розовым - уже битые пакеты. далее включил #define SYS_LIGHTWEIGHT_PROT 1 , по идеи это защита критической области по освобождению памяти, разницы не заметил. затем включил системную статистику стека, #define LWIP_STATS 1 и структуре lwip_stats.memp.memp[1] появился счет ошибок https://www.cyberforum.ru/savedimages/2015/04/17/vdunb0gdqnkjhqjrax.png первое значение в .err по времени совпадает с появлением битых пакетов. причем ошибки появляются только в массиве memp[1], в других значение max не превышает avail. Далее, если так все оставить, счет прибавляется дальше, в конечном итоге работа полностью нарушается, происходит HordFault или просто все слетает ... Буду разбираться дальше )
0
|
|
|
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 115
|
|||||||||||
| 17.04.2015, 07:09 | |||||||||||
|
разобрался с отправкой, был косяк с очисткой psb (protosol control btock), каждый раз создавался новый, понятное дело через время залезал за пределы памяти.
сейчас так:
Наверно потому, что счет ошибок в: идет с чудовищной скоростью ... происходит это здесь:
не понятно почему так происходит и должно ли так быть ... стека на задачи отвел в 10 раз больше чем в примерах
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 71
|
|
| 17.04.2015, 12:09 | |
|
А что ОС не умеет освобождать память из кучи? Если да, то наверное стоит посмотреть в сторону uIP.
0
|
|
| 17.04.2015, 12:09 | |
|
Помогаю со студенческими работами здесь
4
Через какое-то время перестает работать хук stm32f105r8t6 CAN перестаёт передавать через какое-то время Через некоторое время перестает работать интернет Перестает работать интернет через некоторое время Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|