Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: стою перед выбором TN NET или lwIP.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
megajohn
запустил на LPC1778 MAC-уровень. По крайней мере пакеты из сетки вылавливает.

Стоит вопрос выбора TCP/UDP стека.

Ни того, и ни другого не применял. И интересует кто применял оба стека и на каком в итоге варианте остановился и почему.

В качестве RTOS применяю TnKernel, и вот думаю править ли древний TNNET написанный в 2009ом под LPC23xx или же прикрутить lwIP. У последнего и обновления возможны, однако первый более заточен под Ось и поэтому ожидаем более высокий DataRate
Golikov A.
Коллега на этот проц ставил ЛвИП и Какой то стэк от каила. Сказал что стэк от кеила лучше, быстрее и стабильнее работает... Но без операционки. Может эта информация вам пригодится..
KRS
берите TNNet это все таки порт BSD стека, тем более раз используете TNKernel.
Golikov A.
а еще на документацию надо обратить внимания. Для ЛВиП ее нет просто...
KRS
Цитата(Golikov A. @ Jul 20 2013, 09:59) *
а еще на документацию надо обратить внимания. Для ЛВиП ее нет просто...

Это как нету?
Все есть! К тому же еще код под doxygen

есть еще статья автора
Design and Implementation of the lwIP TCP/IP Stack
scifi
Цитата(Golikov A. @ Jul 19 2013, 20:14) *
Коллега на этот проц ставил ЛвИП и Какой то стэк от каила. Сказал что стэк от кеила лучше, быстрее и стабильнее работает... Но без операционки. Может эта информация вам пригодится..

У кейла стек поддерживает только один неподтверждённый TCP сегмент (а-ля uIP), поэтому "DataRate", упомянутый топикстартером, будет так себе, особенно если пинг медленный. Зато lwip - более полноценный стек, там такого ограничения нет. Но его нужно довольно тщательно настраивать, а в условиях скудности документации это непросто. Так что предполагаю, что ваш коллега просто не смог или не захотел его допилить.
Сам использую lwip без RTOS (http, telnet, SNMP, SNTP). Полёт нормальный.
Golikov A.
Цитата(KRS @ Jul 20 2013, 10:26) *
Это как нету?
Все есть! К тому же еще код под doxygen

есть еще статья автора
Design and Implementation of the lwIP TCP/IP Stack


может я чего-то не понял. Я пользовался только лвип.вики где были какие то ущербные статьи, примерами и все что я нашел.... А хорошего описания что зачем и какие функции что делают я не нашел. Приходилось читать текст кода и понимать что как работает...

Цитата(scifi @ Jul 20 2013, 11:04) *
У кейла стек поддерживает только один неподтверждённый TCP сегмент (а-ля uIP), поэтому "DataRate", упомянутый топикстартером, будет так себе, особенно если пинг медленный. Зато lwip - более полноценный стек, там такого ограничения нет. Но его нужно довольно тщательно настраивать, а в условиях скудности документации это непросто. Так что предполагаю, что ваш коллега просто не смог или не захотел его допилить.
Сам использую lwip без RTOS (http, telnet, SNMP, SNTP). Полёт нормальный.


Все может быть. Я кейловский не использовал, но коллега сказал что сначала он работал медленно, потом он включил режим без подветрждения каждого сегмента ( я так понимаю стандартный оконный режим на более 1 сегмента) и все заработало. На ЛвИП я получил примерно те же скорости что и он.

У меня ЛвИП на первый взгляд тоже работает, но иногда бывают сбои. Проскакивают запросы на ретрансмит пакетов. 1 пакет на 5 минут плотного трафика. Причины я так и не нашел, но там могло и железо быть виновато, у меня все это на ПЛИС крутилось в их процессоре. Так что чувство от ЛвИП двоякое...

stoker
Вставлю свои коментарии, ибо я тот самый колега.
Поскольку не являюсь большим фанатом ковыряния стеков, ибо не программист вовсе, да и на это уходит большое кол-во драгоценного времени. Однако оба стека удалось прикрутить к lpc1768. TNnet заработал практически сразу, благо есть тема где уже его поритили на данный камень. с LwIP пришлось изрядно помучится, но запустить все же удалось, однако я так и не смог нормально реализовать на нем DHCP и еще что то, уже не помню, разбираться не было времени и я его бросил. После этого перешел на Rl-tcpnet, до сих пор на нем сижу, благо в кейл оно встроено да и есть возможность работать с ихней же RTos, кстати вот фичи: http://www.keil.com/rl-arm/rl-tcpnet_specs.asp. Правда топикстартер уже работет с TNkernel, тада видимо прощще ставить TNnet.
Lotor
Цитата(stoker @ Jul 24 2013, 18:55) *
После этого перешел на Rl-tcpnet, до сих пор на нем сижу, благо в кейл оно встроено да и есть возможность работать с ихней же RTos

И какую скорость на кейловском стеке получили? У меня вышло в максимуме 18 Mb (на lpc2478). Для проекта этого хватило, но на будущее думал смотреть в другую сторону.
stoker
Цитата(Lotor @ Jul 25 2013, 10:58) *
И какую скорость на кейловском стеке получили? У меня вышло в максимуме 18 Mb (на lpc2478). Для проекта этого хватило, но на будущее думал смотреть в другую сторону.

Порядка 3,5 Мбайт в сек. плюс минус. LPC1768 на прием, TCP. Меня вполне устроило.
Grape
На lpc1778 работает и TNnet и LwIP. С dhcp в LwIP проблем не было, все завелось
сразу. По ресурсам процессора - примерно одинаково.

на Lwip максимальная скорость отдачи по http файла (100мб) из памяти порядка 6 Mb/s.
у TNnet точно больше 3 Mb/s.

оба стека использовались вместе с TNkernel.

некоторый плюс у LwIP - есть обсуждение на сайте разработчиков, есть ipv6 и ppp
минус - настройки требуют некоторого шаманства.

Lotor
Цитата(stoker @ Jul 25 2013, 12:04) *
Порядка 3,5 Мбайт в сек. плюс минус. LPC1768 на прием, TCP. Меня вполне устроило.

Думаю разница в скорости объясняется отличием тактовых частот наших процессоров. Если производительность устраивает, то работать с кейловским стеком одно удовольствие. Если нет - тут на форуме выкладывали самописный стек с производительностью в несколько раз лучше.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.