|
Проблема с lwIP на microblaze |
|
|
|
Jul 30 2011, 22:39
|

Частый гость
 
Группа: Участник
Сообщений: 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?
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Jul 31 2011, 13:24
|

Частый гость
 
Группа: Участник
Сообщений: 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
|
|
|
|
|
Aug 1 2011, 19:31
|

Частый гость
 
Группа: Участник
Сообщений: 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=3996Xilinx дает возможность разработчикам повышать свой скилл.
Сообщение отредактировал Чиповод - Aug 1 2011, 19:31
|
|
|
|
|
Aug 6 2011, 20:56
|

Частый гость
 
Группа: Участник
Сообщений: 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)  Кэш проца включен ? Ага, включен.
|
|
|
|
|
Aug 8 2011, 12:25
|
Местный
  
Группа: Свой
Сообщений: 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, думаю, менять не надо, используйте пока ту, которая в комплекте и разбирайтесь с кэш-когерентностью.
Успехов.
|
|
|
|
|
Feb 2 2012, 16:03
|
Участник

Группа: Участник
Сообщений: 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? Стабильнее работает?
|
|
|
|
|
Feb 3 2012, 14:47
|

Частый гость
 
Группа: Участник
Сообщений: 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 тоже бы так работало.
|
|
|
|
|
Feb 15 2012, 10:20
|
Группа: Новичок
Сообщений: 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ом.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|