Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NIOS для начинающих
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
Reanimator++
Вопрос от совсем начинающего )

Есть плата с Cyclone2, в котором Nios2 и немного логики.

Попробовал собрать и позапускать примеры - работает. Делал по мануалу hardware development tutorial.


Собрал свою систему в которой cpu, onchip_mem, uart, pio и sysid.

Модификацией примера hello_world_small добился что оно начало делать то что мне нужно. Обрадовался что все работает.

Решил добавить epcs_controller_module для того чтобы номер платы сохранять.
Добавил его в SOPC, пересобрал железо в квартусе, залил в плату.
Пересобрал софт, запускаю, IDE говорит что NIOS не отвечает.

Попробовал вернуть обратно, пересобрать заново, все-равно не отвечает. Пробовал разнообразные варианты пересборки и тыкания на все подряд, но пока результата так и не получил.

Собственно, как диагностировать почему IDE не может законнектиться к процу? Чего ему не хватает для счастья?
vadimuzzz
Цитата(Reanimator++ @ May 9 2010, 17:54) *
Собственно, как диагностировать почему IDE не может законнектиться к процу? Чего ему не хватает для счастья?

логи покажите (NIOS IDE). картинку из билдера тоже можно.
Reanimator++
Я все облазил но файла с логами IDE не нашел..

Я конфигурирую плис через Quartus Programmer, затем жму на проект Run As Nios 2 Hardware.
после успешной компиляции IDE пишет в консоли -

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused

Картинка из билдера не очень информативна.. Вложил. Еще вложил успешный лог билдера..
vadimuzzz
попробуйте "Run As..", создать новую конфигурацию, что пишется? если все в "Auto", от должен сначада усб-бластер увидеть, а потом проц, что пишется?
Reanimator++
Насчет того что вы последний раз написали не совсем понял куда смотреть.
Юсб бластер видится еще когда я Quartus 2 Programmer запускаю чтобы железо проца залить в плату. А вот софт для проца уже не получается загрузить через jtag debugging module.

Я провел следующие эксперименты:

1. В глючный проект железа (не отвечающий проц) пытался залить разные софтовые проекты, в том числе не родные (для другого железа) и точно рабочие.
Результат везде один - проц не отвечает, FAILED. Причем даже до проверки sysid дело не доходит, сразу же вешается.

Сделал вывод что копаться надо в том что квартус создает.

2. Создал заново пустой проект с дефолтными настройками (мало ли что я там натыкал). Скопировал туда единственный верилоговский файлик с моей логикой и инстанциацией (фу, слово-то какое) проца. Создал заново в SOPC (протыкал мышой, а не копировал файлы) проект как на картинке (только без таймера, он мне не нужен).
Откомпилировал, залил в плату.
Создал минимальный тестовый пример из шаблона в NIOS IDE и запустил Run As Nios II Hardware.
Проц нашелся, прога отработала.

Вернулся в квартус, добавил epcs_flash_controller в SOPC, пересобрал, перекомпилировал, перезалил в плату.
В Nios IDE пересобрал тестовый пример, запустил - проц не видится, FAILED.

Вернулся в квартус, удалил epcs_flash_controller в SOPC, пересобрал, перекомпилировал, перезалил в плату.
В Nios IDE пересобрал тестовый пример, запустил - проц нашелся, программа отработала.

Т.е. добавление epcs контроллера в SOPC систему добивает проект.

В принципе меня устраивает и то что сейчас работает, но как-то не нравится мне это все, если добавление одного в принципе несложного компонента приводит к таким непредсказуемым результатам. И самое главное я не знаю как понять чего именно хочет от меня система..
vadimuzzz
а куда reset/exception указывает (особенно в нерабочем варианте)? как конфигурируется ПЛИС? только через jtag? еще настройки system library покажите
Reanimator++
Reset - 0x00
Exception - 0x20
оба в onchip_mem, т.к. другой памяти нет. (собсно, у меня только один чип циклона на плате)
настройки system lybrary минимальные, см картинку.

впрочем, опять же я пробовал грузить даже проекты под другое железо, результат тот же, т.е. врядли дело в Nios IDE...

да и разве Jtag Debugging Module не должен отрабатывать не зависимо от того где сейчас проц исполняет код и вообще что бы там с ним ни было?

В окончательном виде платы плис конфигурируется в AS режиме из EPCS4 (к ней доступ и хотел получить для хранения номера платы.).
На время экспериментов она была пустой и все делалось через JTAG.
vadimuzzz
а какая версия квартуса? тут недавно было -> http://electronix.ru/forum/index.php?showtopic=74308 была бага в самом квартусе
Reanimator++
Собственно, если в плату железо не залить совсем, то IDE ругается громко и красно, что железа нету, настойчиво предлагает сконфигурировать плис и запускает программер.


Думаю, для дальнейшего надо попробовать собрать вообще пустой проект, содержащий только проц и epcs_controller и выложить его...

Quartus II 9.0 build 132 02/25/2009 SJ Full Version, взято с torrents.ru.

Проблем с прошивкой флешки как в той теме нету, сейчас доваял рабочую прогу без доступа к epcs, создал в квартусе jic файл из sof-а, и программером закачал. При включении питания все сразу же запускается и работает.
vadimuzzz
Цитата(Reanimator++ @ May 10 2010, 21:15) *
Проблем с прошивкой флешки как в той теме нету

там не с флешкой проблема, а с sof-файлом, если мне память не изменяет (было на alteraforum.com). похоже, что проц даже не инитится. м.б. вдобавок к процу в систему добавить независимый (от проца) блочок, лампочкой помигать, что прошивка прошла
Reanimator++
хорошая идея cool.gif , завтра попробую
Reanimator++
Мучения прервал, наткнувшись на описание своей проблемы в раздачах квартуса на torrens.ru. Человек пробовал 9-й квартус, вплоть до 9.1 SP2. Стабильную работу получил на 8.1. Видимо плохо отломали 9-й... Буду пробовать 8.1.
vadimuzzz
странно, чего там ломать. на всякий случай: у меня в 9.1сп2 таких проблем не было
styuf
Доброго времени суток всем. У меня такой вопрос - касательно лицензии - Во сколько станет лицензия на квартус + nios ii + использование uOS + TCP-IP стэк стандартный? И что именно нужно купить, что бы с этим работать? Пробовал писать проекты с крякнутым квартусом - дальше запуска примеров не ушел, так как при добавлении минимальных изменений начинает ругаться на таймлимитед функции.
Ну и естественно, если можно сломать, то я буду рад услышать как.
vadimuzzz
по квартусу (может подойти и веб-эдишн)
http://www.altera.ru/cgi-bin/price/price

по мегафункциям
http://www.altera.ru/cgi-bin/go?23#n1
Iouri
Господа,

Пытаюсь создать проект под Эклипс пробовал EDS10, with Q10, EDS9.1 with Q9.1, OS Win7.0 32 bit,
получаю собщение


: "Unable to create project" reason Failed to execute ./create -this -app --no-make

далее кликаю на кнопку детали и получаю вот такое сообщение

chmod:changing permissions of ,':Permission deniedchmod: changing permission of"/
create -this-app': Permission denied..

Подскажите в чем может быть поблема, под ХР все работает нормально

Спасибо!

torik
Проблема в совместимости, наверное, как обычно. Ставьте Q10.0 или запускайте в режиме совместимости...
jb83
Здравствуйте вам.

Представим себе ситуацию: кристально честный человек biggrin.gif хочет проектировать устройства на основе FPGA фирмы Altera (с использованием NIOS II, а также без оного) - что для этого нужно КУПИТЬ?? Погуляв немного по просторам Altera'шного сайта, я набросал такой список:
- Quartus II Subscription Edition.
- Лицензия для NIOS II Core.
- IP МегаКорки по вкусу.

Вопросы:
1) Достаточно ли перечисленного выше набора для полноценной (не time-limited) работы?
2) Какие MegaCores идут в составе Quartus'а (или он поставляется "голый")?
3) Нужно ли в список добавить C2H Compiler (насколько он востребован и можно ли обойтись без него)?

Заранее благодарен.
des00
Цитата(jb83 @ Jul 22 2010, 00:08) *
2) Какие MegaCores идут в составе Quartus'а (или он поставляется "голый")?


обратитесь сюда вам дадут полный расклад на лицензионный квартус
jb83
Цитата(des00 @ Jul 22 2010, 08:22) *
обратитесь сюда...


у них это где-то на сайте озвучено (чего-то не по глазам unsure.gif )?? или спросить через контакты?
Stewart Little
Цитата(jb83 @ Jul 22 2010, 09:08) *
... проектировать устройства на основе FPGA фирмы Altera (с использованием NIOS II, а также без оного) - что для этого нужно КУПИТЬ??

Что покупать - это зависит от задачи.
В минимальной конфигурации ничего покупать не надо - используйте Quartus II Web Edition и вариант процессорного ядра NiosII/Economy - он бесплатный начиная с версии 9.1 ЕМНИП.
Если задача более сложная, то переходим ко второму вопросу.

Цитата(jb83 @ Jul 22 2010, 09:08) *
Погуляв немного по просторам Altera'шного сайта, я набросал такой список:
- Quartus II Subscription Edition.
- Лицензия для NIOS II Core.
- IP МегаКорки по вкусу.

Вопросы:
1) Достаточно ли перечисленного выше набора для полноценной (не time-limited) работы?

Для "не timelimited" - достаточно. Но полнота этого списка опять-же зависит от задачи.
Во-первых, Quartus II Subscription Edition не является жизненно необходимым. Под большое кол-во задач хватит и Web Edition'а.
Далее - планируете ли Вы моделировать Вашу систему? - Если да, то добавляйте в список ModelSim-Altera Edition (платную версию) или ModelSim-Altera Starter Edition (эта версия бесплатная, но у нее имеется ограничение на кол-во строк симулируемого кода - до 10000 строк, ЕМНИП).
Планируете ли Вы использовать ethernet? Если да, то добавляйте в список стек протоколов InterNiche.
Планируете ли Вы использовать RTOS? Если да, то добавляйте в список ось по Вашему выбору.
И т.д.

Цитата(jb83 @ Jul 22 2010, 09:08) *
2) Какие MegaCores идут в составе Quartus'а (или он поставляется "голый")?

Вместе с квартусом инсталлируется вся библиотека альтеровских ip-ядер (полный список см. на сайте у альтеры). Для них требуется приобретение лицензий.
Особая песня - периферийные устройства, входящие в состав библиотеки SOPC Builder'а - они лицензирования не требуют.

Цитата(jb83 @ Jul 22 2010, 09:08) *
3) Нужно ли в список добавить C2H Compiler (насколько он востребован и можно ли обойтись без него)?

Если планируете использовать аппаратное ускорение сишного кода - то включайте. Если нет, то и не надо.
jb83
Цитата(Stewart Little @ Jul 22 2010, 13:32) *
... планируете ли Вы использовать ethernet? Если да, то добавляйте в список стек протоколов InterNiche.


А если прикрутить один из многочисленных опенсорц TCP/IP стеков (тот же uIP, например)? или это для начинающего слишком замороченная задача?
vadimuzzz
Цитата(jb83 @ Jul 22 2010, 20:54) *
А если прикрутить один из многочисленных опенсорц TCP/IP стеков (тот же uIP, например)? или это для начинающего слишком замороченная задача?

можно даже использовать опенсорц IP-ядра, тот же Ethernet MAC. а халявы нигде не будет, чуть дальше "hello world" - придется разбираться.
Shaggy
Здравствуйте, подскажите пожалуйста в NIOS возможна ли такая вставка
Код
FILE *f;
f=fopen("Massiv.txt","r");
fscanf(f,"%d",&c);
fclose(f);

Необходимо считать данные из файла, чтобы потом погрузить их в ПЛИС. Может быть есть какие-то еще варианты, для того чтобы вытащить из файла данные?
vadimuzzz
разумеется, возможно, но:
файловые операции предполагают наличие файловой системы, а конкретно вызовы fopen, fscanf и т.п. - использование библиотеки stdio. что, вообще говоря, для систем с ниосом вовсе не обязательно. из вашего вопроса не ясно где находится файл и кто в ПЛИС является потребителем. телепаты в отпуске, да smile.gif
Shaggy
Код
int c;
с=0;
FILE *f;
f=fopen("D:\Massiv.txt","r");
fscanf(f,"%d",&c);
fclose(f);

Это всего лишь пример... Проблема заключается в том,что в значение переменной не изменяется. Как был 0 так он и остался, в Borland c++ все работает.

Может быть есть еще какие-нибудь варианты чтения из файла???
vadimuzzz
используете host-base file system? читайте здесь http://www.altera.com/literature/hb/nios2/n2sw_nii52005.pdf, раздел "Using File Subsystems". там есть нюансы, типа "работает только в режиме отладки". ну и компоненты соответствующий д.б. включены в BSP
Shaggy
Спасибо большое за помощь. Расставление галочек эта какая-то беда... Стоило поставить галочку и все заработало.
Shaggy
Возник следующий вопрос.
Читаю из текстового файла данные (значения пикселей картинки 256х256) полученные в Borland C++ в массив созданный в NIOS II. Затем этот массив записываю в новый файл. И этот новый файл открываю в Borland. Проблема в скорости чтения/записи данных. Данные в новый файл пишутся несколько минут.
Shaggy
Добрый день подскажите пожауйста в SOPC Builder собрал системку, она сгенерировалась без проблем, но при компиляции проекта на стадии анализа выдается ошибка "Data size does not match the number of bytes at line 65537 in Hexademical (Intel-Format) File "onchip_memory2_0.hex"".
vadimuzzz
наверное, остался от компиляции программы в эклипсе. можно удалить файл и сгенерить систему заново
Shaggy
Подскажите пожалуйста от чего зависит скорость обмена данными между макетом и компьютером. в NIOS II открываю файл fopen(), записываю в массив, затем этот массив при помощи fprintf() записываю в другой файл. Но данный процесс занимает подозрительно много времени. Исходный файл содержит информацию о значении пикселей картинки 256x256, а получаемый файл тоже значения пикселей,только после ДКП-ОДКП. Выполнение преобразования я отключил, так что просто пишу теже данные. Почему процесс чтения-записи происходит так долго?
vadimuzzz
долго это сколько? а так, первое что на ум приходит - слишком много уровней абстракции, не все из которых документированы. примерно такая цепочка: драйвер ФС хоста -- библиотека обмена по JTAG -- JTAG -- ФС Ниоса -- библиотека stdio. последние 2 пункта скорости никак не прибавляют.
Shaggy
Порядка 2-х 3-х минут.
_VM
Всем привет!
В этой теме уже поднимался вопрос о триальности open-core.
Собственно, я с ним тоже столкнулся.
Ездил на 9.1 все нормально было, пересел на 10.0 и заглох.

Цитата
Info: SRAM Object File X:/DE2_NET/DE2_NET_time_limited.sof contains time-limited megafunction that supports OpenCore Plus feature -- Vendor: 0x6AF7, Product: 0x00A2

Добавлю, генерится time limited sof, который загружается и работает.
При загрузке программером квартуса выводит окно типа: "нажми cancel и у тебя все встанет".
Действительно, прошивка работает (проверяю пингом самодельный TCP/IP стек) пока не нажмешь на кнопку.
Как понимаю предлагается купить ниос .
Мож есть народное средство laughing.gif ?
_VM
Цитата(_VM @ Oct 6 2010, 14:48) *
Всем привет!
В этой теме уже поднимался вопрос о триальности open-core.
Собственно, я с ним тоже столкнулся.
Ездил на 9.1 все нормально было, пересел на 10.0 и заглох.


Добавлю, генерится time limited sof, который загружается и работает.
При загрузке программером квартуса выводит окно типа: "нажми cancel и у тебя все встанет".
Действительно, прошивка работает (проверяю пингом самодельный TCP/IP стек) пока не нажмешь на кнопку.
Как понимаю предлагается купить ниос .
Мож есть народное средство laughing.gif ?


Проблема решилась перепиской с участниками форума.
nkie
Здравствуйте, господа форумчане. У меня чайниковский вопрос. Тут где-то прочитал, что если программа для ниос не очень большая, то ее можно зашить одновременно с конфигурацией fpga одним pof файлом. Не подскажите как это сделать? Что-то никак не найду. Просто конфигурацию для ПЛИС мы делаем в SOPC билдере, а программу пишем в NIOS EDS, который создает свой файл и не изменяет первичный pof. Разве не так? Или я ошибаюсь...
vadimuzzz
при сборке программы создается hex-файл для памяти, его можно вшить в sof(pof). для этого нужно настроить вектор сброса на on-chip memory, туда же слинковать программу. после каждой линковки hex-файл будет обновляться, не забывайте запускать Assembler в квартусе. ну, и вариант с бутлоадером тоже никто не отменял.
Serhiy_UA
Цитата(nkie @ Oct 19 2010, 09:02) *
Здравствуйте, господа форумчане. У меня чайниковский вопрос. Тут где-то прочитал, что если программа для ниос не очень большая, то ее можно зашить одновременно с конфигурацией fpga одним pof файлом. Не подскажите как это сделать? Что-то никак не найду. Просто конфигурацию для ПЛИС мы делаем в SOPC билдере, а программу пишем в NIOS EDS, который создает свой файл и не изменяет первичный pof. Разве не так? Или я ошибаюсь...


Все делайте согласно прилагаемого ug_nios2_flash_programmer.pdf, если у Вас QII 7.2
А точнее, раздел "2. Using the Flash Programmer in IDE Mode"
Какой пункт в нем не ясен?
nkie
Можно ли такой же финт сделать с rbf файлом? У меня просто несколько странная система. Cyclone грузится rbf файлом из компьютера через MAXII по PS. Т.е. моя собственная прога берет rbf и сует через MAXII в Циклон. На Циклоне не JTAG-а ни чего больше нет. Хочу поиграться с НИОСОМ. Алтеровской платы у меня тоже нет. Развел отдельную плату со всеми возможными интерфейсами конфигурации но пока она в производстве, хочется хоть как-то этот НИОС пощупать... Вот и хочу конфигурационный файл с прошивкой слепить в rbf файл и залить по-старому... Реально ли это?
vadimuzzz
Цитата(nkie @ Oct 19 2010, 13:40) *
Можно ли такой же финт сделать с rbf файлом? ... Реально ли это?

а в чем проблема? берете sof, как я выше описывал, конвертируете в rbf
nkie
да проблема в том, что в проекте нет никаких flashmemory девайсов да и на плате их нет. А FlashProgrammer матерится на это когда я ему пытаюсь скормить .sopcinfo. Может закинуть какой нибудь флеш контроллер в проект надо... А все вектора в on-chip оставить... ?
vadimuzzz
Цитата(nkie @ Oct 19 2010, 14:34) *
да проблема в том, что в проекте нет никаких flashmemory девайсов да и на плате их нет. А FlashProgrammer матерится на это когда я ему пытаюсь скормить .sopcinfo. Может закинуть какой нибудь флеш контроллер в проект надо... А все вектора в on-chip оставить... ?

зачем ва флеш-программер, если флеша нет 07.gif ? запускаете SOPC-билдер, в настройках процессора ставите reset и exception на on-chip, собираете проект. потом собираете прогу и запускаете квартусовский ассемблер, он сделает sof (или любой другой файл, в настройках можно указать)
nkie
Цитата(vadimuzzz @ Oct 19 2010, 11:48) *
зачем ва флеш-программер, если флеша нет 07.gif ? запускаете SOPC-билдер, в настройках процессора ставите reset и exception на on-chip, собираете проект. потом собираете прогу и запускаете квартусовский ассемблер, он сделает sof (или любой другой файл, в настройках можно указать)

1. Собираю проект в SOPC-билдере. Самый простой первый туториал, где леды...
в настройках процессора ставлю reset и exception на on-chip
2. Генерю систему, получаю .sopcinfo
3. Компилирую проект в Квартусе, получаю .sof(.pof/.rbf)
4. Открываю NIOS EDS, подключаю там .sopcinfo, открываю пример count_binari, компилю его... получаю .elf

Что куда теперь подсовывать? Опять надо квартовский ассемблер на кого-то натравить? И какое место во всей этой истории занимает Flash Programmer?
vadimuzzz
Цитата(nkie @ Oct 19 2010, 15:23) *
4. Открываю NIOS EDS, подключаю там .sopcinfo, открываю пример count_binari, компилю его... получаю .elf

внимательно смотрите выхлоп консоли во время сборки, там пишется какие файлы (в т.ч. hex созданы/обновлены) hex лежит в основной папке проекта, не в software

Цитата(nkie @ Oct 19 2010, 15:23) *
Что куда теперь подсовывать? Опять надо квартовский ассемблер на кого-то натравить? И какое место во всей этой истории занимает Flash Programmer?

просто запустите ассемблер, сгенерируется sof, потом конвертируйте его в rbf. флеш-программер вам не нужен
nkie
Все, нашел где эти опции замены .hex файла... Спасибо за помощь
nkie
рано обрадовался...
Циклон почему-то не шьется со встроенной в on-chip программой. Если прошивать Ниос с чистой памятью, то конфигурация прошивается успешно. Все делаю, как описано в посте
http://electronix.ru/forum/index.php?s=&am...st&p=691886
но видимо какие-то настройки все-таки упускаю...Подскажите пожалуйста, нужно ли выполнить еще какие-нибудь действия, для линковки программы во внутричиповую память?
vadimuzzz
пишите конкретно, по шагам: что делали какие настройки, выхлоп консоли. а то на такие вопросы:
Цитата(nkie @ Oct 20 2010, 19:44) *
Подскажите пожалуйста, нужно ли выполнить еще какие-нибудь действия, для линковки программы во внутричиповую память?

приходит на ум только шаманский бубен с заячьей лапкой.

настройки линкера-то нашли?
nkie
Проблема непрошивки решилась путем установления галочки в свойствах on-chip memory: "Enable non-default initialization file". Теперь циклон прошивается. Проект перешел из стадии "не компилится(не прошивается)" в стадию "тупо не работает" biggrin.gif

Все завелось, всем спасибо за участие 1111493779.gif
ILYCHOFF
Помогите пожалуйста nios 9.1 Почему то нет конфигурации hardware в менеджере конфигураций. Ничего не понимаю... Хоть в бубен бей. Раньше не встречал такое.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.