Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TCP/IP стек для Cortex-M3
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
_Макс
Господа, прошу ваши впечатления о доступных без оплаты TCP/IP стеках с портами под Cortex-M3.

  1. uIP
  2. lwIP
  3. Free! NicheLite
  4. Ваш вариант)
klen
попробывал uIP на stm32f107
удобно, понятно, работает. проблем не обнаружил - но и сильно не тестил. использовался DHCP, TELNET, HTTP , почемуто с виндой работает хреново (большой ретрансмит, возможно я плохо сконфигурил uIP), с линуксом все ок.
zltigo
Совершенно бессмысленный опрос sad.gif
_Макс
Цитата(klen @ Apr 22 2010, 18:08) *
попробывал uIP на stm32f107
удобно, понятно, работает. проблем не обнаружил - но и сильно не тестил. использовался DHCP, TELNET, HTTP , почемуто с виндой работает хреново (большой ретрансмит, возможно я плохо сконфигурил uIP), с линуксом все ок.

Какие еще стеки пробовали, почему остановились на uIP?
scifi
Цитата(_Макс @ Apr 22 2010, 19:36) *
Какие еще стеки пробовали, почему остановились на uIP?

Если я ничего не путаю, uIP имеет фундаментальное ограничение: может быть только один неподтверждённый сегмент TCP при передаче. Это сильно упрощает реализацию TCP и уменьшает требования к объёму ОЗУ. Но это также может сильно замедлить скорость передачи данных на соединениях с медленным пингом. Вот и вся история. Соответственно, lwip - полная реализация TCP, где таких ограничений нет. Кстати, uIP и lwip создал один и тот же парень по имени Адам Дункельс, за что ему большое спасибо.
_Макс
Цитата(scifi @ Apr 22 2010, 22:45) *
Если я ничего не путаю, uIP имеет фундаментальное ограничение: может быть только один неподтверждённый сегмент TCP при передаче. Это сильно упрощает реализацию TCP и уменьшает требования к объёму ОЗУ. Но это также может сильно замедлить скорость передачи данных на соединениях с медленным пингом. Вот и вся история. Соответственно, lwip - полная реализация TCP, где таких ограничений нет. Кстати, uIP и lwip создал один и тот же парень по имени Адам Дункельс, за что ему большое спасибо.

Да, я тоже это выяснил. lwIP требует в несколько раз больше памяти но работает быстре и поддерживает больше протоколов. В целом, как я понял, где есть достаточно памяти, лучше использовать lwIP. Что правда, по нему нет такого мануала как на uIP и в нем намного больше файлов, соответственно разобрать будет сложнее. Альтернатив к сожалению я не нашел.
zltigo
Цитата(_Макс @ Apr 22 2010, 21:58) *
Альтернатив к сожалению я не нашел.

smile.gif smile.gif smile.gif http://google.com
_Макс
Цитата(zltigo @ Apr 22 2010, 23:07) *

Достойных свободных альтернатив. Пожалуй еще о TN NET можно подумать.
zltigo
Цитата(_Макс @ Apr 22 2010, 22:28) *
Достойных

Критерии массовой отбраковки в недостойные, пожалуйста, огласите.
Цитата
свободных альтернатив.

Начиная с самого распиаренного линуксового, bsd, старинные waterloo и KA9Q, масса халявы от производителей чипов, например, Microchip, от прозводителей всякого софта, море всяких разных не только от Адама находится на сайтах типа http://sourceforge.net и просто живописно разбросанных по интернету типа http://www.tuxgraphics.org/electronics/200...-ip-stack.shtml
klen
2_zltigo
конкретно есть предложения со сравнительными коментариями без посылания по урлам? я бы с радостью ознакомился с переработанным Вами материалом по данной теме.
zltigo
Цитата(klen @ Apr 24 2010, 09:00) *
конкретно есть предложения...

Для конкретных ответов нужны конкретные вопросы, которые не прозвучали ни у Автора, ни у Вас. Использование чего-нибудь для чего-нибудь это не постановка вопроса. К написанию обзоров на все случаи жизни категорически не готов. Да и пользовался на самом деле немногими. То, с чего начинал, учился разбирал по косточкам во времена, когда WWW еще не было в реальности и все тянулось с FTP модемом на 2400 из-за границы, это Waterloo. От него пошли свои порты и т.д. С линуковым - само собой знаком. BSD - тоже. Некотрое внимание уделял еще 3-4 стекам. Если потребуется максимально бескомпромиссный стек то буду отталкиваться от BSD порта сделанного Yuri Tiomkin. Наноскопический, по идеям совпадающий с рeализацией Guido Socher, тоже писал.
AlexandrY
Цитата(zltigo @ Apr 24 2010, 11:31) *
Для конкретных ответов нужны конкретные вопросы...


Зачем вопросы?
Если сталкивались с приложениями под интернет то критерии многие сразу ясны.

Во первых состав стека. Помимо примитивных ARP, UDP, IP, TCP для жизни еще нужны: SNAP, ICMP, DHCP, PPP, DNS, HTTP, SSL, CGI, SNMP, NAT, POP3, SNTP, SMTP, FTP, TELNET, RIP, PPTP, ...
Хороший стек должен поддерживать многозадачность и быть мультиинтерфейсным, естественно что должны быть при этом маршрутизация и форвардинг.
Неплохо если в нем будет API BSD сокетов и Net Debug.
Естественно стек должен тесно взаимодействовать с файловой системой желательно на Flash которая тоже должна прилагаться.
Стек должен иметь минимальные размеры (скажем не более 512КБ со всеми фичами) и способным работать даже на внутренней RAM микроконтроллера.

Кстати стек все это поддерживающий лежит здесь на FTP, но поскольку вопрос о "свободных", т.е. лишенных конкурентных преимуществ стеках то не буду его здесь называть.
zltigo
Цитата(AlexandrY @ Apr 24 2010, 11:40) *
Если сталкивались с приложениями под интернет то критерии многие сразу ясны.

Где Вы тут:
Цитата
Господа, прошу ваши впечатления о доступных без оплаты TCP/IP стеках с портами под Cortex-M3.

увидели слова "приложения под интернет"? Не говоря уже о том, что "приложения под интернет" бывают и нужны очень и очень разные. А поминаемый Cortex-M3 в общем-то по нынешним временам мелочевка для кофеварок.
demiurg_spb
Цитата(AlexandrY @ Apr 24 2010, 13:40) *
то не буду его здесь называть...
Отчего же? Очень даже интересно в образовательных целяхsmile.gif
Более того Фраза
Цитата
Господа, прошу ваши впечатления о доступных без оплаты
не исключает его из рассмотрения...
zltigo
Цитата(demiurg_spb @ Apr 24 2010, 11:50) *
Отчего же? Очень даже интересно в образовательных целяхsmile.gif

Ой, а Вы разве еще не знаете любимый AlexandrY-ом набор софта навешиваемый на uCOS?
AlexandrY
Цитата(zltigo @ Apr 24 2010, 13:04) *
Ой, а Вы разве еще не знаете любимый AlexandrY-ом набор софта навешиваемый на uCOS?


Бесспорно, у Micrium-а отличный стек, сверхнадежный и реактивный. Но увы, он весь не выложен да и в полном в нем далеко не все есть из перечисленного.
Я имел в виду другое.
Например, VxWorks был бы ближе к теме.
_Макс
Цитата(zltigo @ Apr 22 2010, 23:55) *
Критерии массовой отбраковки в недостойные, пожалуйста, огласите.

На данный момент я ищу стек, который:
  1. Требует до 40kB Flash
  2. До 8kB RAM
  3. Поддерживает: ARP, IP, TCP, UDP, ICMP, SSL, DNS, DHCP, PPP.
  4. Легко портируется на указанные выше микроконтроллеры.
  5. Имеет доступный и актуальный мануал.
  6. Ориентированный на использование с ОС.
  7. С++ - преимущество.
  8. Свободный.
zltigo
Цитата(_Макс @ Apr 24 2010, 14:00) *
[*]Легко портируется на указанные выше микроконтроллеры.

IP стек к ядру контроллера имеет десятое отношение, и уж точно ничтожное к легкости портирования .
Сдается мне, что Вы на самом деле ищите типа, того что упорно любят называть халявной "библиотекой" под какой-то конкретный чип. Такую муть обычно вываливают производители чипов. Ну а "8K RAM" в сочетании ну, например, с буквами "TCP" наводят на мысль, что неплохо-бы Вам подумать, и озвучить какой минимум миниморум функционала Вас устроит от этого самого TCP/IP.
scifi
Цитата(_Макс @ Apr 24 2010, 16:00) *
На данный момент я ищу стек, который:
  1. Требует до 40kB Flash
  2. До 8kB RAM
  3. Поддерживает: ARP, IP, TCP, UDP, ICMP, SSL, DNS, DHCP, PPP.

Я SSL пока не использовал, но сдаётся мне, что по требованиям к памяти (ПЗУ и ОЗУ) SSL сравним со всем остальным в этом списке вместе взятым. Также весьма сомневаюсь, что всё это уложится в 40/8 кБайт ПЗУ/ОЗУ. Чтобы не сильно разочароваться, боюсь, нужно умерить аппетит.
AlexandrY
Цитата(_Макс @ Apr 24 2010, 15:00) *
На данный момент я ищу стек, который:
  1. Требует до 40kB Flash
  2. До 8kB RAM
  3. Поддерживает: ARP, IP, TCP, UDP, ICMP, SSL, DNS, DHCP, PPP.
  4. Легко портируется на указанные выше микроконтроллеры.
  5. Имеет доступный и актуальный мануал.
  6. Ориентированный на использование с ОС.
  7. С++ - преимущество.
  8. Свободный.


PPP и ARP подразумевают два сетевых интерфейса - модемный и Ethernet. Т.е. наверно нужна будет маршрутизация.
Embedded опенсорсные стеки упомянутые выше не поддерживают эту фичу.
_Макс
Цитата(AlexandrY @ Apr 24 2010, 16:23) *
PPP и ARP подразумевают два сетевых интерфейса - модемный и Ethernet. Т.е. наверно нужна будет маршрутизация.
Embedded опенсорсные стеки упомянутые выше не поддерживают эту фичу.

Возможно использование двух интерфейсов, но в разных проектах, поэтому маршрутизация не нужна. Стек с маршрутизацией это уровень MPU+Linux, а не MCU+RTOS, как мне кажется. Для Linux есть и камни, и готовые тулчейны со всяческими сетевыми приложениями из мира x86. Я беру чуть ниже, уровень хорошего МК, какими мне видятся решения на Cortex-M3.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.