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

Запускаю Zynq на плате собственной разработки, посему потребовалось собрать свой First Stage Boot Loader.
Для начала решил все опробовать на пробной плате ZC702, потому что со своей платой пока что в принципе на работали, только начался процесс освоения.

Вроде бы все делаю по манам / туториалам, однако цинк не стартует с собранным в SDK Boot Loaderом. Пока не понятно, что там конкретно, но в UART ничего не сыпется.
Собственно как-то это немного оказалось неожиданно wacko.gif , что из родного инструментария, с "вшитой" поддержкой этой платы, не получилось ее запустить.

Пробовал собирать в SDK 2014.2 и 2014.1, скоро попробую на более ранних версиях.

Делаю так:
Создаю новый Aplication Project в SDK, в качестве Hardware Platform указываю пробную плату (ZC702_hw_platform), сам проект создаю по шаблону FSBL. В результате создается BSP под платочку и проект самого FSBL, все собирается, получается ELF с загрузчиком. Никаких "особых" настроек, подстроек при создании не делаю, т.к. по моему разумению все, что нужно настроить, должно настроиться при выборе платы в качестве Hardware Platform. Собственно в манах больших манипуляций я и не заметил.
Создаю образ, указываю собранный ELF в качестве bootloader, переношу образ (.bin) на SD карточку, включаю плату и ничего в консоль не вываливается...

При этом, там же в SDK создаю из шаблона "Hello World", собираю образ из штатного FSBL, шедшего с платой и собранным "Hello World", и все работает - в консоли сообщения загрузчика, Hello, т.е. к сборке вроде бы претензий нет.

Когда собираю образ из своего FSBL и этого же "Hello World" - молчок.

Нашел/скачал пару примеров BSP и FSBL под эту же плату, для сравнения, но пока что с ними проблемы из-за версий SDK...качаю старенькие...

Подскажите пожалуйста, куда можно посмотреть, что подкрутить? Может у кого-то были такие же проблемы?
Поиском по форуму подобных тем не попалось, может это только я что-то не так делаю?


Вот еще информация: опробовал XMD консоль, причем сразу на боевой плате.
Проинициализировал систему с помощью ps7_init.tcl, собранным системой под мою плату, загрузил, собранный под нее же "Hello World" ELF, запустил, в консоль вывелось Hello World biggrin.gif - делаю вывод, что процессорная система настроена правильно (во всяком случае для того, чтобы выводить в консоль sm.gif ).

Собрал образ, c FSBL под эту плату и Hello World (mcs), прошил QSPI флешку, все удалось.
Однако при включении в консоли опять молчок (процессор настроен на загрузку с QSPI).

Явно проблема со сборкой FSBL....
dm.pogrebnoy
Вы отладочные сообщения FSBL включили? Ключики дебагеру пропишите: -DFSBL_DEBUG -DFSBL_DEBUG_INFO, тогда заработают.

Ну еще может быть тривиальная проблема, что не тот УАРТ назначен для вывода. Проверьте в настройках BSP.

Еще я всегда комментирую строку в main:

Код
    /*
     * Register the Exception handlers
     */
    //RegisterHandlers();


Иначе вываливается в какой-то эксепшен хендлер.

А вообще по шагам нужно отлаживать. У меня не на всех версиях SDK FSBL запускается сразу. Обычно проблема в FATFS, они в последних версиях (2014.1-2014.2) ее как драйвер включили, он почему-то не работает, пришлось сорцы FATFS копировать из старого проекта (14.6 ЕМНИП), тогда все заработало.

Если мне память не отшибло, почти сразу из коробки заработало только в 14.6. Правда я с SD гружусь.
Gothard
В итоге с собранным из SDK 2013.3 FSBL процессор загрузился, Hello World заработал, так что видимо с этим вопрос к Xilinxу
Импортировал hardware platform, bsp и fsbl в SDK 2014.2, пересобрал, тоже все ок

Правда тесты памяти получается только через JTAG запускать, из образа не стартуют, что из 2013.3, что из 2014.2....


Цитата(dm.pogrebnoy @ Aug 8 2014, 13:31) *
Вы отладочные сообщения FSBL включили? Ключики дебагеру пропишите: -DFSBL_DEBUG -DFSBL_DEBUG_INFO, тогда заработают.


Спасибо за советы, буду дальше двигаться. Ключики и правда не включал, включу - посмотрю что происходит. Возможно и правда дело с FATFS.
DenisKuzovin
Есть такая беда, что когда создаете проект для FSBL вместе с BSP под него, то он не выдает окошка для настройки BSP. А если вы потом и перенастроите его, то не факт, что SDK его нормально пересоберет (ошибка в SDK, не всегда применяются изменения).

Можете создать standalone bsp, настроить его (в Вашем случае проверить куда напрвлен стандартный ввод/вывод), а потом при создании проекта FSBL указать этот BSP в качестве используемого, вместо того, чтобы генерировать новый.

Этот же BSP можете использовать для остальных проектов (hello world , perif test и тд). Если будете генерировать для каждого проекта свой BSP то всегда проверяйте его настройки.
SimpleSoft
Добрый день.

Если есть возможность подключиться JTAG'ом (MT-Link, J-Link) и запустить переконвертированный tcl скрипт через GDB - то должно ускорить процесс поиска проблем.
dm.pogrebnoy
Чем это лучше штатного средства отладки через usb-jtag программатор?
SimpleSoft
Цитата(dm.pogrebnoy @ Aug 10 2014, 13:36) *
Чем это лучше штатного средства отладки через usb-jtag программатор?


Вы наверное имеете ввиду Digilent JTAG. Если есть возможность отлаживаться через него - тогда пользуйтесь им.
Мне лично проще взять скоростной JTAG и работать через него.

А где болтается FSBL после запуска?
dm.pogrebnoy
Цитата(SimpleSoft @ Aug 11 2014, 17:30) *
Вы наверное имеете ввиду Digilent JTAG. Если есть возможность отлаживаться через него - тогда пользуйтесь им.
Мне лично проще взять скоростной JTAG и работать через него.

А где болтается FSBL после запуска?


Нет, я имею ввиду вот это - http://www.xilinx.com/products/boards-and-...HW-USB-II-G.htm
Это стандартный кабель для заливки-отладки. Работает до 12 Мгц.

FSBL в OCM работает.
Golikov A.
че такое ОСМ?
dm.pogrebnoy
Цитата(Golikov A. @ Aug 12 2014, 00:14) *
че такое ОСМ?

On chip memory
Golikov A.
спасибо, всегда теряюсь в аббревиатурахsm.gif...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.