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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Загрузка .sof + .elf в EPCS16
Acvarif
сообщение Jan 28 2013, 11:47
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Подскажите пожалуйста как можно сформировать общий загрузочный файл из .sof и .elf (Nios) для загрузки его в кофигурационную ПЗУ типа EPCS16.
Очевидно нужно в систему добавить EPCS контроллер и поставить Reset вектор на него? Или это не обязательно? Но как объединить файлы .sof и .elf, чтобы потом зашить в EPCS16, так чтобы по включению питания все грузилось последовательно как и при отладке? (Для отладки пользуюсь USB Blaster в режиме JTAG)

Сообщение отредактировал Acvarif - Jan 28 2013, 11:49
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 28 2013, 11:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Можно не добавлять, а указать ресет на он чип и выполнить следующую процедуру
http://naliwator.narod.ru/les/les_nios_epcs_03.html
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jan 28 2013, 12:05
Сообщение #3


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

Группа: Свой
Сообщений: 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


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 28 2013, 12:08
Сообщение #4


Гуру
******

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



Цитата(Acvarif @ Jan 28 2013, 18:47) *
Очевидно нужно в систему добавить EPCS контроллер и поставить Reset вектор на него? Или это не обязательно?

не обязательно. можно ресет нацелить на он-чип, а в качестве файла инициализации этой памяти указать hex-файл программы. но если вы захотите поменять программу только ниоса, то придется перекомпилировать квартусовский проект. если же ресет указывает на внешнюю ПЗУ, то программу можно менять независимо от sof. выбирайте, что удобнее
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 28 2013, 12:37
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 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 в командной строке?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 28 2013, 13:41
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 28 2013, 13:57
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Acvarif @ Jan 28 2013, 14:47) *
Подскажите пожалуйста как можно сформировать общий загрузочный файл из .sof и .elf (Nios) для загрузки его в кофигурационную ПЗУ типа EPCS16.

В приложении описано. Там же, в конце, немного о необходимой конфигурации SOPC.
Ну и naliwator разъяснял.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 28 2013, 14:11
Сообщение #8


Гуру
******

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



Цитата(Acvarif @ Jan 28 2013, 20:41) *
принудительной загрузки .elf проект начинает работать. Похоже, что с вектором сброса проблема. У меня все работает в SDRAM. On_chip нет Как быть в этом случае?

на EPCS сброс направить и не мучиться. (контроллер EPCS это и есть on-chip с кодом загрузчика по SPI)
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 28 2013, 16:22
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 28 2013, 23:36
Сообщение #10


Гуру
******

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



Цитата(Acvarif @ Jan 28 2013, 23:22) *
Понял. Но в этом случае придется добавить в систему epcs контроллер?
Получается что именно для такго случая понадобится последовательная (тройная) конвертация файлов для получения окончательнго .hex где последвательно прописаны данные конфигураци и собственно прграммы для SDRAM?

да. но ленивые люди вроде меня пишут скрипт для nios2-flash-programmer, тогда все эти телодвижения делаются одним щелчком мыши
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 29 2013, 04:51
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



А еще не получается дебугится если ресет указан на EPCS. Может я че делаю не так?
2 vadimuzzz
А где можно почитать как работать со скриптами для флешьпрограммера. Ну и буду благодарен за примерчик rolleyes.gif
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 05:43
Сообщение #12


Гуру
******

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



Цитата(gosu-art @ Jan 29 2013, 11:51) *
А еще не получается дебугится если ресет указан на EPCS. Может я че делаю не так?
2 vadimuzzz
А где можно почитать как работать со скриптами для флешьпрограммера. Ну и буду благодарен за примерчик rolleyes.gif

все прекрасно отлаживается, разницы никакой не будет. при отладке код программы загружается напрямую в ОЗУ и туда же передается управление. останов обычно на 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"

значения всех ключиков есть в доке, что тут выше выкладывали
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 29 2013, 05:47
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Стесняюсь спросить rolleyes.gif А откуда запускать это добро?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 06:06
Сообщение #14


Гуру
******

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



Цитата(gosu-art @ Jan 29 2013, 12:47) *
Стесняюсь спросить rolleyes.gif А откуда запускать это добро?

да откуда угодно. открываете консоль и вызываете скрипт, можно куда-нибудь на видное место положить.
Цитата
cd /home/vadik/Qdesigns/sdr400cpu-ng
- это переход в каталог проекта, тут свои пути поставите. если у вас винда, то там д.б. что-то типа nios console
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 08:01
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Добавил в систему EPCS контроллер и наткнулся на ноги двойного назначения.
Выставил все как I/O. Все откомпилировалось нормально.
Не уверен, что я правильно все понимаю по поводу прошивки EPCS. Поскольку у меня все (программа, данные, стек...) находится в SDRAM то и очевидно вектор сброса я должен выставить на SDRAM.
Я так понимаю, что теперь нужно в EPCS зашить все так, чтобы по включению питания сначала в ПЛИС грузилась конфигурация, затем в SDRAM загружалась программа Nios, затем по сбросу начинало крутиться все вместе. Похоже что для этого достаточно выполнить только это:
1. Create a flash file for the hardware and software image
sof2flash --input=<hwimage>.sof --output=hwimage.flash --epcs --verbose
elf2flash --input=<elf file>.elf --output=swimage.flash --epcs --after=hwimage.flash --verbose
2. Convert the flash images into Hex files
nios2-elf-objcopy -I srec -O ihex hwimage.flash hwimage.hex
nios2-elf-objcopy -I srec -O ihex swimage.flash swimage.hex
Теперь для создания jic file достаточно добавить оба .hex c их абсолютной адресацией и затем все зашить в EPCS. Правильно-ли я все понимаю?


Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 08:12
Сообщение #16


Гуру
******

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



Цитата
Поскольку у меня все (программа, данные, стек...) находится в SDRAM то и очевидно вектор сброса я должен выставить на SDRAM.

нет, вектор сброса указывает на EPCS. а вот в настройках линкера проекта все секции программы кидаете на SDRAM. тогда при подаче питания произойдет следующее:
  1. сконфигурируется ПЛИС (и ядро процессора в том числе)
  2. запустится программа, которая лежит по адресу сброса (контроллер EPCS), это бутлодер, который перепишет программу в SDRAM
  3. по окончании копирования в SDRAM управление будет передано вашей программе
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 08:23
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Jan 29 2013, 12:12) *
нет, вектор сброса указывает на EPCS. а вот в настройках линкера проекта все секции программы кидаете на SDRAM. тогда при подаче питания произойдет следующее:
  1. сконфигурируется ПЛИС (и ядро процессора в том числе)
  2. запустится программа, которая лежит по адресу сброса (контроллер EPCS), это бутлодер, который перепишет программу в SDRAM
  3. по окончании копирования в SDRAM управление будет передано вашей программе

Спасибо. Понятно.
Осталась небольшая загвоздка. Сформировал я последовательно 2 .hex один из .sof другой из .elf. Каждый начинается со своего нужного адреса. Но конвертор jic разрешает добавить только один .hex как их теперь состыковать? Или может добавить просто .sof, а затем .hex который сделан из .elf с относительной настройкой адресации?
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 29 2013, 08:25
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(vadimuzzz @ Jan 29 2013, 11:12) *
нет, вектор сброса указывает на EPCS. а вот в настройках линкера проекта все секции программы кидаете на SDRAM. тогда при подаче питания произойдет следующее:
  1. сконфигурируется ПЛИС (и ядро процессора в том числе)
  2. запустится программа, которая лежит по адресу сброса (контроллер EPCS), это бутлодер, который перепишет программу в SDRAM
  3. по окончании копирования в SDRAM управление будет передано вашей программе

А у меня не получалось так crying.gif http://electronix.ru/forum/index.php?s=&am...t&p=1088042
Наверное потому что я это не сделал ?
sof2flash --input=<hwimage>.sof --output=hwimage.flash --epcs --verbose
nios2-elf-objcopy -I srec -O ihex hwimage.flash hwimage.hex
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 08:40
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(gosu-art @ Jan 29 2013, 12:25) *
Наверное потому что я это не сделал ?
sof2flash --input=<hwimage>.sof --output=hwimage.flash --epcs --verbose
nios2-elf-objcopy -I srec -O ihex hwimage.flash hwimage.hex

Это Вы делаете .hex из .sof. Но для формирования jic какраз и нужен .sof А вот после него должен идти .hex который сформирован из .elf
elf2flash --input=<elf file>.elf --output=swimage.flash --epcs --after=hwimage.flash --verbose
nios2-elf-objcopy -I srec -O ihex swimage.flash swimage.hex
Может все же так?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 08:55
Сообщение #20


Гуру
******

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



Цитата(gosu-art @ Jan 29 2013, 15:25) *
А у меня не получалось так crying.gif http://electronix.ru/forum/index.php?s=&am...t&p=1088042

там не все видно на второй картинке (видны параметры команды elf2flash, а надо бы еще sof2flash глянуть). то, что есть, выглядит правильно. какие еще симптомы? FPGA конфигурируется?
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 29 2013, 09:20
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Да, ПЛИС грузится, процессор видно, но программа не выполняется. Выкрутился пока так http://electronix.ru/forum/index.php?showt...4&hl=sdram* но хотелось бы по нормальному делать. Плат пока на столе нет, потом с DDR2 еще попробую.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 09:23
Сообщение #22


Гуру
******

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



Цитата(gosu-art @ Jan 29 2013, 16:20) *
Да, ПЛИС грузится, процессор видно, но программа не выполняется.

а через отладчик программа запускается (в sdram)?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 09:26
Сообщение #23


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Пока не получается. По включению питания система загружается (.sof) (FPGA конфигурируется)
Но программа - .hex созданный из .elf
sof2flash --input=<hwimage>.sof --output=hwimage.flash --epcs --verbose
elf2flash --input=<elf file>.elf --output=swimage.flash --epcs --after=hwimage.flash --verbose
nios2-elf-objcopy -I srec -O ihex swimage.flash swimage.hex
не запускается.
Запускается (sdram) только после принудительной загрузки из Nios Eclipse
Конвертация и вектора на картинках
Прикрепленное изображение
Прикрепленное изображение

Вроде все должно работать. Но не хочет

Сообщение отредактировал Acvarif - Jan 29 2013, 09:36
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 29 2013, 10:11
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(vadimuzzz @ Jan 29 2013, 12:23) *
а через отладчик программа запускается (в sdram)?

Я уже если честно не помню, но потратил не мало времени. Плата была не серийная, один раз решил - забыл rolleyes.gif Но сейчас чувствую снова придется возвращаться к этому вопросу. Жду пока припаяют DDR2. wacko.gif
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 29 2013, 10:29
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Acvarif @ Jan 29 2013, 12:26) *
Вроде все должно работать. Но не хочет

Сделайте маленький тестовый проект, используя для Ниоса внутреннею память FPGA... От простого с сложному..
Потом, была еще заморочка: в *.hex нужно было по ходу дела переформатировать ширину слова к формату байта. На это я указал выше в своей шпаргалке hex.doc.
А принт-скрины, вроде бы в норме... Не хватает только еще вида структуры из SOPC (Qsys)...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 11:17
Сообщение #26


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Serhiy_UA @ Jan 29 2013, 14:29) *
Сделайте маленький тестовый проект, используя для Ниоса внутреннею память FPGA... От простого с сложному..
Потом, была еще заморочка: в *.hex нужно было по ходу дела переформатировать ширину слова к формату байта. На это я указал выше в своей шпаргалке hex.doc.
А принт-скрины, вроде бы в норме... Не хватает только еще вида структуры из SOPC (Qsys)...

Про ширину слова я забыл. Надо попробовать. Конфигурация системы на картинке. На EPCS подается pll_sys (100 мГц - может многовато будет?)
Прикрепленное изображение
Вверху cpu_0
Если опять застрянет, начну с внутренней памятью.

Сообщение отредактировал Acvarif - Jan 29 2013, 11:19
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 11:29
Сообщение #27


Гуру
******

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



Acvarif, я нить дискуссии немного потерял, а вы через flash-programmer пробовали?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 11:56
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Jan 29 2013, 15:29) *
Acvarif, я нить дискуссии немного потерял, а вы через flash-programmer пробовали?

EPCS прошиваю USB Blaster но через Quartus II Programmer. flash-programmer не пробовал.
А в чем будет разница?
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jan 29 2013, 12:02
Сообщение #29


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

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



Цитата(Serhiy_UA @ Jan 29 2013, 14:29) *
Не хватает только еще вида структуры из SOPC (Qsys)...

Не только. Еще важны настройки BSP - в каком состоянии находится галка "Allow code at reset" (или что-то в этом роде).

Цитата(Acvarif @ Jan 29 2013, 15:56) *
А в чем будет разница?

Разница будет в том, что не придется чесать левое ухо правой ногой. angry.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 12:13
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Stewart Little @ Jan 29 2013, 16:02) *
Не только. Еще важны настройки BSP - в каком состоянии находится галка "Allow code at reset" (или что-то в этом роде).

Работаю в Q90 - настройки системной библиотеки
Прикрепленное изображение
И все же почему именно flash-programmer если Q II programmer тоже позволяет программировать EPCS?

Сообщение отредактировал Acvarif - Jan 29 2013, 12:22
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 29 2013, 13:26
Сообщение #31


Гуру
******

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



Цитата(Acvarif @ Jan 29 2013, 19:13) *
И все же почему именно flash-programmer если Q II programmer тоже позволяет программировать EPCS?

меньше телодвижений. один раз скрипт настроил и все.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 29 2013, 14:12
Сообщение #32


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Jan 29 2013, 17:26) *
меньше телодвижений. один раз скрипт настроил и все.

Хорошо, попробую еще и так.
Попробую Ваш скрипт. Какое расширение нужно поставить файлу скрипта? Или просто последовательно набрать все в консоли Nios?
А через Q программер не получается, даже с он-чип мемори. Пробовал по всякому. Менял на 8 бит .hex - ничего не изменилось. Всеравно загружается только кофигурация FPGA. Не понятно как все же .hex программы (который записан в EPCS сразу после .sof ) попадает в память (он-чип или sdram) и там запускается.
Код
Page_0        0x00000000        0x000AF6E6
NeptunE.hex    0x000AF6E7        0x00105018

данные конфигурации (Nios + разная логика) (начинаются в EPCS с0x00000000) После включения питания они попадают куда надо.
А программа (в EPCS находится по адресу 0x000AF6E7) никуда не попадает или попадает не туда. Или попадает куда надо но не запускается...
Цитата
запустится программа, которая лежит по адресу сброса (контроллер EPCS), это бутлодер, который перепишет программу в SDRAM

По поводу бутлоадера - он в памяти контроллере EPCS от производителя или его нужно отдельно туда загрузить?
Да, понял. Бутлоадер в памяти контроллера уже имеется. Вроде с контроллером EPCS самый простой путь. Попробую еще через flash programmer...

Сообщение отредактировал Acvarif - Jan 29 2013, 19:12
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 30 2013, 06:36
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Сделайте маленький тест для памяти NiosII внутри FPGA, с программным миганием одного светодиода и все.
Испробуйте. Если нее пойдет, то выложите проект для обозрения.
Могу выслать свой аналогичный тест, все работает, объем в упаковке *.zip около 12м. Там один светодиод мигает от QII, а другой от NiosII. Связка аналогичная Вашей - Cyclone III EP3C40Q240C8 и EPCS16SI8N. Отличие, что Вы используете VHDL, а у меня verilog, но это не принципиально. Применяю QII 7.2, а Вы QII 9.0, все получается и без скриптов, прямо из GUI, но здесь уже надо выбирать...
Не сложно там...
Дайте свой адрес для высылки, можно на мой личный ящик.


Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 30 2013, 07:19
Сообщение #34


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Serhiy_UA @ Jan 30 2013, 10:36) *
Сделайте маленький тест для памяти NiosII внутри FPGA, с программным миганием одного светодиода и все.
Испробуйте. Если нее пойдет, то выложите проект для обозрения.
Могу выслать свой аналогичный тест, все работает, объем в упаковке *.zip около 12м. Там один светодиод мигает от QII, а другой от NiosII. Связка аналогичная Вашей - Cyclone III EP3C40Q240C8 и EPCS16SI8N. Отличие, что Вы используете VHDL, а у меня verilog, но это не принципиально. Применяю QII 7.2, а Вы QII 9.0, все получается и без скриптов, прямо из GUI, но здесь уже надо выбирать...
Не сложно там...
Дайте свой адрес для высылки, можно на мой личный ящик.

Спасибо. Ящик vladb727 собака gmail точка com
Вроде получилось. Пока до конца еще не осмыслил как, но заработало (пока только в он-чип). Теперь нужно на sdram попробовать. Шил через flash программер.
Думаю проблема была в сбросе (до конца пока не выяснил). Тоесть все грузилось но не запускалось без дополнительного принудительного сброса всей системы.
С flasf программатором не понял как устанавливать в нем offset? Я установил после того как вручную выполнил преобразование .elf в .flash и посмотрел смещение в .map файле.
Прикрепленное изображение

А как это сделать проще?

Сообщение отредактировал Acvarif - Jan 30 2013, 07:27
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 30 2013, 07:44
Сообщение #35


Гуру
******

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



не надо там никакие офсеты вручную выставлять, для этого есть опция -after. посмотрите скрипт, что я приводил выше
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 30 2013, 08:07
Сообщение #36


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Jan 30 2013, 11:44) *
не надо там никакие офсеты вручную выставлять, для этого есть опция -after. посмотрите скрипт, что я приводил выше

Скриптом я попробую. Все должно сработать.
На панели flash программера которая вызывается из Nios Eclipse есть только окно для установки смещения.
Попробовал в sdram. Все заработало, но только после принудительного сброса системы после включения питания. Со сбросом надо будет чего -нибудь придумывать...

Сообщение отредактировал Acvarif - Jan 30 2013, 08:08
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Jan 30 2013, 09:30
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(Acvarif @ Jan 30 2013, 11:07) *
Все заработало, но только после принудительного сброса системы после включения питания. Со сбросом надо будет чего -нибудь

Так может у меня поэтому не работало!? blink.gif Я просто делал вкл\выкл питания и все. Нужно тоже будет попробовать...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 30 2013, 16:30
Сообщение #38


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(gosu-art @ Jan 30 2013, 12:30) *
Так может у меня поэтому не работало!? blink.gif Я просто делал вкл\выкл питания и все. Нужно тоже будет попробовать...

На данный момент заработало все по включению питания. Условия:
1. Программирование через flash programmer. Если делать так http://naliwator.narod.ru/les/les_nios_epcs_03.html не работает никак.
2. Странно, но только компиляция программы без оптимизации кода "Debug" работает стабильно (Release сразу не запускается и работает не стабильно).
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 30 2013, 23:41
Сообщение #39


Гуру
******

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



Цитата(Acvarif @ Jan 30 2013, 23:30) *
2. Странно, но только компиляция программы без оптимизации кода "Debug" работает стабильно (Release сразу не запускается и работает не стабильно).

похоже на кривые тайминги sdram
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 31 2013, 06:20
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Jan 31 2013, 03:41) *
похоже на кривые тайминги sdram

Тайминги вообще еще не настраивал. Красным подсвечивает несколько позиций. Но в отладчике все работает нормально. Для sdram выставил только фазовый сдвиг -60 град. Прокрутил тест (100 мГц). Все в норме.
Похоже что-то другое.
Go to the top of the page
 
+Quote Post
FLTI
сообщение Oct 30 2013, 17:06
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



Цитата(Acvarif @ Jan 30 2013, 12:07) *
Все заработало, но только после принудительного сброса системы после включения питания. Со сбросом надо будет чего -нибудь придумывать...

Цитата(gosu-art @ Jan 30 2013, 13:30) *
Так может у меня поэтому не работало!? blink.gif Я просто делал вкл\выкл питания и все. Нужно тоже будет попробовать...

Цитата(Acvarif @ Jan 30 2013, 20:30) *
На данный момент заработало все по включению питания. Условия:
1. Программирование через flash programmer.

Расскажите, что сделали, что заработало по включению питания?
И почему до этого работало только после принудительного сброса системы после включения питания?
Цитата(Acvarif @ Jan 30 2013, 20:30) *
Если делать так http://naliwator.narod.ru/les/les_nios_epcs_03.html не работает никак.

Почему? Там ошибка или иная причина?
Go to the top of the page
 
+Quote Post
FLTI
сообщение May 31 2014, 03:12
Сообщение #42


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



Сейчас вплотную занялся именно этой темой.
Возможно, что кто-то из участников этой темы ответит на мой предыдущий пост.
Это было бы поучительно для многих.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Dec 19 2014, 09:54
Сообщение #43


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

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



Цитата(FLTI @ Oct 30 2013, 19:06) *
Почему? Там ошибка или иная причина?

Тоже интересует,хотя пользуюсь флеш_программером,но любопытно. Вы не докопались?Вообще реально кто нибудь конвертировал .sof+.elf в .jic?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:27
Рейтинг@Mail.ru


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