0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
1

stm32f2 ethernet lwip freeRtos

01.03.2016, 10:46. Показов 5841. Ответов 6
Метки нет (Все метки)

Доброго времени! Наблюдается следующая проблема в данной конфигурации: подаем питание, контроллер запускается, работает нное количество времени с обменом по ethrnet, далее либо перестает вообще пинговаться, либо сваливается в hard fail. Самое неприятное в данной ситуации, что ethernet работает корректно от 15 минут до 8 часов, очень сложно отловить момент. Подскажите что можно сделать и куда посмотреть в данное ситуации.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2016, 10:46
Ответы с готовыми решениями:

stm32f107vc + ethernet + freertos + IAR + lwIP
Добрый день всем. Взял я пример вот с этого сайта. catethysis.ru/stm32-lan8720-freertos-iar/ У...

LPC2368 + FreeRTOS + LwIP
Реально ли запустить на стек lwip на камне LPC2368 с ROM на борту 32 кБ? При этом нужна поддержка...

FreeRTOS+LwIP на TE-STM32F207
Доброго времени суток, такая ситуация: необходимо плату использовать как определенный сетевой узел...

STM32 + ENC28J60 + LwIP + FreeRTOS
Всем привет! Собственно, есть необходимость запустить сабж. Знаю, что глупо, но STM32F107 и физика...

6
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
01.03.2016, 13:13 2
В обработчике HordFault homdlerа выведите на дисплей или UART информацию:
о причинах HordFault - флаги, адрес источника, и т.п.;
о состоянии Ethernet-контроллера;
о состоянии lwIP стека.
0
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
01.03.2016, 14:06 3
Цитата Сообщение от moxpymm
... ethernet работает корректно от 15 минут до 8 часов, очень сложно отловить момент. ...
И у меня так было, пока я ему (LwIP) побольше памяти не подарил.

Ну и как уже писали - установите точное место вываливания в HordFalut. У меня это было постоянно одно и то-же место в недрах LwIP, с одними и теми же значениями регистров, указывающих на переполнение стека или отсутствие памяти (в PC регистре стояло одно и тоже значение всегда, не совпадающее с какими либо областями памяти).
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,483
01.03.2016, 17:42 4
ТС, у Кейла есть апноут №209 "Using Sortix-M3 omd Sortix-M4 Fault Exceptions". Для ликбеза полезно: как расшифровывать ситуацию с HordFault".
0
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
01.03.2016, 18:00 5
Я тут (HordFalut, MemoryManageFault Homdler для отладки причины) запостил свой код, который выводит все регистры в удобном виде на UART 1, при Hord Faultе.

Вот если бы еще нарыть где нить функцию, которая стек раскручивает с того места, где произошел сбой, вот бы цены ей не было бы.
0
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
03.03.2016, 10:51 6
Hord fail после выделения больше памяти стал происходить очень редко. Теперь просто перестает пинговаться. Включил в LwIp статистику с помощью LWIP_STATS. Добавил структуру lwip_stats в live watch в keil. Из статистики видно, что происходит потеря большого количества пакетов, плюс ошибки и переполнение памяти. Подскажите, куда копать?

<Изображение удалено>

<Изображение удалено>
0
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 804
09.03.2016, 22:35 7
У меня такая же картина поведения - после трех дней работы (4-5 запросов каждые 10 секунд) он перестает пинговаться.
Поискал в интере, есть такая проблема, и как я понял со своим английским, ошибка в недрах LwIP стека - а именно при приходе пакета от контроллера ETH в стек - идет запрос свободного буфера из пула, и если он не находится, кончились свободные буфера или кончилась память, то пришедший пакет так и не отрабатывается, и ETH контроллер не сбрасывается. Я особо копать дальше не стал, просто увеличил количество буферов, благо у меня 8 метров SDROM стоит, и памяти вроде хватает пока что. Теперь в статистике ошибок памяти нет, но появились дропнутые пакеты. И память все равно продолжает "утекать". Правда я заметил, что со временем она опять возвращается, и скорее всего связано это с какими то таймаутами внутри стека. Но я не понял какие. Правда у меня запрос идет максимум через 5 минут, и видимо этого таймаута все же недостаточно, и свободная память не восстанавливается. Вот пока так.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2016, 22:35

LwIP + NXP + freeRtos трабл
LwIP + NXP1769 + freeRtos, HTTP server падает через определённое количество запросов. Количество...

STM32F4+PHY+FREERTOS+LWIP+UDP скорость
Кто-нибудь тестировал максимальную скорость передачи данных при использовании...

XCore407I проблемы с настройкой ethernet + lwip
Добрый день, не получается инициализировать ethernet на XCore407I от WaveShare Плата подключена...

STM32F2 PWM синус
Требуется собрать преобразователь 230В 50Гц в 115В 60Гц. Т.е. преобразователь частоты. Есть...

Схема и питание STM32F2
Проверьте, пожалуйста, всё ли правильно в схеме питания для микроконтроллера STM32F2. Использую...

STM32F2, проснуться из standby по таймеру
Подскажите пожалуйста, как добиться чтобы после ухода в stomdby просыпалось через заданный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.