|
быстрый TCP/IP-стек для STR912 |
|
|
|
Feb 27 2007, 18:59
|

Участник

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904

|
Нужна пропускная способность по протоколу TCP/IP порядка 1-2 МБайт/с. Нужно передавать данные с контроллера на PC (в одну сторону). Размер пакета не важен (видимо, нужен большой для высокой пропускной способности). Нужно только одно соединение. + хочется использовать стек без операционки. Рассматривался uIP. Но, как видно, он больше оптимизирован для 8-битных контроллеров. Настроить его на большую пропускную способность пока не удалось. Примеры на его основе - в основном, web-сервера, не требующие большой пропускной способности канала. Когда они переделываются на передачу данных, выясняется, что пропускная способность всего несколько килобайт/c.  Есть вариант с использованием операционки. Например, тот же RTX Kernel со стеком. Вопрос, какую пропускную способность эта связка сможет обеспечить и какая загрузка процессора будет при требуемой пропускной способности в 1-2 Мбайт/с.
|
|
|
|
|
 |
Ответов
|
Feb 28 2007, 20:18
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
У вас нет выбора. Это единственный нормальный стек доступный в исходниках и реально безопасный в многопоточных приложениях. Быстрые стеки однозначно требуют операционку. Открытые стеки типа uIP и lwIP очень кривые. Взять к примеру блокирующиеся сокеты без таймаута в lwIP, это гемороя на месяц не меньше чтоб обойти связанные с этим проблемы. И так по мелочи там много проблем. Цитата(EKirshin @ Feb 28 2007, 19:40)  Порт Micrium uC/OS-II со стеком TCP/IP на STR912 нашел. Есть примеры для IAR для платы от ST. По описанию внутри этого архива видно (на скриншотах), что у них TCP/IP на тесте передачи из контроллера в PC дает даже 2.9 Мбайт/с. Глянул исходники - они используют оптимизированную ассемблерную функцию вычисления контрольной суммы. + реализация всяких вещей TCP таких как окно на много сегментов.
Сделано, конечно, профессионально. куча комментариев, которые пронумерованы, ..., документация... Но уж очень большой исходник у них.
Хочется взять какой-нибудь стек без наворотов и "добавить" в уже существующий проект без операционки, чтоб не переписывать уже написанный код под эту операционку.
|
|
|
|
|
Mar 1 2007, 13:14
|

Местный
  
Группа: Свой
Сообщений: 290
Регистрация: 27-06-05
Из: Киев
Пользователь №: 6 345

|
Цитата(AlexandrY @ Feb 28 2007, 20:18)  У вас нет выбора. Это единственный нормальный стек доступный в исходниках и реально безопасный в многопоточных приложениях. Быстрые стеки однозначно требуют операционку. Открытые стеки типа uIP и lwIP очень кривые. Взять к примеру блокирующиеся сокеты без таймаута в lwIP, это гемороя на месяц не меньше чтоб обойти связанные с этим проблемы. И так по мелочи там много проблем. Цитата(EKirshin @ Feb 28 2007, 19:40)  Порт Micrium uC/OS-II со стеком TCP/IP на STR912 нашел. Есть примеры для IAR для платы от ST. По описанию внутри этого архива видно (на скриншотах), что у них TCP/IP на тесте передачи из контроллера в PC дает даже 2.9 Мбайт/с. Глянул исходники - они используют оптимизированную ассемблерную функцию вычисления контрольной суммы. + реализация всяких вещей TCP таких как окно на много сегментов.
Сделано, конечно, профессионально. куча комментариев, которые пронумерованы, ..., документация... Но уж очень большой исходник у них.
Хочется взять какой-нибудь стек без наворотов и "добавить" в уже существующий проект без операционки, чтоб не переписывать уже написанный код под эту операционку.
Безапеляционность ваших суждений иногда поражает. Вы бы для начала посмотрели списки рассылок (они очень большие) по LWIP. Что касается таймера - это не кривизна, а поведение стека в точном соответствии со стандартом (в рассылок это не раз перетиралось и обходится парой строчек кода в вашем рабочем приложении). Что такое по мелочи? Конкретнее, плиз. У нас этот стек работает на нескольких разных процессорах и никогда проблем не возникало. Слабое место его - документация, но там все сделано очень просто и иинтуитивно понятно. Операционка для него необязательна. Можно писать свои приложения на callback функциях, можно стандартно на сокетах. Uip - очень простой стек ориентированный на 8 битники и его рассматривать вообще не стоит.
--------------------
Если в сердце дверь закрыта - надо в печень постучать..
|
|
|
|
|
Mar 1 2007, 13:27
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Да нет Констнатин, эт ваши посты навеивают странные подозрения. Выложите свой LWIP и тогда посмотрим что у вас там действительно работает. Я так понял вы химичите со стеком и юзерам позволяете работать только через свою прокладку на PC для обмена с дивайсами. Еще кстати хотел у вас спросить как это вы Wiggler в CrossWorks подключаете к STR91x если на официальном сайте macraigor.com сказано, что он не поддерживает ядро ARM966? Цитата(КонстантинТ @ Mar 1 2007, 14:44)  Безапеляционность ваших суждений иногда поражает. Вы бы для начала посмотрели списки рассылок (они очень большие) по LWIP.
|
|
|
|
|
Mar 1 2007, 14:35
|

Местный
  
Группа: Свой
Сообщений: 290
Регистрация: 27-06-05
Из: Киев
Пользователь №: 6 345

|
Цитата(AlexandrY @ Mar 1 2007, 13:27)  Да нет Констнатин, эт ваши посты навеивают странные подозрения. Выложите свой LWIP и тогда посмотрим что у вас там действительно работает. Я так понял вы химичите со стеком и юзерам позволяете работать только через свою прокладку на PC для обмена с дивайсами. Еще кстати хотел у вас спросить как это вы Wiggler в CrossWorks подключаете к STR91x если на официальном сайте macraigor.com сказано, что он не поддерживает ядро ARM966? Цитата(КонстантинТ @ Mar 1 2007, 14:44)  Безапеляционность ваших суждений иногда поражает. Вы бы для начала посмотрели списки рассылок (они очень большие) по LWIP.
Ок в теле сообщения скомпилированные библиотеки, напрямую подключаетсяк кроссворку и файл opt.h с настройками, с которыми она компилировлась (работает на STR912). Что значит химичу со стеком и юзерами, не понял. Вам скриншот подключенного вигглера к STR912? И причем тут macraigor.com если кроссворк работает через свои библиотеки? Далее для кросворка я уже выкладывал loader.exe. Могу повторить, и рассказать по настройкам. Могу и нашу программу аналог глючного caps которая все это делает через вигглер. По LWIP проверял PING FLOOD потерь пакетов не было (в отлиичии от других стеков.).
--------------------
Если в сердце дверь закрыта - надо в печень постучать..
|
|
|
|
Сообщений в этой теме
EKirshin быстрый TCP/IP-стек для STR912 Feb 27 2007, 18:59 AlexandrY На STR91x стек TCP/IP от Micrium дает 2.3 Мбайта в... Feb 27 2007, 19:55 IgorKossak Цитата(AlexandrY @ Feb 27 2007, 18:55) На... Feb 28 2007, 17:02 KRS Если все в локалке ( в одном сегменте ) можно испо... Feb 27 2007, 21:05 AlexandrY Потеряете большинство пакетов, либо будете изобрет... Feb 27 2007, 21:29  KRS Цитата(AlexandrY @ Feb 27 2007, 21:29) По... Feb 28 2007, 00:59   Dopler Цитата(KRS @ Feb 28 2007, 00:59) Требовал... Feb 28 2007, 09:31  defunct Цитата(AlexandrY @ Feb 27 2007, 20:29) По... Mar 4 2007, 18:16 КонстантинТ Цитата(EKirshin @ Feb 27 2007, 18:59) Нуж... Feb 28 2007, 00:46 SpiritDance Цитата(КонстантинТ @ Feb 28 2007, 00:46) ... Feb 28 2007, 10:01  КонстантинТ Цитата(SpiritDance @ Feb 28 2007, 10:01) ... Feb 28 2007, 15:52     AlexandrY CrossWorks официально не поддерживает STR91x. Его ... Mar 1 2007, 15:24      КонстантинТ Цитата(AlexandrY @ Mar 1 2007, 15:24) Cro... Mar 1 2007, 17:47       AlexandrY Спасибо, заработало.
Но вы делаете довольно специф... Mar 1 2007, 20:41        КонстантинТ Цитата(AlexandrY @ Mar 1 2007, 20:41) Спа... Mar 1 2007, 21:11         AlexandrY Не, мы callback не применяем. Тогда рушится вся фи... Mar 10 2007, 01:10     boez Цитата(КонстантинТ @ Mar 1 2007, 13:35) Д... Mar 1 2007, 15:33      AlexandrY Есть решение более гибкое.
Берете и делаете FlashL... Mar 1 2007, 16:39     SpiritDance Цитата(КонстантинТ @ Mar 1 2007, 14:35) Д... Mar 1 2007, 15:35 Velund Цитата(EKirshin @ Feb 28 2007, 18:10) Пор... Mar 1 2007, 09:48  Shamil Цитата(Velund @ Mar 1 2007, 11:48) А може... Mar 1 2007, 11:09 Alex B._ >> Что то на микриуме стали пароли с логинам... Mar 1 2007, 10:06 SpiritDance Насчет подключений - тут наверно дело в том, что ... Mar 1 2007, 13:34 SpiritDance Лично мне например использовать h-jtag, особенно н... Mar 1 2007, 16:44 SpiritDance КонстантинТ
у так как насчет програмки, которая вм... Mar 9 2007, 17:03 SpiritDance Хм.
В кроссворксе почему-то не работают бреакпоинт... Mar 12 2007, 11:16 boez Константин, тут еще не перевелись люди, которым ин... Mar 23 2007, 18:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|