romas2010 1 11 января, 2020 Опубликовано 11 января, 2020 · Жалоба Добрый день! запустил сетевые службы, используя библиотеку Keil Middleware. Работает, UDP-коллбеки вызываются, TCP+FTP отлично. Но это на первый взгляд. Столкнулся с такой петрушкой- как только к сети подключались IP-камеры, FTP глючит. Ну наверное теряется пакеты. Поступил так- TCP в проекте отключил,написал на билдере "спамер" по UDP, в проекте подключил UDP, в коллбеке тупо считаю, сколько пакетов принялось, в вайршарке мне показывает сколько отправилось. В CMSISовском EMAC_STM32F4xx.c в функции ReadFrame тоже поставил счетчик принятых пакетов. В итоге на уровне драйвера потерь потери пакетов нет,вайршарковский счетчик и счетчик в ReadFrame совпадали, а в коллбеке счетчик стабильно был меньше, причем так сумасшедше меньше, на 20-25%. Причем не помогло ни увеличение количества приемных дескрипторов, ни увеличения Memory pool для библиотеки. Сталкивался ли кто с таким и какие меры приняли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 11 января, 2020 Опубликовано 11 января, 2020 · Жалоба Сама IP библиотека - это набор функций, которые конечно же не будут отбрасывать пакеты по собственному желанию. На лицо - либо пакеты не успевают обрабатываться в прерываниях и складываться в буфер, либо буфер не успевает разгребаться самим IP стеком. Если просто, то можно отключить все, что возможно, кроме IP стека. И сравнивать. Но есть и более взрослый путь: В Keil Middleware встроен очень полезный инструмент - EventRecorder, который позволяет в реальном времени смотреть за состоянием тех их иных ресурсов (в частности, в режиме отладки). Если используется Keil RTOS, то там же можно посмотреть какие задачи сколько жрут ресурсов. Только анализ того, что происходит со всей системой, позволить выяснить источник тормозов. Без подобного инструментария можно и дальше гадать на кофейной гуще, попутно обвиняя IP-стек в багах, но на деле как обычно косяк в юзер-коде )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться