Блокировка LWIP на STM32

У меня возникла проблема с LWIP в моем проекте. Я использую микроконтроллер ST32F4 и работаю без ОС. Кажется, что сеть работает нормально, все протоколы работают, но затем (обычно через день или два) стек просто перестает работать. Кажется, это происходит при попытке установить новое соединение, но я не могу это подтвердить, потому что не смог определить причину этого в коде.

Кто-нибудь еще сталкивался с этой проблемой? Думаю, это может быть то же самое, что и этот парень.


person user9205858    schedule 11.01.2018    source источник


Ответы (1)


Вызываете ли вы какие-либо функции LwIP из каких-либо обработчиков прерываний, таких как UART и т. Д.?

Как вы подаете пакеты в / из LwIP? Непосредственно через обработчики прерываний, или вы вставляете их из «основного цикла»?

Блокировки также могут быть признаком двойного освобождения или использования после освобождения буферов.

Я также сталкивался с тем, что один проект был нестабильным из-за странных случайных блокировок при работе на максимальной частоте STM32. Если бы я разогнал свой STM32 до 100 МГц вместо 120 МГц, все мои проблемы исчезли ...

person Stian Skjelstad    schedule 15.05.2018