|
Загрузка .sof + .elf в EPCS16 |
|
|
|
Jan 28 2013, 12:05
|

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

|
Цитата(Acvarif @ Jan 28 2013, 15:47)  Очевидно нужно в систему добавить EPCS контроллер и поставить Reset вектор на него? Или это не обязательно? Если Вы хотите, чтобы по включению питания исполняемый код был перегружен из EPCS в нужную Вам память, то обязательно. Цитата Но как объединить файлы .sof и .elf, чтобы потом зашить в EPCS16, так чтобы по включению питания все грузилось последовательно как и при отладке? (Для отладки пользуюсь USB Blaster в режиме JTAG) Изучайте Nios II Flash Programmer User Guide
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Jan 28 2013, 12:37
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Спасибо. Общий смысл понятен. Сначала попробую без контроллера. Пытаюсь конвертить файлы согласно статьи http://naliwator.narod.ru/les/les_nios_epcs_03.html Пока не получается.
Для удобства я вынес файл sof2flash.jar и свой Neptun.sof в корневую директорию. Очевидно так не верно. В статье пишут, что нужно войти в директорию проекта. Насколько это обязательно? Если директория проекта глубоко то в командной строке долго набирать. Можно ошибиться... Может наоборот переместить Neptun.sof в директорию ..Altera/Q90/nios2eds/bin - туда где находится sof2flash.jar и выполнить нужную команду из Total Commander в командной строке?
|
|
|
|
|
Jan 28 2013, 13:41
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Спасибо. Конвертация получилась. Программирование тоже. Подсматривал еще и тут http://www.altera.com/support/kdb/solution...132010_126.htmlВынес в отдельную корневую директорию свои файлы .sof .elf и sof2flash.jar elf2flash.jar nios2-elf-objcopy.exe из комплекта Nios. Конвертил на базе TotalCommander в командной строке. Это проще чем вызывать консоль Nios. Вроде все сделал правильно и адреса в .map идут последовательно Код BLOCK START ADDRESS END ADDRESS
Page_0 0x00000000 0x000AF6E6 ne.hex 0x000AF6E7 0x000BFEAA
Note: All the addresses in this file are byte addresses Но по включению питания проект работает наполовину. Похоже, что загружен только .sof После принудительной загрузки .elf проект начинает работать. Похоже, что с вектором сброса проблема. У меня все работает в SDRAM. On_chip нет Как быть в этом случае? Хотя... Виноват. Очевидно в конфмгурацию нужно все же добавить on_chip и свойствах системной библиотеки переопределить на sdram только данные...Правильно-ли я мыслю?
Сообщение отредактировал Acvarif - Jan 28 2013, 13:50
|
|
|
|
|
Jan 28 2013, 13:57
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(Acvarif @ Jan 28 2013, 14:47)  Подскажите пожалуйста как можно сформировать общий загрузочный файл из .sof и .elf (Nios) для загрузки его в кофигурационную ПЗУ типа EPCS16. В приложении описано. Там же, в конце, немного о необходимой конфигурации SOPC. Ну и naliwator разъяснял.
|
|
|
|
|
Jan 28 2013, 16:22
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(vadimuzzz @ Jan 28 2013, 17:11)  на EPCS сброс направить и не мучиться. (контроллер EPCS это и есть on-chip с кодом загрузчика по SPI) Понял. Но в этом случае придется добавить в систему epcs контроллер? Получается что именно для такго случая понадобится последовательная (тройная) конвертация файлов для получения окончательнго .hex где последвательно прописаны данные конфигураци и собственно прграммы для SDRAM?
Сообщение отредактировал Acvarif - Jan 28 2013, 16:28
|
|
|
|
|
Jan 29 2013, 05:43
|

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

|
Цитата(gosu-art @ Jan 29 2013, 11:51)  А еще не получается дебугится если ресет указан на EPCS. Может я че делаю не так? 2 vadimuzzzА где можно почитать как работать со скриптами для флешьпрограммера. Ну и буду благодарен за примерчик  все прекрасно отлаживается, разницы никакой не будет. при отладке код программы загружается напрямую в ОЗУ и туда же передается управление. останов обычно на main стоит. если какая-то проблема с этим, выкладывайте логи, настройки проекта. вот пример скрипта: Код #!/bin/sh EPCS_BASE=0x1001800 cd /home/vadik/Qdesigns/sdr400cpu-ng # Creating .flash file for the FPGA configuration "$SOPC_KIT_NIOS2/bin/sof2flash" --epcs --input="./sdr400cpu-ng.sof" --output="sdr400cpu-ng.flash" # Programming flash with the FPGA configuration "$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=$EPCS_BASE "sdr400cpu-ng.flash" # Creating .flash file for the project "$SOPC_KIT_NIOS2/bin/elf2flash" --epcs --after="sdr400cpu-ng.flash" --input="./software/sdr400/sdr400.elf" --output="epcs_flash_controller_0.flash" # Programming flash with the project "$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=$EPCS_BASE "epcs_flash_controller_0.flash" значения всех ключиков есть в доке, что тут выше выкладывали
|
|
|
|
|
Jan 29 2013, 06:06
|

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

|
Цитата(gosu-art @ Jan 29 2013, 12:47)  Стесняюсь спросить  А откуда запускать это добро? да откуда угодно. открываете консоль и вызываете скрипт, можно куда-нибудь на видное место положить. Цитата cd /home/vadik/Qdesigns/sdr400cpu-ng - это переход в каталог проекта, тут свои пути поставите. если у вас винда, то там д.б. что-то типа nios console
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|