|
|
  |
программа Nios в ончип памяти, если указать .hex, не хочет компилить |
|
|
|
May 6 2011, 05:31
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
May 6 2011, 07:08
|

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

|
Каким таким автоматом? Компилирую прогу в эклипсе, hex при этом ниоткуда не возьмется, а будет elf. Верно? Дальше с помощью ниосовской консоли преобразую elf в hex. Указываю полученный файл оничиповской памяти (как на рисунке). После этого необходимо компилировать проект, и происходит это не так уж и быстро. И все бы ничего, но больше программу в эклипсе не скомпилировать! А если заглянуть в автоматически сгенеренный файл mem_cpu1.hex, то в нем наблюдаем пустоту. Что, может не указывать какой-то другой файл, а заменить mem_cpu1.hex?
Эскизы прикрепленных изображений
--------------------
Быть. torizin-liteha@yandex.ru
|
|
|
|
|
May 6 2011, 07:34
|

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

|
Цитата(torik @ May 6 2011, 14:08)  Каким таким автоматом? Компилирую прогу в эклипсе, hex при этом ниоткуда не возьмется, а будет elf. Верно? хм. а ниос-иде (устаревшая, типа) автоматом hexы генерила, точно помню Цитата А если заглянуть в автоматически сгенеренный файл mem_cpu1.hex, то в нем наблюдаем пустоту. Что, может не указывать какой-то другой файл, а заменить mem_cpu1.hex? я бы так сделал. еще проверьте галку "smart compilation" в квартусе.
|
|
|
|
|
May 6 2011, 08:11
|

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

|
Цитата(torik @ May 6 2011, 11:28)  Два процесоора, но имена не конфликтуют, все разные... Все равно я ничего не понял - ни проблемы, ни причины ее разрешения  , как-то все очень сумбурно изложено... Как установка smart compiation в квартусе может влиять на процесс компиляции в эклипсе??? Она, имхо, поможет только тогда, когда у эклипса получается обновлять onchip_hex. А из вопроса следует, что проблема именно с получением нового хекса. Или я не прав? BTW: после регенерации системы в SOPC Builder'е не забываете BSP рефрешить?
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
May 6 2011, 08:23
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
May 13 2011, 12:52
|

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

|
Цитата(torik @ May 6 2011, 12:23)  Т.е. проблем с получением хекса не было. Проблема в том, что когда я указываю в сопцбилдере оничиповской памяти файл инициализации, отличный от того что по-умолчанию, эклипс перестает компилировать проект. Только что сделал простейший проектик для проверки - всё компилится и работает. Когда создавал систему, указал на свой файл инициализации (которого на тот момент ещё не было в помине). Сгенерировал систему, во время генерирования было сообщение, что, дескать, нету файла инициализации, ну и ладно. Собрал BSP, hello word, сконвертировал elf в hex, положил в папку с проектом. Поставил smart compilation, скомплировал и прошил sof. Всё работает. Изменил программу, сконвертировал в hex, скомпилировал и прошил sof. Всё опять работает. Вроде проблем быть не должно.
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|