реклама на сайте
подробности

 
 
> Проблема с lwIP на microblaze
Чиповод
сообщение Jul 30 2011, 22:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Здравствуйте,

работаю с lwIP v.1.3.0, из примера XAPP1026. Проект standalone, режим RAW_API. Передача от платы в сторону PC идет отлично, поток 75МБит/c, который мне и нужен синими TCP пакетиками ниагарским потоком льется в окне WireShark.

А вот при попытке передачи от PC к плате lwIP захлебывается через некоторое время. Без каких-либо видимых причин через секунд 10 lwIP перестает отвечать на приходящие пакеты. PC пытается делать retransmition и через несколько таких попыток делает вывод, что серверъ умер.

Что интересно, если искусственно снижать скорость посылки пакетов с PC, то система начинает работать стабильнее, и на скорости ~300килобит/c вылетов замечено не было в пределах 30 мин. Но 300К это маловато.


Не встречался ли кто с подобными проблемами в lwIP?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
Чиповод
сообщение Jul 31 2011, 13:24
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Вот здесь: http://lists.gnu.org/archive/html/lwip-use...5/msg00062.html у человека тоже была проблема с lwIP, немного по другому поводу правда.

Народ тамошний ему советует: перекинь lwIP с 1.3.0 на 1.4.0 - делов, мол, на один день, а работает намного стабильнее. И еще выкинь из системы таймеры (NO_SYS_NO_TIMERS=1) и будет тебе полное счастье. Еще и скорость на 20% поднимется.

Человек тот внял совету, портанул свой lwIP (на 1.3.2 правда), таймеры выкинул и действительно счастье к нему пришло.

С ходу проапргейдить lwIP до 1.4.0 не удалось. Структурки lwIP, которые использует netif от Xilinx'а изменились, не могу найти толковый список изменений.

Кто-нибудь апгрейдил lwIP для Микроблейза до 1.4.0?? И как вообще его апргейдить, врукопашную разбирать новый код и сравнивать со старым?

Сообщение отредактировал Чиповод - Jul 31 2011, 13:28
Go to the top of the page
 
+Quote Post
Чиповод
сообщение Aug 1 2011, 19:31
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Ух, я подстрелил кабанчика!

Портировал lwip 1.3.2, боролся врукопашную с netifом, изменений было немного. Разрывы соединения исчезли! Но до конца разобраться не удалось по какой причине они возникали.

В 1.4.0 ввели очень много новшеств, и говорят работает стабильнее, так, что если кто может - поделитесь инфой как его обновить на MicroBlaze.

P.S. На прямо поставленный вопрос есть ли продвижение у Xilinx в обновлении lwIP ответа не последовало.

http://forums.xilinx.com/xlnx/board/crawl_...message.id=3996

Xilinx дает возможность разработчикам повышать свой скилл.

Сообщение отредактировал Чиповод - Aug 1 2011, 19:31
Go to the top of the page
 
+Quote Post
Дмитрий Мазунин
сообщение Aug 3 2011, 10:22
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 259
Регистрация: 19-09-05
Из: Екатеринбург
Пользователь №: 8 715



Используете MAC-контроллер с DMA ?
Кэш проца включен ?
Go to the top of the page
 
+Quote Post
Чиповод
сообщение Aug 6 2011, 20:56
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Цитата(Дмитрий Мазунин @ Aug 3 2011, 14:22) *
Используете MAC-контроллер с DMA ?

Ага, c DMA. MAC корка - axi_ethernet, DMA - axi_dma

Цитата(Дмитрий Мазунин @ Aug 3 2011, 14:22) *
Кэш проца включен ?
Ага, включен.
Go to the top of the page
 
+Quote Post
Дмитрий Мазунин
сообщение Aug 8 2011, 12:25
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 259
Регистрация: 19-09-05
Из: Екатеринбург
Пользователь №: 8 715



Тогда - читайте про кэш-когерентность !

В описании процессора, про MB не скажу, не работал, а для PPC - PowerPC Processor Reference Guide, Chapter 5: Memory-System Management, Software Management of Cache Coherency.
То же самое должно быть описано для MB, да это верно и для любого процессора с кэш в системе с ДМА.

Добавлю - необходимо просмотреть Xilinx-овский NETIF, там не очень аккуратно сделаны FLUSH/INVALIDATE (по крайней мере, так было в EDK 9.1). Кроме этого, была несовместимость с кэш-когерентностью в самом стеке LWIP - Xilinx не правит стек (видимо, принципиально), мы правили сами. Это относится также к версии 9.1, LWIP 1,2,0

Пока не вычистите все это, так и будет при вкл. кэш данных - то работает, то нет, чуть код или данные поменялись - другая ситуация...
Для контроля, что это именно эта проблема, откл. кэш данных.

Версию LWIP, думаю, менять не надо, используйте пока ту, которая в комплекте и разбирайтесь с кэш-когерентностью.

Успехов.
Go to the top of the page
 
+Quote Post
Чиповод
сообщение Aug 9 2011, 09:04
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Вон оно как оказывается. Спасибо за наводку, буду разбираться дальше.
Go to the top of the page
 
+Quote Post
Чиповод
сообщение Jan 27 2012, 09:25
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Кстати, сообщаю что в BSP ISE 13.4 обновился lwIP до 1.4.0
Go to the top of the page
 
+Quote Post
rezuk
сообщение Feb 2 2012, 16:03
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 26-01-11
Из: MOskow
Пользователь №: 62 489



Цитата(Чиповод @ Jan 27 2012, 13:25) *
Кстати, сообщаю что в BSP ISE 13.4 обновился lwIP до 1.4.0

Вы уже опробовали 13.4 с LwIp 1.4.0? Стабильнее работает?
Go to the top of the page
 
+Quote Post
Чиповод
сообщение Feb 3 2012, 14:47
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160



Цитата(rezuk @ Feb 2 2012, 19:03) *
Вы уже опробовали 13.4 с LwIp 1.4.0? Стабильнее работает?
Я только проверил, что оно компилируется и запускается - соеднинение есть. Однако, кажется не все настройки lwIP 1.4.0 были перенесены в BSP Xilinx. По крайней мере NO_SYS_NO_TIMERS я там не нашел. IP core axi_ethernet и драйвер для нее тоже надо обновлять до последней версии в ISE 13.4.

А по поводу стабильности, как выяснилось, сильно влияют настройки lwIP. По крайней мере, я подобрал такие, при которых 1.3.2 работает у меня стабильно. Наверно и 1.3.0 тоже бы так работало.
Go to the top of the page
 
+Quote Post
knirti
сообщение Feb 15 2012, 10:20
Сообщение #11





Группа: Новичок
Сообщений: 3
Регистрация: 10-11-11
Пользователь №: 68 234



Цитата(Чиповод @ Feb 3 2012, 18:47) *
Я только проверил, что оно компилируется и запускается - соеднинение есть. Однако, кажется не все настройки lwIP 1.4.0 были перенесены в BSP Xilinx. По крайней мере NO_SYS_NO_TIMERS я там не нашел. IP core axi_ethernet и драйвер для нее тоже надо обновлять до последней версии в ISE 13.4.

А по поводу стабильности, как выяснилось, сильно влияют настройки lwIP. По крайней мере, я подобрал такие, при которых 1.3.2 работает у меня стабильно. Наверно и 1.3.0 тоже бы так работало.

Не подскажите что за настройки, интереса ради?

Вопрос к тем, кто реализовывал Eth в XPS-SDK на плис. Замеряли ли Вы как быстро данные посланные с компьютера в плату с реализованным Eth вернутся обратно? У меня получалось на спартане 6 (speedgrade -2) со встроенным примером на С в SDK чуть больше 1 мс, если не превышать размер окна пакета. Замерял Wiresharkом.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 23:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.0141 секунд с 7
ELECTRONIX ©2004-2016