реклама на сайте
подробности

 
 
> программа Nios в ончип памяти, если указать .hex, не хочет компилить
torik
сообщение May 6 2011, 05:31
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Всем привет.

Есть система простейшая. Nios работает с памятью on-chip. EPCS контроллер отсутствует (занят другим процессором).

Возникает проблема: если on-chip памяти в SOPC-builder не указывать файл инициализации, все компилится, заливается и работает.

Далее я преобразую elf в hex и указываю в SOPC-builder на полученный файл , все пересобираю, лью sof - все работает.

Теперь мне надо поменять программу. И тут эклипс выдает фокус - он отказывается компилить проект вообще, и bsp тоже. При этом выдает ошибку:

Код
Description    Resource    Path    Location    Type
*** multiple target patterns.  Stop.    mem_init.mk    /mi_can2_bsp    line 195    C/C++ Problem



В meminit.mk эта ошибка. Долго думал чё делать. До тех пор пока не удалил из ситемы память он-чип, не добавил новую с другим именем, проект и не подумал компилиться. Это как-то слегка неудобно. Как такую проблему обойти?








Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
vadimuzzz
сообщение May 6 2011, 06:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



ничего не понял. hex же автоматом генерится. потом компиляция (она быстрая, только ассемблер). какие проблемы?
Go to the top of the page
 
+Quote Post
alexadmin
сообщение May 6 2011, 07:02
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(torik @ May 6 2011, 09:31) *
Далее я преобразую elf в hex и указываю в SOPC-builder на полученный файл , все пересобираю, лью sof - все работает.


На мой взгляд тут ошибка - не надо в SOPC Builder указывать на этот файл, лучше просто положить сгенеренный файл в каталог проекта, он подхватится как файл по-умолчанию.
Go to the top of the page
 
+Quote Post
torik
сообщение May 6 2011, 07:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Каким таким автоматом?
Компилирую прогу в эклипсе, hex при этом ниоткуда не возьмется, а будет elf. Верно?
Дальше с помощью ниосовской консоли преобразую elf в hex. Указываю полученный файл оничиповской памяти (как на рисунке). После этого необходимо компилировать проект, и происходит это не так уж и быстро.

И все бы ничего, но больше программу в эклипсе не скомпилировать!

А если заглянуть в автоматически сгенеренный файл mem_cpu1.hex, то в нем наблюдаем пустоту. Что, может не указывать какой-то другой файл, а заменить mem_cpu1.hex?
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение May 6 2011, 07:17
Сообщение #5


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(torik @ May 6 2011, 09:31) *
EPCS контроллер отсутствует (занят другим процессором).

Правильно и я понял, что у Вас в проекте два (или более) ниоса? Если так, то не конфликтуют ли имена файлов onchip_ram для разных процессоров?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
torik
сообщение May 6 2011, 07:28
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Два процесоора, но имена не конфликтуют, все разные...

Сейчас оставил только инициализацию ончипа только по-умолчанию, пересобрал сопц, перекомпилил ква провект. Падла-эклипс выдает ошибку. И так будет пока не добавлю новую память вместо конфликтной sad.gif


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение May 6 2011, 07:34
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(torik @ May 6 2011, 14:08) *
Каким таким автоматом?
Компилирую прогу в эклипсе, hex при этом ниоткуда не возьмется, а будет elf. Верно?

хм. а ниос-иде (устаревшая, типа) автоматом hexы генерила, точно помню
Цитата
А если заглянуть в автоматически сгенеренный файл mem_cpu1.hex, то в нем наблюдаем пустоту. Что, может не указывать какой-то другой файл, а заменить mem_cpu1.hex?

я бы так сделал. еще проверьте галку "smart compilation" в квартусе.
Go to the top of the page
 
+Quote Post
torik
сообщение May 6 2011, 07:51
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Ща проверю.

Да, так вроде бы стало работать, спасибо. Подменяю именно mem_cpu1.hex


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение May 6 2011, 08:11
Сообщение #9


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(torik @ May 6 2011, 11:28) *
Два процесоора, но имена не конфликтуют, все разные...

Все равно я ничего не понял - ни проблемы, ни причины ее разрешения wacko.gif , как-то все очень сумбурно изложено...
Как установка smart compiation в квартусе может влиять на процесс компиляции в эклипсе???
Она, имхо, поможет только тогда, когда у эклипса получается обновлять onchip_hex.
А из вопроса следует, что проблема именно с получением нового хекса. Или я не прав?

BTW: после регенерации системы в SOPC Builder'е не забываете BSP рефрешить?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
torik
сообщение May 6 2011, 08:23
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Цитата
Все равно я ничего не понял - ни проблемы, ни причины ее разрешения , как-то все очень сумбурно изложено...

Да, я такой.

Цитата
Как установка smart compiation в квартусе может влиять на процесс компиляции в эклипсе???

Никак, я говорю что помогло не указывать оничип памяти какой-то свой файл инициализации, а оставить тот что по-умолчанию: mem_cpu1.hex.
И с помощью консоли я преобразую elf в hex, подменяя изначально пустой (так как эклипс сам не генерит) mem_cpu1.hex.

Т.е. проблем с получением хекса не было. Проблема в том, что когда я указываю в сопцбилдере оничиповской памяти файл инициализации, отличный от того что по-умолчанию, эклипс перестает компилировать проект.





Цитата
BTW: после регенерации системы в SOPC Builder'е не забываете BSP рефрешить?

Нет


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexadmin
сообщение May 6 2011, 11:32
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(torik @ May 6 2011, 11:08) *
Каким таким автоматом?
Компилирую прогу в эклипсе, hex при этом ниоткуда не возьмется, а будет elf. Верно?


Верно. Я имею в виду, что не надо ставить опцию "non-default init file". Сгенерировали *hex, переложили его в каталог квартус-проекта и запускаете компиляцию в квартусе.
Go to the top of the page
 
+Quote Post
torik
сообщение May 6 2011, 13:02
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Ага, и хрен знает отчего меня дернуло эту опцию поставить...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
naliwator
сообщение May 13 2011, 12:52
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 11-08-08
Из: Kolpino
Пользователь №: 39 551



Цитата(torik @ May 6 2011, 12:23) *
Т.е. проблем с получением хекса не было. Проблема в том, что когда я указываю в сопцбилдере оничиповской памяти файл инициализации, отличный от того что по-умолчанию, эклипс перестает компилировать проект.


Только что сделал простейший проектик для проверки - всё компилится и работает.

Когда создавал систему, указал на свой файл инициализации (которого на тот момент ещё не было в помине).
Сгенерировал систему, во время генерирования было сообщение, что, дескать, нету файла инициализации, ну и ладно.
Собрал BSP, hello word, сконвертировал elf в hex, положил в папку с проектом.
Поставил smart compilation, скомплировал и прошил sof. Всё работает.
Изменил программу, сконвертировал в hex, скомпилировал и прошил sof. Всё опять работает.

Вроде проблем быть не должно.


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01474 секунд с 7
ELECTRONIX ©2004-2016