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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Загрузка .sof + .elf в EPCS16
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

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:17
Рейтинг@Mail.ru


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