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

 
 
> Cyclone V: загрузука HPS из памяти FPGA (FPGA boot)
serjj
сообщение Dec 25 2014, 08:18
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Доброго дня. Есть отладочная плата Arrow SoCkit от Terasic. Занимаюсь поднятием HPS, в частности зазгрузкой прелоадера (preloader). Приложения Baremetal. Удалось прогрузить кастомный прелоадер по JTAG через DS-5 Debugger. SDRAM успешно инициализируется/калибруется, в нее загружается приложение, выполняется, вроде бы все ок. Пошел дальше: стоит задача реализовать режим загрузки FPGA Boot, описанный в документации. Руководствовался документом AN709 HPS SoC Boot Guide - Cyclone V SoC Development Kit дока и инструкцией инструкция rocketboards. BSEL выставлен в 0х1 (FPGA boot mode). Сигналы разрешения загрузки из FPGA выставлены по мануалу, но HPS не загружается. Попытался подключиться дебагером, посмотреть что же там происходит: пишет, что проц в состоянии running. Попытки его остановить дают следующую ошибку:

Код
ERROR(TAD9-NAL30):
! Unable to stop device Cortex-A9_0
! Cannot stop target.

Если принудительно проресетить его через дебагер, он вроде бы пишет, что все ок, но попытка что либо посмотреть после не удается - пишет, что проц недоступен вовсе.

Также проверил при BSEL 0x0, что по адресу 0xC0000000 (адрес On-Chip RAM в FPGA с hex файлом прелоадера) лежит собственно прелоадер. Возможно, HPS не выгружает прелоадер из памяти FPGA в свою встроенную память после снятия резета или он считывается неправильно. Сталкивался ли кто нибудь с загрузкой из ПЛИС раньше? Может быть какие нибудь идеи, куда копать? С примерами такой загрузки довольно тухло (как впрочем с примерами Baremetal вообще). Буду рад любой помощи!

Прикрепленные файлы
Прикрепленный файл  an709.pdf ( 1.41 мегабайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
serjj
сообщение Jan 12 2015, 09:42
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Продолжение "войны" с 5-м Cyclone'ом smile3046.gif
Пост на хабре я читал, всё конечно здорово, но вопрос не в Baremetal или Linux, а в загрузке HPS из FPGA. Сделал снимок каналов AXI Address Read и Data Read в Signaltap. И вот что получилось:

Прикрепленное изображение


Поставил триггер на ARVALID. Он ставит начальный адрес бёрста, адрес текущий до памяти доходит, данные вычитываются, но сигналы RVALID и RREADY на канале Data Read не выставляются, следовательно мастер (HPS) не получает данные. За согласование интерефейсов памяти и проца отвечает компонент mm_interconnect, который qsys поставил сам. Это первый момент, который меня смутил. Второй: адрес выставляется не по порядку, но тут я не уверен - может так и надо, порядок вычитывания определяет программа Boot loader'a, которая зашита в ROM HPS и недоступна... А вот таже картинка, только в другом масштабе, сигналы RVALID & RREADY так и не появляются.

Прикрепленное изображение


Документ по AXI, по которому смотрю как и что должно быть, может кому будет полезно
Прикрепленный файл  AXI4_specification.pdf ( 1.82 мегабайт ) Кол-во скачиваний: 557


ЗЫ: может кто поделиться лекарством для DS-5? rolleyes.gif пробная лицензия закончилась...

Сообщение отредактировал serjj - Jan 12 2015, 09:44
Go to the top of the page
 
+Quote Post
alexPec
сообщение Jan 26 2015, 05:50
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день, serjj.

Появилось время на знакомство с HPS, появились вопросы, которые Вы видимо прошли. Если не трудно помогите советом.

1. Почему boot из FPGA? Надо же что-то в FPGA городить чтобы залить файл в HPS? Хочу использовать boot из QSPI (FPGA и HPS), может чего-то не учел?
2. В DS5 как создается проект? Просто new project c++ и все, пишем сорс, компилируем и готово? Привык что в ниосе еще огромная BSP. Неужели тут ничего, кроме сорсов приложения ?
3. При boot-е из QSPI я так понял сначала грузим HPS, а как грузится FPGA? Видел что надо rbf файл сделать, а куда его втолкнуть потом?

Пока в голове каша, может вопросы примитивные, пожалуйста подскажите документы в которых искать ответы.


Спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- serjj   Cyclone V: загрузука HPS из памяти FPGA (FPGA boot)   Dec 25 2014, 08:18
- - serjj   Обнаружил интересную особенность: поставил в проек...   Dec 29 2014, 15:34
- - vadimuzzz   а FPGA загрузилась? ЦитатаFor direct execution fro...   Dec 30 2014, 05:05
- - serjj   Да загрузилась, встают PLL, я параллельно смотрел ...   Dec 30 2014, 07:06
- - WitFed   Мне летом какой-то крутой ARM-перец на форуме Альт...   Dec 30 2014, 07:39
- - serjj   Автостарт Signaltap сделал, но вот чтения по h2f A...   Dec 30 2014, 08:01
- - serjj   Новые новости с Boot фронта После подачи питани...   Dec 30 2014, 11:37
|- - vadimuzzz   Цитата(serjj @ Dec 30 2014, 17:37) ые по ...   Dec 30 2014, 11:50
- - serjj   При старте FPGA получается следующая картинка: Ре...   Dec 30 2014, 12:23
|- - alexPec   Автору большая просьба: опишите поподробней правил...   Jan 3 2015, 10:14
- - vadimuzzz   а можно все эти сигналы в кучу собрать (axi полнос...   Jan 2 2015, 02:30
- - serjj   2 vadimuzzz, в OCRAM лежит hex preloader'а, фо...   Jan 9 2015, 09:53
- - Jury093   Цитата(serjj @ Dec 25 2014, 11:18) Сталки...   Jan 9 2015, 11:31
- - serjj   Здравствуйте. ЦитатаПочему boot из FPGA? Надо же ч...   Jan 26 2015, 07:48
- - alexPec   Спасибо, очень полезная информация, копаю дальше.....   Jan 26 2015, 08:39
- - sonycman   Цитата(serjj @ Jan 26 2015, 11:48) В прим...   Jul 28 2016, 14:32


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 19:36
Рейтинг@Mail.ru


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