Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Downloading ELF Process failed
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
LAS9891
Собрал проект Qsys:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла

Частоты:
c0 = 50 MHz,
c1 = 50 MHz Clock phase shift = 3 ns,
c2 = 25 MHz.

Собираю в Qsys->собираю в Quartus->конфигурирую Nios в железе->создаю в Eclipce новый проект HelloWorld->генерю проект BSP->собираю проект-> пробую шить Nios-> Downloading ELF Process failed. В Run Configurations ошибок никаких нет. Полагаю что собираю в Qsys что-то неправильно. Что не так?
doom13
1. Проверяйте сигналы сброса и клоки.
2. В системе есть SDRAM
-проверьте настройки BSP, куда кладется программа для Ниос, могло автоматом расположить её в SDRAM, и (если есть проблемы чтения/записи памяти) выбрасывает такую ошибку.
LAS9891
Цитата(doom13 @ Mar 17 2017, 15:24) *
Вначале проверяйте сигналы сброса и клоки.

Элемент Video Sync Generator генерит сигнал VSG_DEN, если элемент работает корректно и на выходе генерятся сигналы синхронизации. В Quartus сигнал VSG_DEN я подключил к светодиоду и после конфигурирования Nios в плис светодиод светится, сигналы синхронизации генерятся, и плис реагирует на нажатие кнопки RESET. Это не подтверждает корректность сигналов сброса и клоков? или стоит вывести все клоки на внешние выводы и проверить каждый?

Цитата(doom13 @ Mar 17 2017, 15:24) *
2. В системе есть SDRAM
-проверьте настройки BSP, куда кладется программа для Ниос, могло автоматом расположить её в SDRAM, и (если есть проблемы чтения/записи памяти) выбрасывает такую ошибку.

Настройки BSP:
Нажмите для просмотра прикрепленного файла

doom13
Цитата(LAS9891 @ Mar 17 2017, 15:37) *
Настройки BSP:

Если не уверены, что SDRAM контроллер нормально общается с памятью, расположите всё в onchip_memory.


Под сбросом имел ввиду активный уровень RESET - для Nios II "0" (было дело - не мог понять, почему программа Nios не грузится по JTAG sm.gif ).
LAS9891
Цитата(doom13 @ Mar 17 2017, 15:41) *
Если не уверены, что SDRAM контроллер нормально общается с памятью

Как это проверить наверняка?

Цитата(doom13 @ Mar 17 2017, 15:44) *
расположите всё в onchip_memory.

Расположил. Полезли ошибки вида:
Description Resource Path Location Type
address 0x4b764 of VGA_attempt2.elf section `.rwdata' is not within region `onchip_memory' VGA_attempt2 C/C++ Problem
Raven
Для начала попробуйте собрать/загрузить/запустить какой-нибудь "Hello, World!" в onchip memory. В NIOS2 IDE даже заготовки есть, рекомендую, кстати, Memory Test заготовку - пригодится на следующем шаге для проверки SDRAM.
LAS9891
Цитата(Raven @ Mar 17 2017, 16:09) *
Для начала попробуйте собрать/загрузить/запустить какой-нибудь "Hello, World!" в onchip memory.

Попробовал - все загрузилось, только еще в BSP Editor в Linker Sections Mappings везде выставил onchip_memory.

Вообще я пытаюсь повторить вот этот проект:
http://we.easyelectronics.ru/plis/formirov...em-nios-ii.html
Щас попробовал отредактировать проект как у автора - вообще удалил onchip_memory, вектора в Nios настроили на SDRAM, собрал проект в Qsys-> собрал в Quartusе-> загрузил Nios в ПЛИС-> собрал в Eclipce какой-нибудь "Hello, World!"-> пробую шить Nios - опять та же ошибка Downloading ELF Process failed и все.
Raven
SDRAM тестировали? (из программы, запущенной в onchip_ram)
LAS9891
Цитата(Raven @ Mar 17 2017, 16:29) *
SDRAM тестировали? (из программы, запущенной в onchip_ram)

Решил начать заново. Сделал в Qsys изначальный проект:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
В настройках Nios вектора назначил в onchip_memory. Далее собрал в Qsys-> собрал в Quartus-> зашил Nios в FPGA-> собрал в Eclipce стандартный проект Hello World-> загружаю в Nios-> Downloading ELF Process failed!
Иду в BSP Editor->Linker Sections Mapping, там вижу вот что:
Нажмите для просмотра прикрепленного файла
Меняю все вот так:
Нажмите для просмотра прикрепленного файла
Проект шьется без ошибок.
Далее делаю проект с тестом SDRAM... Собираю в Eclipse стандартный проект Memory Test. Пробую зашивать в Nios - не шьется. Меняю настройки в BSP Editor->Linker Sections Mapping на те что на последней картинке -> заново собираю-> зашиваю-> зашилось!
Делаю тест SDRAM. Вот что вижу:

Testing RAM from 0x8000000 to 0xFFFFFFF
-Data bus test passed
-Address bus test failed at address 0x8000004
Press enter to continue...
LAS9891
Еще такой вопрос. Если в консоли следующий текст:
-Data bus test passed
-Address bus test passed
-Byte and half-word access test passed
-Testing each bit in memory device. . . passed

passed - означает что тест пройден успешно или тест пропущен?
doom13
Цитата(LAS9891 @ Mar 20 2017, 11:06) *
Еще такой вопрос. Если в консоли следующий текст:
-Data bus test passed
-Address bus test passed
-Byte and half-word access test passed
-Testing each bit in memory device. . . passed

passed - означает что тест пройден успешно или тест пропущен?

Тест пройден, а в чём была проблема?
Цитата
-Address bus test failed at address 0x8000004
LAS9891
Цитата(Raven @ Mar 17 2017, 16:29) *
SDRAM тестировали? (из программы, запущенной в onchip_ram)

Пробую сделать тест для другого проекта. При сборке в Eclipse возникают ошибки:
Нажмите для просмотра прикрепленного файла
При этом настраиваю так:
Нажмите для просмотра прикрепленного файла
Как избавиться от варнингов?
doom13
Цитата(LAS9891 @ Mar 20 2017, 13:04) *
Пробую сделать тест для другого проекта. При сборке в Eclipse возникают ошибки:
Как избавиться от варнингов?

Это не варнинги, это ошибки!
Ваша программа не помещается в выделенную ей память.
Пути решения:
1) В настройках BSP ставим галки enable_small_c_library, enable_reduced_device_drivers
2) Увеличиваем размер памяти под программу (в данном случае размер onchip_memory)
3) Можете разместить программу во внешней памяти (SDRAM ведь уже работает)
Raven
Цитата(LAS9891 @ Mar 20 2017, 09:23) *
Testing RAM from 0x8000000 to 0xFFFFFFF
-Data bus test passed
-Address bus test failed at address 0x8000004
Press enter to continue...

С SDRAM явно непорядок. Тест адресной шины не пройден. Ошибка найдена в самом начале SDRAM'а.

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

Еще можно или поставить брейкпойнт в тесте на точке обнаружения ошибки, и посмотреть детали (что ожидалось и что реально вычитали). Это может дать подсказку, что и на каких линиях искать. Ну, или набросать свой адресный тест (это всего-то 2 цикла: один записывает, другой считывает и проверяет), и пропустить его через проблемную область (с printf'ами).
LAS9891
Вопрос такой. В Qsys установил частоту тактирования для NiosII 100 MHz (с помощью PLL конечно). В Quartuse проект собрался. Далее повысил частоту тактирования для NiosII до 150 MHz - при сборке в Quartuse возникают Critical Warning: Timing requirements not met. Что оно значит? Как исправить?
Raven
Цитата(LAS9891 @ Mar 22 2017, 14:02) *
Далее повысил частоту тактирования для NiosII до 150 MHz - при сборке в Quartuse возникают Critical Warning: Timing requirements not met. Что оно значит?

То и значит, что Quartus говорит - не смог он синтезировать систему, которая способна работать на такой частоте.

Цитата(LAS9891 @ Mar 22 2017, 14:02) *
Как исправить?

Вернуться к частоте, для которой Quartus может синтезировать систему без нарушений временнЫх физических ограничений (timing constraints). Да, вот еще что: частота, указываемая в модулях QSys перед ее генерированием, должна соответствовать действительности (на основе этой информации QSys формирует соответствующие sdc-файлы, учитываемые при последующем синтезе в Quartus).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.