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

 
 
> 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
сообщение Dec 30 2014, 11:37
Сообщение #2


Знающий
****

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



Новые новости с Boot фронта help.gif
После подачи питания и залифки .sof файла удалось получить в signaltap следующие эпюры:

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


При этом видно, что данные вычитываются из памяти подряд на каждом такте и никак не привязаны к сигналу RVALID. Если я читаю содержимое сектора 0с0000000 вручную, то картинка получается такая:

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


Транзакция на шине сопровождается сигналом RVALID, по которому master будет капчурить данные, полученные от slave'a. Я пока не специалист по AXI, но по-моему очевидно, что эпюр на второй картинке соответствует правильной транзакции, а на первой - неправильной. Уже хорошо то, что проц пытается что-то прочитать после загрузки FPGA rolleyes.gif , но вопрос почему он считывает данные неправильно?..

PS. Сейчас все резеты сняты по умолчанию при загрузке FPGA:
Код
        .reset_reset_n                                ( 1'b1 ),
        .hps_boot_fpga_boot_from_fpga_ready            ( 1'b1 ),
        .hps_boot_fpga_boot_from_fpga_on_failure    ( 1'b0 ),
        .hps_cold_rst_reset_n                        ( 1'b1 ),
        .hps_debug_rst_reset_n                        ( 1'b1 ),
        .hps_warm_rst_reset_n                        ( 1'b1 ),

Если подавать резеты, сформированные по pll_locked, то проц не пытается загружаться с FPGA
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 30 2014, 11:50
Сообщение #3


Гуру
******

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



Цитата(serjj @ Dec 30 2014, 17:37) *
ые по pll_locked, то проц не пытается загружаться с FPGA

заведите все эти ресеты и прочую шелуху в сигналтап. хочется посмотреть именно на момент перехода fpga в user mode
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   При старте 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   Продолжение "войны" с 5-м Cyclone'ом...   Jan 12 2015, 09:42
|- - alexPec   Добрый день, serjj. Появилось время на знакомство...   Jan 26 2015, 05:50
- - 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 Текстовая версия Сейчас: 21st July 2025 - 23:58
Рейтинг@Mail.ru


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