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

 
 
> Загрузка .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
 
Start new topic
Ответов
vadimuzzz
сообщение Jan 29 2013, 08:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
gosu-art
сообщение Jan 29 2013, 08:25
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 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
vadimuzzz
сообщение Jan 29 2013, 08:55
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
Acvarif
сообщение Jan 29 2013, 09:26
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 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
Serhiy_UA
сообщение Jan 29 2013, 10:29
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 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
Stewart Little
сообщение Jan 29 2013, 12:02
Сообщение #7


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

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


Знающий
****

Группа: Участник
Сообщений: 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
Сообщение #9


Гуру
******

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


Знающий
****

Группа: Участник
Сообщений: 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
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 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   Загрузка .sof + .elf в EPCS16   Jan 28 2013, 11:47
- - gosu-art   Можно не добавлять, а указать ресет на он чип и вы...   Jan 28 2013, 11:51
- - Stewart Little   Цитата(Acvarif @ Jan 28 2013, 15:47) Очев...   Jan 28 2013, 12:05
- - vadimuzzz   Цитата(Acvarif @ Jan 28 2013, 18:47) Очев...   Jan 28 2013, 12:08
|- - Acvarif   Спасибо. Общий смысл понятен. Сначала попробую бе...   Jan 28 2013, 12:37
|- - Acvarif   Спасибо. Конвертация получилась. Программирование ...   Jan 28 2013, 13:41
|- - vadimuzzz   Цитата(Acvarif @ Jan 28 2013, 20:41) прин...   Jan 28 2013, 14:11
|- - Acvarif   Цитата(vadimuzzz @ Jan 28 2013, 17:11) на...   Jan 28 2013, 16:22
|- - vadimuzzz   Цитата(Acvarif @ Jan 28 2013, 23:22) Поня...   Jan 28 2013, 23:36
- - Serhiy_UA   Цитата(Acvarif @ Jan 28 2013, 14:47) Подс...   Jan 28 2013, 13:57
- - gosu-art   А еще не получается дебугится если ресет указан на...   Jan 29 2013, 04:51
|- - vadimuzzz   Цитата(gosu-art @ Jan 29 2013, 11:51...   Jan 29 2013, 05:43
- - gosu-art   Стесняюсь спросить А откуда запускать это добро?   Jan 29 2013, 05:47
|- - vadimuzzz   Цитата(gosu-art @ Jan 29 2013, 12:47...   Jan 29 2013, 06:06
|- - Acvarif   Добавил в систему EPCS контроллер и наткнулся на н...   Jan 29 2013, 08:01
|- - Acvarif   Цитата(vadimuzzz @ Jan 29 2013, 12:12) не...   Jan 29 2013, 08:23
|- - Acvarif   Цитата(gosu-art @ Jan 29 2013, 12:25...   Jan 29 2013, 08:40
|- - Acvarif   Цитата(Serhiy_UA @ Jan 29 2013, 14:29) Сд...   Jan 29 2013, 11:17
|- - Acvarif   Цитата(Serhiy_UA @ Jan 30 2013, 10:36) Сд...   Jan 30 2013, 07:19
- - gosu-art   Да, ПЛИС грузится, процессор видно, но программа н...   Jan 29 2013, 09:20
|- - vadimuzzz   Цитата(gosu-art @ Jan 29 2013, 16:20...   Jan 29 2013, 09:23
|- - gosu-art   Цитата(vadimuzzz @ Jan 29 2013, 12:23) а ...   Jan 29 2013, 10:11
- - vadimuzzz   Acvarif, я нить дискуссии немного потерял, а вы че...   Jan 29 2013, 11:29
|- - Acvarif   Цитата(vadimuzzz @ Jan 29 2013, 15:29) Ac...   Jan 29 2013, 11:56
- - vadimuzzz   не надо там никакие офсеты вручную выставлять, для...   Jan 30 2013, 07:44
|- - Acvarif   Цитата(vadimuzzz @ Jan 30 2013, 11:44) не...   Jan 30 2013, 08:07
|- - gosu-art   Цитата(Acvarif @ Jan 30 2013, 11:07) Все ...   Jan 30 2013, 09:30
|- - Acvarif   Цитата(gosu-art @ Jan 30 2013, 12:30...   Jan 30 2013, 16:30
||- - vadimuzzz   Цитата(Acvarif @ Jan 30 2013, 23:30) 2. С...   Jan 30 2013, 23:41
||- - Acvarif   Цитата(vadimuzzz @ Jan 31 2013, 03:41) по...   Jan 31 2013, 06:20
|- - FLTI   Цитата(Acvarif @ Jan 30 2013, 12:07) Все ...   Oct 30 2013, 17:06
|- - _Anatoliy   Цитата(FLTI @ Oct 30 2013, 19:06) Почему?...   Dec 19 2014, 09:54
- - FLTI   Сейчас вплотную занялся именно этой темой. Возможн...   May 31 2014, 03:12


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 21:05
Рейтинг@Mail.ru


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