-
- Вот тут было решение, которое я пропустил. Набросал что-то вроде профайлера, который считает среди прочего количество запусков участка исходника. Выяснилось, цикл прокручивается довольно резво. Начал копать дальше. Оказывается - дело было в Dingo(158 знак., 12.02.2016 11:33)
- Я бы из примеров ST вообще поостерёгся что-либо использовать :-) - SciFi(12.02.2016 11:42)
- Много. 4 раза в секунду должен. Допилить либу, чтобы рапортовал откуда вызывается memp_malloc() и memp_free()? Там есть вроде подобный функционал, но не соображу, как запустить пока. Dingo(893 знак., 30.12.2015 06:35)
- Нельзя так. Если у Вас UDP_PCB pool размером, скажем, 4 элемента, то он исчерпается ровно за 1 секунду. Выделять PCB 4 раза в секунду - глупость. Что делать-то надо? - SciFi(30.12.2015 07:55 - 08:04)
- Ещё логи. Странно получается - вроде и блок выделил, но тут же ещё один выделяет. А принятые пакеты куда LwIP складывает? Я про ситуацию, когда было принято несколько пакетов между обращениями, они в цепочке связанных pcb окажутся? Dingo(822 знак., 30.12.2015 08:27 - 08:34)
- Нарезать на пакеты и отправить ~400 килобайт за секунду, причём времени на повторную отправку не будет (точнее- места под хранение последующих данных), потому и TCP не годится. При чём основная задача будет съедать больше 50% времени. И где размер Dingo(240 знак., 30.12.2015 08:18 - 08:20)
- Не надо увеличивать этот пул. Нужен всего один UDP PCB. Выделять при инициализации. Через него и отправлять это всё. - SciFi(30.12.2015 08:23)
- Идею понял. Просто как в примере было, так и по накатанной пошло. :( Dingo(68 знак., 30.12.2015 08:58)
- Вот реальный пример (SNTP клиент, ненужное срезано): SciFi(875 знак., 30.12.2015 09:35)
- Идею понял. Просто как в примере было, так и по накатанной пошло. :( Dingo(68 знак., 30.12.2015 08:58)
- Не надо увеличивать этот пул. Нужен всего один UDP PCB. Выделять при инициализации. Через него и отправлять это всё. - SciFi(30.12.2015 08:23)
- Нельзя так. Если у Вас UDP_PCB pool размером, скажем, 4 элемента, то он исчерпается ровно за 1 секунду. Выделять PCB 4 раза в секунду - глупость. Что делать-то надо? - SciFi(30.12.2015 07:55 - 08:04)
- Вот тут было решение, которое я пропустил. Набросал что-то вроде профайлера, который считает среди прочего количество запусков участка исходника. Выяснилось, цикл прокручивается довольно резво. Начал копать дальше. Оказывается - дело было в Dingo(158 знак., 12.02.2016 11:33)