Jump to content

    
Sign in to follow this  
AlexBel

NIOS для начинающих

Recommended Posts

Не стал создавать тему ради пустякового вопроса, но нигде не могу найти как создать проект С++ в NIOS II EDS, да и все примеры генерятся на Си. Подскажите где я что пропустил в этой жизни =)

 

ps: если быть более точным то сам проек на С++ создать не проблема File->New->Project->C/C++ ... но как тогда к нему подключить BSP?

Edited by Orochi

Share this post


Link to post
Share on other sites
Не стал создавать тему ради пустякового вопроса, но нигде не могу найти как создать проект С++ в NIOS II EDS, да и все примеры генерятся на Си. Подскажите где я что пропустил в этой жизни =)

 

ps: если быть более точным то сам проек на С++ создать не проблема File->New->Project->C/C++ ... но как тогда к нему подключить BSP?

 

В свойствах проекта указывается путь к BSP. В разных версиях в разных местах но везде есть. Или можно создать New->C project and BSP (как то так, точно не помню), т.е. шаблонный проект с BSP. Тогда сразу в проекте будет указан путь к BSP

Share this post


Link to post
Share on other sites
Orochi, в настройках bsp проекта есть галочка: support C++. Попробуйте ее включить. А так же порыться в свойствах проекта там есть настройки связанные с С/С++

Share this post


Link to post
Share on other sites

Никак не могу заставить загружатся ниос из EPCS. Раньше работал только с он чип памятью - прошивал прогаммером и все ок. Сейчас же в системе используется SDRAM. Пытаюсь делать как раньше, т.е. добавляю sof и elf прошиваю... цыклон грузится, ниос видно, но программа не стартует.

Система примерно такая:

post-52939-1346143188_thumb.jpg post-52939-1346143194_thumb.jpg post-52939-1346143198_thumb.jpg

Вектор сброса на EPCS, exeptions на SDRAM.

В дебаге все работает нормально. Почитал an458 и флэшпрограммер юзер гайд и понял, что для этого случая используется стандартный бутлодер.

Что я делаю не так? может кто поможет?

Share this post


Link to post
Share on other sites

Сделал как написано в этой теме - работает. Но правда пришлось порезать систему т.к. он чип памяти почти не осталось. Так как сделать чтобы отрабатывал бутлоэдер который находится в EPCS контроллере по умолчанию? Я так понял для него не требуется дополнительной памяти.

Share this post


Link to post
Share on other sites

Здравствуйте! Учусь работать с Quartus II и Nios II. Тренируюсь на KIT'е Cyclone IV GX Transceiver Starter Kit. Поставил для себя задачу через Nios processor написать сакраментальные "Hello World" на установленном на ките LCD. Сделал в Quartus'e схему, в SOPS builder'e процессор сделал. В Nios'e выбрал при создании проекта Hello World. И после Build all выдал ошибки.

post-74734-1356605206_thumb.jpg

Вижу не хватает памяти. Иду в SOPS builder и меняю объем памяти, на что снова вылезает группа ошибок. Эти ошибки я могу понять. В Datasheet'e память на плиске указана большая, чем Nios просит. Подскажите, что это за ошибки и где я мог накосячить?

post-74734-1356605635_thumb.jpg

Вот моя схема в Quartus'e.

post-74734-1356605758_thumb.jpg

Share this post


Link to post
Share on other sites
Здравствуйте! Учусь работать с Quartus II и Nios II. Тренируюсь на KIT'е Cyclone IV GX Transceiver Starter Kit. Поставил для себя задачу через Nios processor написать сакраментальные "Hello World" на установленном на ките LCD. Сделал в Quartus'e схему, в SOPS builder'e процессор сделал. В Nios'e выбрал при создании проекта Hello World. И после Build all выдал ошибки.

post-74734-1356605206_thumb.jpg

Вижу не хватает памяти. Иду в SOPS builder и меняю объем памяти, на что снова вылезает группа ошибок. Эти ошибки я могу понять. В Datasheet'e память на плиске указана большая, чем Nios просит. Подскажите, что это за ошибки и где я мог накосячить?

post-74734-1356605635_thumb.jpg

Посмотрите на распределение адресного пространства. Выберите автоматическое задание адресов.

Вот моя схема в Quartus'e.

post-74734-1356605758_thumb.jpg

Посмотрите в настройках проекта поддержка С++. Выключете её, если используете только внутреннюю память. Вообще, если вы только знакомитесь с Nios II, загляните сюда. Возможно, пригодится.

Share this post


Link to post
Share on other sites

Я в ниосе использую printf для отображения на консоли eclipse отладочной информации, но почему то без аргументов printf("hello world!") выводит один раз, а с аргументами printf("key = %d", key) - выводит на экран постоянно, хотя вызывается один раз, использую встроенную ОС uC/OS II? вывод происходит через Jtag-uart Спасибо

Share this post


Link to post
Share on other sites

Здравствуйте. Помогите пожалуйста разобраться с Ethernet для kit Stratix II 2s60. начал с мануала NicheStack TCP/IP Stack Выполняю пример для small socket server. Компилирую в Nios Eclipse. Дохожу до момента когда необходимо ввести в командной строке telnet 192.168.1.234 30. Ввожу. Выдает там же "подключение...", потом "не удалось открыть подключение к этому узлу, на порт 30: Сбой подключения". при этом появляется подключение по локальной сети. В чем причина?

Срочно необходимо осуществить передачу данных с ПЛИС по Ethernet. Вот и начал с примера. Подключение через telnet как я понял в этом примере дает возможность передавать/получать данные с использованием командной строки.

 

PS И еще в отличии от мануала запустить проект small socket server на Nios II IDE вообще не получилось. Не клмпилируется. Поэтому использую Eclipse

Edited by farbius

Share this post


Link to post
Share on other sites

Вышеупомянутая проблема может быть связана с использованием Eclipse, а не Nios II IDE?

Пытался запустить Nios ide для разных примеров. безуспешно. Постоянно выдает примерно

**** Build of configuration Debug for project simple_socket_server_0 ****

make -s all includes 
Creating generated_app.mk...
      3 [main] ? (4072) C:\altera\11.0\quartus\bin\cygwin\bin\make.exe: *** fatal error - couldn't allocate heap, Win32 error 487, base 0x800000, top 0x890000, reserve_size 585728, allocsize 589824, page_const 4096
      2 [main] make 2808 fork: child -1 - died waiting for longjmp before initialization, retry 0, exit code 0x100, errno 11
make: C:/altera/11.0/nios2eds/components/altera_hal/build/app_rules.mk:147: fork: Resource temporarily unavailable
/bin/sh: /cygdrive/c/altera/11.0/nios2eds/components/altera_hal: is a directory
      3 [main] ? (3668) C:\altera\11.0\quartus\bin\cygwin\bin\sh.exe: *** fatal error - couldn't allocate heap, Win32 error 487, base 0x680000, top 0x690000, reserve_size 61440, allocsize 65536, page_const 4096
      2 [main] sh 2916 fork: child -1 - died waiting for longjmp before initialization, retry 0, exit code 0x100, errno 11
/bin/sh: fork: Resource temporarily unavailable
Error: no processor component available.
SOPC_BUILDER_PATH may be incorrectly set in your environment.
      4 [main] ? (3688) C:\altera\11.0\quartus\bin\cygwin\bin\make.exe: *** fatal error - couldn't allocate heap, Win32 error 487, base 0x6C0000, top 0x7A0000, reserve_size 913408, allocsize 917504, page_const 4096
      2 [main] make 2496 fork: child -1 - died waiting for longjmp before initialization, retry 0, exit code 0x100, errno 11
make[1]: vfork: Resource temporarily unavailable
Creating system.h...
      4 [main] ? (3472) C:\altera\11.0\quartus\bin\cygwin\bin\sh.exe: *** fatal error - couldn't allocate heap, Win32 error 487, base 0x710000, top 0x720000, reserve_size 61440, allocsize 65536, page_const 4096
      2 [main] sh 3104 fork: child -1 - died waiting for longjmp before initialization, retry 0, exit code 0x100, errno 11
/cygdrive/c/altera/11.0/nios2eds/bin/gtf-generate: fork: Resource temporarily unavailable
make[1]: *** [system_description/../obj/system.h-t] Error 128
make: *** [system_project] Error 2
Build completed in 113.863 seconds;

 

или

 

**** Build of configuration Debug for project hello_world_0 ****

make -s all includes 
      4 [main] ? (2940) C:\altera\11.0\quartus\bin\cygwin\bin\sh.exe: *** fatal error - couldn't allocate heap, Win32 error 487, base 0x6D0000, top 0x6E0000, reserve_size 61440, allocsize 65536, page_const 4096
      2 [main] sh 3004 fork: child -1 - died waiting for longjmp before initialization, retry 0, exit code 0x100, errno 11
/bin/sh: fork: Resource temporarily unavailable
Creating generated_app.mk...
Creating generated_all.mk...
Error: no processor component available.
SOPC_BUILDER_PATH may be incorrectly set in your environment.

make[1]: *** [proc_check] Error 1
make: *** [system_project] Error 2
Build completed in 157.968 seconds
;

 

При этом различные танцы с бубном, шаманские песни и прочие манипуляции типа: смена версии Quartus с 11.0 на 9.1 на 6.0 на 9.1 sp2, а также window 7 на XP, установка java, не решили ситуацию.

Сейчас использую Window 7, Quartus 11.0, кит Stratix II DSP. Порядок действий: Заливаю в stratix пример Standart sof, далее создаю в IDE Nios C ++ Application, указываю на prf файл, выбираю пример, типа Hello world. Run as - Nios II Hardware.

Edited by farbius

Share this post


Link to post
Share on other sites
... Помогите пожалуйста разобраться с Ethernet для kit Stratix II 2s60...

А какой чип используется для Ethernet? PHY или контроллер?

У меня был Stratix II 2s60 с контроллером 91c111, все получилось. Правда на NIOS пришлось писать свой усеченный TCP/IP протокол, так как то, что предлагалось от производителей оказалось уж очень мудренным...

 

Share this post


Link to post
Share on other sites
А какой чип используется для Ethernet? PHY или контроллер?

У меня был Stratix II 2s60 с контроллером 91c111, все получилось. Правда на NIOS пришлось писать свой усеченный TCP/IP протокол, так как то, что предлагалось от производителей оказалось уж очень мудренным...

 

реализация MAC аппаратная, тоже на 91c111. Сегодня буду собирать свой проект на Qsys. Для Nios опять возьму Small socket server.

Проект в Qsys попробую сделать так:

* 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

 

Скажите пожалуйста, что представляет собой усеченный TCP/IP протокол?

 

Share this post


Link to post
Share on other sites
Скажите пожалуйста, что представляет собой усеченный TCP/IP протокол?

 

Было сделано ICMP/PING, ARP, UDP (прием редко, выдача непрерывным потоком). В итоге Ethernet-100.

Все протоколы на Ниос-2, только вычисление контр.сумм для массивов UDP аппаратно.

В качестве платформы - кит DK-NIOS-2S60N. Там еще много аппаратного на verilog.

На ней было несколько проектов.

 

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