Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Zynq, SDK, инициализация PL и Run Configurations
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Lionet
Добрый день

Есть Vivado и SDK, версия 2014.4 и отладочные платы (ZC706, ZedBoard и другие).

Есть несколько сложностей с корректным взаимодействием между Вивадой и SDK, и вообще
иделогией Xilinx в этом плане. Разъясните, пожалуйста, кто "в теме".

1. Vivado: Export hardware - здесь момент следущий:
опция "Include bitstream" - насколько я понимаю, если нам нужен только процессор (PS) без программируемой логики (PL),
то создаём Block design, добавляем Zynq Processing system, настраиваем, экспортируем без Include bitstream (его и не будет),
работаем в SDK как с обычным ARM-процессором. Так?

Если мы что-то насоздавали в ПЛИС, то генерируем bitstream и экспортируем с ним. Но тогда возникает проблема
синхронизации файлов - копия битстрима уходит в SDK и, если мы потом что-то изменим в FPGA-коде, SDK всё равно будет
использовать старый вариант. Можно, конечно, попробовать обновить данные путём Change Hardware Platform Specification в SDK
или вручную скопировать новый битстрим, но это какие-то костыли. Непонятно.

2. SDK. Создание конфигурации отладки/выполнения (Debug/Run configurations) приложения.

Вообще, по логике должно быть два варианта:
1) полный сброс системы, заливка указанного пользователем bitstream, загрузка в память приложения и его отладка.
Настройку процессора можно было бы сделать в виде Си кода в начале приложения ну или tcl-скриптами, как сейчас, но
как-то более прозрачно.
2) сброс только процессора (если в ПЛИС ничего менять не надо, для экономии времени), инциализация процессора,
загрузка и запуск приложения.

У Xilinx всё как-то хитрее - в окнах Run Configurations, Debug Configurations и Program FPGA
кнопки Search (которая позволяет, видимо, выбрать файл (bitstream или скрипт) из текущей Hardware Platform Specification) и
Browse (позволяющая выбрать произвольный файл) становятся активными и неактивными по каждый раз
по-новому по какому-то неведомому алгоритму.
Опция Run ps7_post_config (которая отвечает, судя по Гуглу, как раз за включение мота PS-PL и выдачу тактовых
сигналов и сброса в PL от PS) никак не даёт себя включить (хотя в других проектах бывает доступна).

В общем, чуть-чуть сильно запутался (с)
AndruB
Цитата(Lionet @ Sep 2 2016, 11:49) *
1.
Если мы что-то насоздавали в ПЛИС, то генерируем bitstream и экспортируем с ним. Но тогда возникает проблема
синхронизации файлов - копия битстрима уходит в SDK и, если мы потом что-то изменим в FPGA-коде, SDK всё равно будет
использовать старый вариант. Можно, конечно, попробовать обновить данные путём Change Hardware Platform Specification в SDK
или вручную скопировать новый битстрим, но это какие-то костыли. Непонятно.

2.

Вообще, по логике должно быть два варианта:
1) полный сброс системы, заливка указанного пользователем bitstream, загрузка в память приложения и его отладка.
Настройку процессора можно было бы сделать в виде Си кода в начале приложения ну или tcl-скриптами, как сейчас, но
как-то более прозрачно.
2) сброс только процессора (если в ПЛИС ничего менять не надо, для экономии времени), инциализация процессора,
загрузка и запуск приложения.


1. После любого изменения в FPGA надо
а. экспортировать bitstream
б. зайти в SDK и перегенерировать все bsp "Re-generate BSP Sources" (выделяете папку проекта bsp, правая кнопка мыши)
если последний пункт не сделать, то начинаются дикие глюки работы программы.

2. Эти варианты и реализованы в SDK.
1) Согласен, что работа со штатной загрузкой SDK не радует, но tcl-скрипты удобны.
Я взял за основу bat файлы загрузки из примера zc706_bist\ready_for_download, переделал их под проект и пользуюсь только ими.
2) При запуске debug это и происходит.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.