|
|
  |
Загрузка .sof + .elf в EPCS16 |
|
|
|
Jan 29 2013, 08:23
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(vadimuzzz @ Jan 29 2013, 12:12)  нет, вектор сброса указывает на EPCS. а вот в настройках линкера проекта все секции программы кидаете на SDRAM. тогда при подаче питания произойдет следующее: - сконфигурируется ПЛИС (и ядро процессора в том числе)
- запустится программа, которая лежит по адресу сброса (контроллер EPCS), это бутлодер, который перепишет программу в SDRAM
- по окончании копирования в SDRAM управление будет передано вашей программе
Спасибо. Понятно. Осталась небольшая загвоздка. Сформировал я последовательно 2 .hex один из .sof другой из .elf. Каждый начинается со своего нужного адреса. Но конвертор jic разрешает добавить только один .hex как их теперь состыковать? Или может добавить просто .sof, а затем .hex который сделан из .elf с относительной настройкой адресации?
|
|
|
|
|
Jan 29 2013, 08:25
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(vadimuzzz @ Jan 29 2013, 11:12)  нет, вектор сброса указывает на EPCS. а вот в настройках линкера проекта все секции программы кидаете на SDRAM. тогда при подаче питания произойдет следующее: - сконфигурируется ПЛИС (и ядро процессора в том числе)
- запустится программа, которая лежит по адресу сброса (контроллер EPCS), это бутлодер, который перепишет программу в SDRAM
- по окончании копирования в SDRAM управление будет передано вашей программе
А у меня не получалось так 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
|
|
|
|
|
Jan 29 2013, 08:40
|
Знающий
   
Группа: Участник
Сообщений: 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 Может все же так?
|
|
|
|
|
Jan 29 2013, 09:26
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
|
Jan 29 2013, 10:29
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(Acvarif @ Jan 29 2013, 12:26)  Вроде все должно работать. Но не хочет Сделайте маленький тестовый проект, используя для Ниоса внутреннею память FPGA... От простого с сложному.. Потом, была еще заморочка: в *.hex нужно было по ходу дела переформатировать ширину слова к формату байта. На это я указал выше в своей шпаргалке hex.doc. А принт-скрины, вроде бы в норме... Не хватает только еще вида структуры из SOPC (Qsys)...
|
|
|
|
|
Jan 29 2013, 11:17
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
|
Jan 29 2013, 11:56
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(vadimuzzz @ Jan 29 2013, 15:29)  Acvarif, я нить дискуссии немного потерял, а вы через flash-programmer пробовали? EPCS прошиваю USB Blaster но через Quartus II Programmer. flash-programmer не пробовал. А в чем будет разница?
|
|
|
|
|
Jan 29 2013, 12:13
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|