Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: xilkernel отправка UDP
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Oops
Всем привет!
Использую KIT ML403 ppc.
Собрал проект в EDK подключил гигабит IP ядро. ОС выбрал Xilkernel, для реализации TCP UDP протоколов подлючил lwip4 библиотеку, шлю UDP пакеты. Почемуто скорость ничтожно малая. Я думаю что проблема заключается в настройке ОС Xilkernel и библиотеки Lwip4. Скажите, может кто сталкивался, как оптимально настроить Xilkernel и lwip4, для отправки UDP пакетов.
sheh
Цитата(Oops @ Oct 11 2008, 17:34) *
Всем привет!
Использую KIT ML403 ppc.
Собрал проект в EDK подключил гигабит IP ядро. ОС выбрал Xilkernel, для реализации TCP UDP протоколов подлючил lwip4 библиотеку, шлю UDP пакеты. Почемуто скорость ничтожно малая. Я думаю что проблема заключается в настройке ОС Xilkernel и библиотеки Lwip4. Скажите, может кто сталкивался, как оптимально настроить Xilkernel и lwip4, для отправки UDP пакетов.


Вы используете библиотеку Lwip в режиме RAW или Socket?

Lwip4 както отдельно подключали? не через EDK?
У меня EDK 10.1 SP3 там только lwip3.
Oops
Я использую библиотеку Lwip4 подключаю в EDK 10.1 SP3. Использую API Socket.
Lwip4 подключил указав в опциях компилятора -llwip4 laughing.gif
sheh
Цитата(Oops @ Oct 13 2008, 19:18) *
Я использую библиотеку Lwip4 подключаю в EDK 10.1 SP3. Использую API Socket.
Lwip4 подключил указав в опциях компилятора -llwip4 laughing.gif


А какую скорость обмена Вам необходимо получить?
Oops
60 МБит/с надо. А щас скорость почемуто 500-1000 Кбит/с .
sheh
Цитата(Oops @ Oct 15 2008, 11:57) *
60 МБит/с надо. А щас скорость почемуто 500-1000 Кбит/с .


режим raw lwip непробывали?

может быть процессор еще чемто занят кроме приема по ethernet?
протокол UDP?
Oops
Цитата(sheh @ Oct 15 2008, 11:00) *
режим raw lwip непробывали?

может быть процессор еще чемто занят кроме приема по ethernet?
протокол UDP?

raw lwip не пробовал.
Процессор больше ничем не занят.
sheh
Цитата(Oops @ Oct 15 2008, 12:06) *
raw lwip не пробовал.
Процессор больше ничем не занят.


Скорее всего проблему решит использование lwip в режиме raw.
в режиме сокет стек работает очень медленно.
мой совет: пробуйте raw.
Oops
Цитата(sheh @ Oct 15 2008, 11:09) *
Скорее всего проблему решит использование lwip в режиме raw.
в режиме сокет стек работает очень медленно.
мой совет: пробуйте raw.


Хорошо. Спасибо. Будим пробовать.

Хм.. а бочему режим API медленый такой...
sheh
Цитата(Oops @ Oct 15 2008, 12:16) *
Хорошо. Спасибо. Будим пробовать.

Хм.. а бочему режим API медленый такой...


Как я понял режим сокет это обвязка для режима raw. По этому есть некоторое замедления работы стека.
Но это ИМХО.
Дмитрий Мазунин
To Oops:
Вы получили мое письмо с примером ?

RAW не нужен. На SOCKET API получаем до 80Мбит/сек полезного траффика на 100Мбит линке по TCP/IP (передача). Это практически вся полоса. UDP еще быстрее будет.

Поищите мои сообщения на форуме по этой теме.
Oops
Цитата(Дмитрий Мазунин @ Oct 15 2008, 11:47) *
To Oops:
Вы получили мое письмо с примером ?

RAW не нужен. На SOCKET API получаем до 80Мбит/сек полезного траффика на 100Мбит линке по TCP/IP (передача). Это практически вся полоса. UDP еще быстрее будет.

Поищите мои сообщения на форуме по этой теме.


Дмитрий я прочитал все ваши сообщения в форуме, что нашел по этой проблеме, попарился еще и только потом написал вам письмо с вопросами. smile.gif
Почту еще не смотрел но спасибо за помощь
Oops
Здравствуйте.

Пытаюсь подружить мой девайс с Xilkernel и Lwip. Для повышения скорости отправки пакетов: повысил
тактовую частоту ПЛИС, включил кэш, как советовали в сообщениях форума. Построил hard bitstream,

выбрал ОС xilkernel, lwip.
Xilkernel настроил так:
-------------------------------------------------
sysintc_spec =xps inc 0
stdout=RS232
stdin=RS232
config_bufmalloc=true
config_msgq=true
use_malloc= true
config_sema=true
config_msgq=true
use_malloc=true
config_pthread_support=true
static_pthread_table=(main_pthread) -эта нить создается в моем аппликэйшене
systemr_spec
systmr_freq=300000000
-------------------------------------------
остальное по умолчанию.
В настройке lwip установил тока тип:

api_mode=SOCKET API

остальное тоже по умолчанию.

При генерации BSP and Libraries вылазит ошибка:

"ERROR:MDT - xget_handle ELEMENTS * : A NULL handle was provided
ERROR:MDT - xilkernel () - expected integer but got ""
while executing
"xget_handle $memtable_handle "ELEMENTS" "*""
(procedure "::sw_xilkernel_v4_00_a::kernel_drc" line 55)
invoked from within
"::sw_xilkernel_v4_00_a::kernel_drc 58103280"
Runnning DRC for lwIP library...

lwIP can be used with the following EMAC peripherals found in your system:
TriMode_MAC_GMII
ERROR:MDT - Error while running DRC for processor ppc405_0...
make: *** [ppc405_0/lib/libxil.a] Error 2
Done!"

Я думаю надо чтото прописать в config_bufmalloc -> mem_table.

Опыта в конфигурации Xilkernel и Lwip не имею пока smile.gif
Подскажите что я не включил в настройках, или может выключить что нить надо?
Спасибо.
Дмитрий Мазунин
Скачайте и посмотрите XAPP1026.
Oops
Цитата(Дмитрий Мазунин @ Oct 17 2008, 13:14) *
Скачайте и посмотрите XAPP1026.

Скачал, посмотрел, настроил как там - всеравно скорость маленькая. Дмитрий Мазунин если я правильно помню вы писали что драйвер xilkernel както вручную дорабатывали. Может мне тоже драйвер поковырять следует. А еще интересует инкапсуляция данных в IP/UDP построеная на логике. Может ктото делал что подобное посоветуйте с чего начать?
maugli
А Вы читали у XILINXа AR #31785 - 10.1 EDK - Why is lwip_v3_00_a socket mode so slow? ? Там скорость потока ограничена 1 Mbps . Похоже на ваш случай .
KostyanPro
Цитата(Oops @ Oct 11 2008, 16:34) *
Всем привет!
Использую KIT ML403 ppc.
Собрал проект в EDK подключил гигабит IP ядро. ОС выбрал Xilkernel, для реализации TCP UDP протоколов подлючил lwip4 библиотеку, шлю UDP пакеты. Почемуто скорость ничтожно малая. Я думаю что проблема заключается в настройке ОС Xilkernel и библиотеки Lwip4. Скажите, может кто сталкивался, как оптимально настроить Xilkernel и lwip4, для отправки UDP пакетов.

Ковырял когда - то эту тему. Скорость не устраивала , как и в Вашем случае.

Попробуйте выкинуть lwip. Общайтесь напрямую с API функциями ethernet ядра.
Цифры не припоминаю (если не ошибаюсь на 10Мбит линке - 8..9 Мбит) , но с ethernetlite я получал намного выше скорости без всяких стеков для UDP.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.