реклама на сайте
подробности

 
 
> Утечка памяти из PBUF_PULL, FreeRTOS 7.2 + LwIP 1.4.0
athlon64
сообщение Sep 29 2012, 10:54
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



Использую FreeRTOS 7.2 + LwIP 1.4.0, процессор STM32F217.
Сборка основана на демо-проекте с сайта st.com, в которой был обновлён сначала FreeRTOS, затем LwIP. С LwIP 1.3.2 утечка тоже была (собственно, поэтому и решил попробовать обновить LwIP 1.3.2 -> 1.4).

Проблема проявляется следующим образом:
Константа PBUF_POOL_SIZE = 20
Веду опрос контроллера по modbus-tcp с 4 клиентов, всё работает прекрасно. В статистике стека по использованию буферов PBUF_POOL used = 0..2, max = 4..5. Параллельно пингую контроллер.
Через некоторое время (обычно около 8-10 минут) счётчики используемых буферов начинают расти (used и max) вплоть до 20. Если во время роста остановить опрос контроллера, то счётчик used не обнуляется, т.е. буферы не освобождаются. Далее при дальнейшем опросе все буферы занимаются и все новые входящие пакеты игнорятся.

Проблема была и до обновления стека.
Подозреваю что баг либо в драйвере MAC, либо в моей задаче.
В какую сторону копать? Наверняка многие с этим сталкивались.
Прикрепленные файлы
Прикрепленный файл  eth_drv_stm32_freertos_lwip.zip ( 8.42 килобайт ) Кол-во скачиваний: 38
Прикрепленный файл  lwipopts.zip ( 2.17 килобайт ) Кол-во скачиваний: 38
Прикрепленный файл  modbus_tcp.zip ( 1.83 килобайт ) Кол-во скачиваний: 38
 


--------------------
Руслан
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 03:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016