Jump to content

    
Sign in to follow this  
yura-w

Ethernet + Cyclone + Nios

Recommended Posts

Время течет, а вопросы возникают одни и те же )

 

Пытаюсь поднять ethernet на cyclone II с помощью Lan91C111.

После прочтения различных руководств решил собрать в Sopc Builder пример для Nios Simple Socket Server.

Как и написано в руководстве здесь делаю конфигурацию:

* cpu - full

* on-chip - 40960 byte

* jtag-uart

* LAN91C111 MAC/PHY (lan91c111 in SOPC Builder)

* PIO 8-bit output (led_pio in SOPC Builder)

* PIO, 16-bit output (seven_seg_pio in SOPC Builder)

* STDOUT device [uART or Joint Test Action Group (JTAG) UART]

* tristate-bridge для lan91C111

 

Генерится в Sopc Builder нормально.

Открываю Nios и делаю как написано в tt_nios2_tcpip.pdf: выбираю SSS, прохожу по всем свойствам RTOS и Software Components.

После компиляции выдает следующие сообщения об ошибке:

 

make: *** [system_description/../obj/system.h-t] Error 1 simple_socket_server_syslib line 0

make: *** [system_project] Error 2 simple_socket_server line 0

 

Пробовал на различных машинах - результат одинаковый.

 

Если кто-то сталкивался с этой проблемой, подскажите, как ее решить?

спасибо за помощь.

Share this post


Link to post
Share on other sites
Время течет, а вопросы возникают одни и те же )

У Вас своя плата или кит от Альтеры? Если второе, то там готовый работающий пример должен быть.

Если все свое, то попробуйте своей программой от NiosII записывать в регистры Lan91C111 и считывать, т.е. получить отклик. Получилось?

Потом нужно программно для Lan91C111 инициализировать PHY и пытаться выдавить что-то, а результат смотреть снифером.

Edited by Serhiy_UA

Share this post


Link to post
Share on other sites
У Вас своя плата или кит от Альтеры? Если второе, то там готовый работающий пример должен быть.

 

Плата от Альтеры Cyclone II EP2C35F672C6.

Как раз и беру пример из Nios - Simple Socket Server.

Пример собранной конфигурации в Sopc

post-44580-1252587980_thumb.jpg

и ошибка в Nios IDE:

 

причем вылазит при генерации system.h

 

Creating system.h...

10.09.2009 17:06:14 - (SEVERE) generate: java.lang.IllegalStateException: java.lang.IllegalStateException: java.lang.NumberFormatException: empty String

make[1]: *** [system_description/../obj/system.h-t] Error 1

 

 

Странно, почему из всего этого:

* One of the following networking interfaces

o LAN91C111 MAC/PHY (lan91c111 in SOPC Builder)

o Altera® Triple Speed Ethernet MAC (tse_mac in SOPC Builder)

* Programmable I/O (PIO), 8-bit output (led_pio in SOPC Builder)

* PIO, 16-bit output (seven_seg_pio in SOPC Builder)

* STDOUT device [uART or Joint Test Action Group (JTAG) UART]

* (Optional) LCD display (lcd_display in SOPC Builder)

отсюда

 

они забыли упомянуть про Timer, без которого естественного ничего не запускалось.

спасибо всем, кто помогал.

 

решение оказалось на поверхности - RTOS без таймера видимо не работает.

Share this post


Link to post
Share on other sites

К сожалению, пока так и не удалось скомпилить в Nios IDE Simple Socket Server на Cyclone II без ошибок.

Теперь в alt_error_handler.c

undefined reference to `perror' simple_socket_server_0 alt_error_handler.c line 180

 

 

 

Кто-нибудь сумел собрать в Sopc Builder'e такую конфигурацию, чтобы она успешно откомпилилась в Nios IDE 8.0 SP1.

Собирается StratixII_2S60_ROHS из примера, но нужен cyclone II.

 

Может у кого-нибудь есть рабочий пример, буду безмерно благодарен.

Share this post


Link to post
Share on other sites
А кто-нибудь делал Ethernet 100Мбит так:

 

PHY - внешняя микросхема

MAC - реализация в ПЛИС (на основе IP core)

Отсальное на NIOS (lwip например)

 

?

да, а в чем вопрос?

Share this post


Link to post
Share on other sites
К сожалению, пока так и не удалось скомпилить в Nios IDE Simple Socket Server на Cyclone II без ошибок.

Может у кого-нибудь есть рабочий пример, буду безмерно благодарен.

У меня DK-NIOS-2S60N. Я скомпилировал в Q7.2 пример SSS на standart и full_featured. Оба раза компиляция прошла нормально.

Сообщения об этом в приложении. Я пробовал sss еще пару лет назад, все получалось. Потом сам писал драйвера для 91c111, как бы усеченный IP-стек, все работает.

Share this post


Link to post
Share on other sites
Вопрос в том, имеет ли смысл применять MAC уровень в виде IP core или же лучше купить микросхему внешнего МАСа.

зависит от задачи. если есть ПЛИС, есть ресурсы, то почему бы и нет. думается по производительности этот вариант получше будет.

к тому же внешний MAC подороже PHY, а opencore - бесплатно.

Share this post


Link to post
Share on other sites

А пробовал ли кто OpenCores 10/100 Ethernet MAC with Avalon Interface от Jakob Jones (есчё называется eth_ocm вроде). Вроде по описаниям с буржуйских сайтов довольно неплохая штука: берём DP83848 + эта корка + ниос + сорцы на си и вроде всё фунциклирует (правда как обычно чувствую что где то здесь есть подвох :unsure: )

Share this post


Link to post
Share on other sites
А пробовал ли кто OpenCores 10/100 Ethernet MAC with Avalon Interface от Jakob Jones (есчё называется eth_ocm вроде). Вроде по описаниям с буржуйских сайтов довольно неплохая штука: берём DP83848 + эта корка + ниос + сорцы на си и вроде всё фунциклирует (правда как обычно чувствую что где то здесь есть подвох :unsure: )

тьфу-тьфу, юзаю уже больше года без нареканий.

Share this post


Link to post
Share on other sites
2 vadimuzzz - а можно чуть подетальнее - интересует доводка - пришлось ли допиливать что ?

практически нет. код драйвера там почти один-в-один с альтеровским (я писал свой, урезанный вариант, поэтому в основном выбрасывал). сама корка мне больше чем альтеровская нравится, там DMA-контроллеры прямо в нее встроены. просто один модуль в SOPC добавлеяшь eth_ocm и все. в альтеровской же (не знаю как сейчас) надо 3 компонента добавлять - tse, и 2 sgdma. hdl-код я не трогал. да, регистров там поменьше конфигурационных. но это скорее плюс :)

чуть не забыл, дока там в комплекте убогая, надо брать от опенкорковского контроллера (автор igor mohor), там все расписано.

Share this post


Link to post
Share on other sites
просто один модуль в SOPC добавлеяшь eth_ocm и все.

чуть не забыл, дока там в комплекте убогая, надо брать от опенкорковского контроллера (автор igor mohor), там все расписано.

Не могли бы Вы выложить где-нибудь или отправить мне это ядро с документацией. Что-то на опенкорес не могу его найти.

Какой PHY используете?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this