Гость MALLOY2 21 сентября, 2007 Опубликовано 21 сентября, 2007 · Жалоба я сейчас узаю lwip 1.2.0 на STR912F, результатми очень доволен, на тесте типа заполняем масив через memset и отпраляет получил на TCP 30.1 mbit/s на UDP до 60 mbit/s, с приемом немного хуже на UDP не измерял, а на TCP 19.8 mbit/s. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 21 сентября, 2007 Опубликовано 21 сентября, 2007 · Жалоба Как на lwip сделать FTP клиента? Или другими словами: как выглядит С программа в приборе со стеком lwip, чтобы прибор мог активно открыть на удалённом сервере два разных порта одновременно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 21 сентября, 2007 Опубликовано 21 сентября, 2007 · Жалоба да как все делают, а открыть можно скок угодно портов, все зависит от того скоко у вас памяти и какая нужна производительность, у меня на данный момент работает 2 порта сервера, и 1 порт клиента TCP и 1 UDP порт. Использую метод Callback но кому нравятся сокеты можно и их использовать. 1 порт сервера под telnet может подключатся только 1 клиент. и 1 порт под http может подключатся до 4 клиентов одновременно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
e-yes 0 21 сентября, 2007 Опубликовано 21 сентября, 2007 (изменено) · Жалоба LWIP, At91RM9200, GCC 4.1.2. HTTP-клиент. Скорость скачивания файлов - 5.7 Мбайт в секунду. Интересно, а сколько вообще предел для этого процессора в скорости передачи (интересует траф входящий, с точки зрения железки)? Изменено 21 сентября, 2007 пользователем e-yes Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 24 сентября, 2007 Опубликовано 24 сентября, 2007 · Жалоба Насчёт где достать исходники LwIP: на сайте freertos.org скачиваете архив исходников операционки с примерами. Среди примеров- порт данного стека (и заодно uIP) под эту операционку. Существует также порт LwIP стека под uC/OSII (гдето на sourceforge.net - если надо могу уточнить но в поисковике ищется). Эти файлы и взял за основу когда прикручивал LwIP к uC/OSII. Кто может дать сравнительный анализ uIP и LwIP по размеру кода и функциональности? Ато сомнения гложут... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 24 сентября, 2007 Опубликовано 24 сентября, 2007 · Жалоба Кстати, о птицах... А emBetter кто нибудь реально пробовал? http://www.stzedn.de/index.php?id=6&L=1 Расписано красиво... А как на деле? ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 · Жалоба emBetter - неизвестный продукт неизвестной фирмы. Лучше взять TCP/IP стек от фирмы CMX: http://www.cmx.com/tcpstacks.htm Он стоит 9500USD и свободно нигде не лежит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 25 сентября, 2007 Опубликовано 25 сентября, 2007 · Жалоба Кто может дать сравнительный анализ uIP и LwIP по размеру кода и функциональности? Ато сомнения гложут... Лучше автора никто не сравнит: http://www.sics.se/~adam/mobisys2003.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
e-yes 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 (изменено) · Жалоба Надо добавить, что сейчас LwIP свободно "доразрабатывается" на нонгну: savannah.nongnu.org/projects/lwip/ Пофиксено немало багов и функциональности добавлено. Изменено 25 сентября, 2007 пользователем e-yes Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 6 ноября, 2007 Опубликовано 6 ноября, 2007 · Жалоба После отимизаций стека LwIP на STR912FA получил скорость TCP 5.6 метра в секунду :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Waso 1 6 ноября, 2007 Опубликовано 6 ноября, 2007 · Жалоба После отимизаций стека LwIP на STR912FA получил скорость TCP 5.6 метра в секунду :).Весьма интересно в чем заключались эти оптимизации. Хотябы в общих словах. Кстати у меня при попытке увеличить TCP_SND_BUF выше TCP_MSS сразу пропадала связь и на аки он отвечал ресетами. Неужели у at91sam7x256 ему памяти не хватает... А так скорость 300килоБАЙТ в секунду уверенно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 7 ноября, 2007 Опубликовано 7 ноября, 2007 · Жалоба 1) 8- битные и 16 битные переменные полей которые работали как счетчки или как переменные хранящие длинну, также все локальные счетчики счетчики были сделаны 32 битным типом. 2) критичные функции типа CRC перенесены в ОЗУ (в итоге программа в ОЗУ сьела 8к ) 3) драйвер MAC буфиризирован. 4) в входном буфере нет копирования, тобиш выделяется место в PBUF под максимальную длинну пакета и в DMA подсовывается адресс, выделение происходит на опереженеие то есть раньше чем принят пакет, это сьедает больше памяти так как выделяется всегда на максимальный пакет, но колосально подымает производительность. В дальнейшем пакет никгде не копируется а по ходу продвижения по стеку разбирается. 5) естественно заменен алгоритм CRC на более быстрый, он кстати идет вместе с стеком но почемуто не включен в него. 6) выкинуты функции memcpy библиотечные и заменены на более быстрые. 7) ну и естественно выбраны оптимальные настройки памяти стека. 8) по итогу код стека во флеш. ~22К, в ОЗУ 8К, использовано памяти под кучу и другую фигню ~60к Ну приблизительно вот. Вот мои настройки стека lwipopts.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_z 0 12 ноября, 2007 Опубликовано 12 ноября, 2007 · Жалоба 3) драйвер MAC буфиризирован. Что это значит? можно подробнее? 4) в входном буфере нет копирования, тобиш выделяется место в PBUF под максимальную длинну пакета и в DMA подсовывается адресс, выделение происходит на опереженеие то есть раньше чем принят пакет, это сьедает больше памяти так как выделяется всегда на максимальный пакет, но колосально подымает производительность. В дальнейшем пакет никгде не копируется а по ходу продвижения по стеку разбирается. Т.е. вы реализовали то, что в лвип-шной конфе называют зеро сайз копи? Я тоже думал над реализацией чего либо подобного, но меня затерзали "мутные сомнения". Если ядро работает с езернет памятью, то захватывает шину и емак должен дождаться освобождения ресурса. Мы получаем выигрыш от отсутствия копирования память-память, но получаем блокировку емак-а. В ином варианте мы тратим время на копирование, но дальше работают оба банка памяти. Один с ядром, а другой с емасом. Я так понимаю, вы проводили какое-то тестирование. Можно ли подробнее узнать: 1 насколько этот механизм увеличил пропускную способность стека 2 есть ли пропадание пакетов из-за блокировки емак-а 3 Я понял что исходящие пакеты вы обрабатываете "по старому". Почему здесь не применяете зеро сайз копи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 13 ноября, 2007 Опубликовано 13 ноября, 2007 · Жалоба Если ядро работает с езернет памятью У STR912 нету езернет памяти, есть токо фифо которое в принципе скрыто от юзера, между фифо и озу стоит DMA. Смысл буферизации заключается в том что б как можно меньше терять пакеты. Если не запустить DMA пакет не будет принят. Работает следующим как токо принят пакет, выделяется новый pbuf размером на макс пакет (1520 байт) и запускается DMA и так пока не кончатся pbuf :), приложения следит за этими pbuf и когда надо передвает в стек. 1 насколько этот механизм увеличил пропускную способность стека намного как при передачи так и при приеме. изначально при первом старете получил 13 mbit/s передача и 5-6 mbit/s прием, на данный момент 40-46 mbit/s передача, 25-30 прием 2 есть ли пропадание пакетов из-за блокировки емак-а Пропадаение пакетов есть, особенно если сеть перегружена броадкастами, но это не от блокировки емака, а от нехватки pbuf, память ведь ограничена. 3 Я понял что исходящие пакеты вы обрабатываете "по старому". Почему здесь не применяете зеро сайз копи? Да по старому, вся проблема в STR DMA, он требует выравнивание адреса 4, а payload pbuf не имеет выравнивания и приемущественно расположен на границе 2 из-за 6 байтового MAC адресса. В дальнейшем можно будет переписать управление PBUF так чтобы выходные пакеты имели выравниваение, но это потом.... сейчас меня такие параметры устраивают, а времени в обрез Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_z 0 13 ноября, 2007 Опубликовано 13 ноября, 2007 · Жалоба У STR912 нету езернет памяти, есть токо фифо которое в принципе скрыто от юзера, между фифо и озу стоит DMA. Моя ошибка - невнимательно прочитал тред, я почему то был уверен, что вы используете лпс2300. Но в информация по любому очень интересная, большое спасибо :a14: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться