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

 
 
 
Reply to this topicStart new topic
> Nios flash programer, как добавить sof?
torik
сообщение Mar 4 2014, 11:41
Сообщение #1


Гуру
******

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



Есть проект, reset vector для ниоса указан на on-chip память небольшого объема. Генерим из sof jic, зашиваем, все работает.

Теперь надо сделать так, чтобы в EPCS кроме sof, лежал еще и некий hex большого объема (1 мбайт).

Для этого добавил epcs controller в систему, обращаюсь к нему через Nios flash programer. sof шьет без проблем, а когда пытаюсь прицепить кроме софа еще и хекс, при прошивке выдает ошибку:

Цитата
Error: Error code: 8 for command: nios2-flash-programmer "D:/tdesign/Projects/NSCI/altera/MIK1/MIK1/flash/img0_epcs_flash_controller_0.flash" --base=0x20011000 --epcs --accept-bad-sysid --device=1 --instance=0 '--cable=USB-Blaster on localhost [USB-0]' --program --verbose


Что ему не нравится, как правильно сделать, да еще чтобы адрес, куда зальется hex, был известен?



--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Mar 4 2014, 12:21
Сообщение #2


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

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



Цитата(torik @ Mar 4 2014, 15:41) *
Есть проект, reset vector для ниоса указан на on-chip память небольшого объема. Генерим из sof jic, зашиваем, все работает.
Теперь надо сделать так, чтобы в EPCS кроме sof, лежал еще и некий hex большого объема (1 мбайт).
Для этого добавил epcs controller в систему, обращаюсь к нему через Nios flash programer. sof шьет без проблем, а когда пытаюсь прицепить кроме софа еще и хекс, при прошивке выдает ошибку:
Что ему не нравится, как правильно сделать, да еще чтобы адрес, куда зальется hex, был известен?

Скорее всего, у Вас там конфликт адресов.
Вот этот hex, который должен жить вслед за sof'ом - Вы его как получали?

Попробуйте следующую последовательность:
1. sof2flash'ем перегнать sof во flash
2. с помощью nios2-elf-objcopy перегнать полученный flash в hex
3. в квартусе, в Convert Programming Files из двух hex'ов - полученного из sof'а и Вашего большого файла - сделать один jic (там надо правильно задать с режим адресации, и, кстати, можно управлять адресом начала второго hex'а)
4. полученный jic прошить в конфигуратор.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
torik
сообщение Mar 5 2014, 04:58
Сообщение #3


Гуру
******

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



Ошибка была в том, что при конвертировании в jic, он понимает только intel hex. Сконвертировал bmp в intel hex с помощь hex-редактора, все сконвертировалось и зашилось.
Ниос флеш програмер больше не проверял, возможно та же фигня.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
kt819a
сообщение Aug 16 2016, 14:31
Сообщение #4





Группа: Участник
Сообщений: 6
Регистрация: 14-04-09
Из: Беларусь, Полоцк
Пользователь №: 47 694



Добрый день.
Имеется отладка с 5 циклоном, квартус 15.1.
Собрал простой проект с NIOS II, написал программу в eclipse. Если запустить программу или отладку из эклипса то все хорошо, работает. Встал вопрос как зашить elf. В данный момент кидаю его рядом с sof, пересобираю проект fpga и загружаю, но хотелось бы использовать flash programmer. В конфигурацию ядра в Qsys добавил корку Legacy EPCS/EPCQx1 Flash Controller, System ID Peripheral. В flash programmer систему видит, но после прошивки не стартует даже fpga. Есть подозрение что неправильно смещение наастраиваю, но тогда, если я правильно понял, если я зашивал бы просто sof с нулевым смещением все должно было бы работать, но не работает.

Цитата(kt819a @ Aug 16 2016, 16:56) *
Встал вопрос как зашить elf. В данный момент кидаю его рядом с sof, пересобираю проект fpga и загружаю

Попутал. Генерирую хекс через build/mem_init_generate
Go to the top of the page
 
+Quote Post
kt819a
сообщение Aug 17 2016, 14:02
Сообщение #5





Группа: Участник
Сообщений: 6
Регистрация: 14-04-09
Из: Беларусь, Полоцк
Пользователь №: 47 694



В общем, пока только 2 пути загруки получились. Вектор сброса процессора установил в On-Chip Memory.
1) Инициализация памяти предварительно сгенерированным hex'ом через build/mem_init_generate
2) Через sof2flash и elf2flash получаем flash файл, потом перегоняем в хекс через nios2-elf-objcopy перегоняю в hex, собираю конвертирую sof+hex в .jiс прошивку и заливаю.

через flash programmer пока получается только мертвая система. Вектор сброса пробовал на Legacy EPCS/EPCQx1 Flash Controller ставить, не помогло.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 17 2016, 14:52
Сообщение #6


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

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



Цитата(kt819a @ Aug 17 2016, 17:02) *
через flash programmer пока получается только мертвая система. Вектор сброса пробовал на Legacy EPCS/EPCQx1 Flash Controller ставить, не помогло.

Кроме этого нужно еще настройки bsp подкручивать (Allow code at reset и т.п.)



--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
kt819a
сообщение Aug 17 2016, 15:13
Сообщение #7





Группа: Участник
Сообщений: 6
Регистрация: 14-04-09
Из: Беларусь, Полоцк
Пользователь №: 47 694



Цитата(Stewart Little @ Aug 17 2016, 17:52) *
Кроме этого нужно еще настройки bsp подкручивать (Allow code at reset и т.п.)

Спасибо за ответ. А подробнее можно? Может почитать где подскажите? галка Allow code at reset установлена.
Там такое чудо получается, что после прошивки не стартует не только ядро nios, но и вся система, даже та часть что отдельно от ядра работает. Такое чувство что что-то пишет не по тем адресам.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 17 2016, 21:17
Сообщение #8


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

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



Цитата(kt819a @ Aug 17 2016, 18:13) *
Спасибо за ответ. А подробнее можно? Может почитать где подскажите?
Настоятельно рекомендую досконально изучить процесс старта (booting) Nios II. Начать можно хот вот с этого: AN 736: Nios II Processor Booting From Altera Serial Flash

Цитата
галка Allow code at reset установлена.
Если вектор сброса указывает на контроллер EPCS, то она должна быть сброшена.
В контроллере EPCS есть свое маленькое ПЗУ, где живет копировщик, который переписывает исполняемый код (приложение) из EPCS в ту память, которая отведена под сегмент кода (секцию .text). Этот копировщик запускается после сброса, и после тог, как отработает, передает управление в загруженное в память приложение.
А если взводится Allow code at reset, то это сообщает bsp, что по сбросу сразу должен выполняться код приложения. Отсюда конфликт.

Цитата
Там такое чудо получается, что после прошивки не стартует не только ядро nios, но и вся система, даже та часть что отдельно от ядра работает. Такое чувство что что-то пишет не по тем адресам.
Когда создаете flash-файл, то сперва надо указывать sof (с нулевым смещением), а зтем elf (сразу за sof'ом).

Еще помню, в каких-то версиях во FlashProgrammer имелся глюк с формированием flash-файлов. Там приходилось сперва все преобразовывать в hex, затем два hex'а в jic (в квартусе), и jic уже прошивать в EPCS'ку. На форуме я об этом писал, воспользуйтесь поиском.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
kt819a
сообщение Aug 18 2016, 06:52
Сообщение #9





Группа: Участник
Сообщений: 6
Регистрация: 14-04-09
Из: Беларусь, Полоцк
Пользователь №: 47 694



Цитата(Stewart Little @ Aug 18 2016, 00:17) *
Начать можно хот вот с этого: AN 736: Nios II Processor Booting From Altera Serial Flash


Спасибо! Это как раз то чего мне не хватаало для понимания.

Цитата
Когда создаете flash-файл, то сперва надо указывать sof (с нулевым смещением), а зтем elf (сразу за sof'ом).
Еще помню, в каких-то версиях во FlashProgrammer имелся глюк с формированием flash-файлов. Там приходилось сперва все преобразовывать в hex, затем два hex'а в jic (в квартусе), и jic уже прошивать в EPCS'ку. На форуме я об этом писал, воспользуйтесь поиском.


Формирует flash он видимо правильно, так как я пробовал их конвертировать в hex и потом в jic, все запускалось.(reset vector был в ocram). И руками пробовал sof во flash, потом elf туда же, и далее как в преддыдущем случае, все прокатывает. Видимо записывает криво, там я накосячил.

В апноуте испольлзуется корка Altera Serial Flash Controller, я использовал Legacy EPCS/EPCQx1 Flash Controller. Заметил что у первой адресное пространство равно размеру флэш, а у второй только 0x7FF почему-то. Видимо я применил не ту корку либо не понимаю как она работает.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Aug 18 2016, 07:41
Сообщение #10


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 381
Регистрация: 15-07-06
Из: г.Донецк
Пользователь №: 18 832



Кстати вопрос к Stewart Little. В этом документе на Figure 3 сказано:
Код
Note: The maximum input clock for Altera Serial Flash Controller IP is 25 MHz. The input clock
must not exceed this maximum value.


Но этот же клок заходит и в процессор. Означает ли это что с этим контроллером частота процессора тоже будет ограничена 25МГц?
Go to the top of the page
 
+Quote Post
kt819a
сообщение Aug 19 2016, 14:02
Сообщение #11





Группа: Участник
Сообщений: 6
Регистрация: 14-04-09
Из: Беларусь, Полоцк
Пользователь №: 47 694



Цитата(_Anatoliy @ Aug 18 2016, 10:41) *
Кстати вопрос к Stewart Little. В этом документе на Figure 3 сказано:
Код
Note: The maximum input clock for Altera Serial Flash Controller IP is 25 MHz. The input clock
must not exceed this maximum value.

Но этот же клок заходит и в процессор. Означает ли это что с этим контроллером частота процессора тоже будет ограничена 25МГц?

Возник тот же вопрос. Предпологаю что можно использовать Avalon-MM Clock Crossing Bridge, тогда будет возможность согласовать частоты.
Go to the top of the page
 
+Quote Post
identity
сообщение May 1 2017, 09:17
Сообщение #12





Группа: Новичок
Сообщений: 4
Регистрация: 30-04-17
Пользователь №: 96 824



Добрый день, есть проблема с лицензией для перегона в jik файл, может кто помочь
Я собираю систему:
на кристале Cyclone v gx
использую для этого nios ii
qaurtus 13.1 web edition
Может кто знает какой quartus надо использовать с crack или есть другие пути решения этой проблемы
Заранее большое спасибо
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th August 2017 - 13:13
Рейтинг@Mail.ru


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