|
FreeRTOS & uIP Stack, Ошибки в старом uIP и подключение нового |
|
|
|
Jan 25 2007, 17:29
|
Частый гость
 
Группа: Участник
Сообщений: 188
Регистрация: 10-10-06
Пользователь №: 21 172

|
При исследовании готового uIP в демо версии FreeRTOS был найден баг. Если при компиляции указать размер IP пакета небольшой, меньше чем стандартный в той сети, где будем работать, например у нас в сети 1500, а я указываю 1492, то происходит такая штука: Все что двигается без фрагментации пакетов, ходит хорошо. Фрагментация входящих пакетов так же проблем не вызывает. А вот фрагментация исходящих сбивается. После посылки первого пакета максимального размера 1492, принимающий компьютер вместо подтверждения (код 1) присылает запрос на повторную посылку (код 4) и так до конца. Из общих соображений, не должно быть проблемы, что мое устройство шлет пакеты поменьше, значит оно что-то не то указывает в пакете или при установлении связи. Я нашел, что в FreeRTOS встроена старая версия uIPот 2003-го года. На сайте разработчиков uIP http://www.sics.se/~adam/uip/index.html есть новая версия. Однако ее код заметно усложнился, по крайней мере появилась многотридность. Ни кто не пробовал ли ее подцепить под FreeRTOS?
|
|
|
|
|
 |
Ответов
(1 - 11)
|
Feb 7 2007, 11:01
|
Участник

Группа: Свой
Сообщений: 60
Регистрация: 3-08-06
Пользователь №: 19 285

|
Цитата(zltigo @ Feb 7 2007, 01:03)  Цитата(Мусатов Константин @ Feb 6 2007, 23:49)  Из двух зол: 1. Перевести LwIP под IAR и 2. Встроить современную библиотеку uIP Оказалось проще чем ожидал.
Непонятно   Да уж... Верно подмечено.
|
|
|
|
|
Feb 9 2007, 18:09
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Мусатов Константин @ Feb 9 2007, 16:31)  Информация для пользователей uIP. Как-то uIP тут ни причем - кто-то написал приложение (не из примеров поставляемых со стеком - по крайней мере я такого безобразия не нашел в оригинальной поставке) с явными ошибками  . Цитата Я нашел, что в FreeRTOS встроена старая версия uIPот 2003-го года. На сайте разработчиков uIP http://www.sics.se/~adam/uip/index.html есть новая версия. Начиная c 4.0.3 есть и образчики работы с 1.0 версией uIP полностью совпадающая с текущей версией с сайта.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 9 2007, 21:59
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Повторяю: 1. Упомяноутого Вами ошибочного кода в составе uIP не нашел, посему "катить бочку" на uIP не стоит. Это проблема кого-то из тех, кто писал приложение. Естественно, что при использовании "микроскопических" стеков высока вероятность проблем при использованием обращений к стеку в вариантах отличающихся от условий автора  . Нужно копать стеки достаточно глубоко, или полагаться на авось  . 2. uIP-1.0 входит в комплект FreeRTOS. Находится в .\demo\common\ethernet\uip\uip-1.0\ используется в демке для ARM9_STR91X, о чем помянуто в документации. Соответственно можно смотреть, как его прикрутил автор этой демки. P.S. К микростекам у меня интерес на данный момент почти "спортивный", по причине наличия своего обкатанного на своей шкуре с 90x годов. Однако возможно потребуется для одной учебно-левой работы использовать посторонний стек. Вот и присматриваюсь....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|