Перейти к содержанию
    

ZYNQ ultrascale - как сделать загрузочную SD карту c загрузкой PL?

не смог найти внятного документа/примера (чтоб не разбираться с форматом загрузочного образа и с SDK, так сразу)

и хотелось бы, если возможно, не рассмотрение со стороны SDK, а наоборот со стороны разработки битстрима ПЛИС (вообще без SDK) - можно ли где-то взять какие-то готовые dtb, bin, elf и т.п. требуемый минимум, к ним приложить свой *.bit файл и какой-то утилитой или даже hex-editor-ом чего-то поправить и получить грузящийся образ?

предпочтительнее для SD CARD - идеально к тому же пребилдному петалинуксу свою прошивку приклеить. так можно вообще?

на крайний случай - сборка для QSPI тоже пойдет.

процессор может пока либо forever loop, либо в какой-нибудь энергосберегающий режим, либо линукс исполнять - без разницы, главное чтобы не мешал

я попробовал на халяву к петалинуксу подложить - не пошло. и по restoring flash собрал mcs со своим bit - тоже не пошло. 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Zynq загрузкой FPGA составляющей кристалла (PL) занимается FSBL. Вот отсюда вам и нужно двигаться дальше в направлении утилиты bootgen.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, makc said:

У Zynq загрузкой FPGA составляющей кристалла (PL) занимается FSBL

Это один из вариантов. Еще два способа через U-Boot (явно и как часть FIT), и непосредственно при загрузке ядра. Это кому как удобнее. Самый быстрый вариант - FIT c рамдиском.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот генерация образа из "restoring flash" 

copy /Y ..\zcu102_ipi\zcu102_ipi.sdk\system_wrapper_hw_platform_0\system_wrapper.bit .
copy /Y ..\zcu102_ipi\zcu102_ipi.sdk\blinkbist\Debug\blinkbist.elf .
copy /Y ..\zcu102_ipi\zcu102_ipi.sdk\zynq_mp_fsbl\Debug\zynq_mp_fsbl.elf .
call C:\Xilinx\SDK\2019.1\bin\bootgen -w -arch zynqmp -image blinkbist.bif -o blinkbist.mcs

я переименовал свой имидж в system_wrapper.bit и подложил - не заработало, что еще нужно сделать? может, где-то еще размер этого bit файла нужно указать - я не нашел...

но конечно, хотелось бы с SD картой - уж очень долго QSPI флашка прошивается...

--------------

а с SD картой вот список файлов

total 71628
  152 bl31.elf
 7980 BOOT.BIN
    4 boot.scr
55476 image.ub
  132 pmufw.elf
 6540 system.bit
   56 system.dtb
 1128 u-boot.elf
  160 zynqmp_fsbl.elf
 

что бы я с system.bit ни делал (убирал, подменял своим) - после загрузки JTAG показывает что ПЛИС загружена (наверно и done led загорается - на плату не смотрел) - но никакой активности нет

то есть что делает оригинальный  system.bit не знаю, снаружи никак не проявляется, моя прошивка мигает (при загрузке JTAG-ом) юзерскими диодами - не мигает

===========================

я извиняюсь за многословность - все-равно пока ставится (качался с ксайлинса, но так и не закачался) SDK мне делать нечего, но хотелось бы простой пример и/или осмысленное описание, а не бессмысленные (с моей точки зрения) апноты ксайлинса, где тупо "паасматрите на этот слааайд :)". тем более в тех апнотах ipi trd и т.п. внимание посвящено софту на 99%, что сейчас мне не нужно и вникать не хочется.

-----------------------------------------------

погогите! :)

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, makc said:

Покажите содержимое файла blinkbist.bif

спасибо!

переправил пути и заработало.

загорается лампочка PS_ERROR, но, помоему, так и надо.

-----------------------------

хорошо бы (но уже не так срочно) и с SD карточки грузиться...

-----------------------------

подскажите, если не сложно - а что там с SDK? я скачал еще раз инсталятор (2020.2) а там никакого SDK нету (linux only). то есть в новых версиях только Vitis или как-то нужно порыться на сайте и найти SDK?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, yes сказал:

хорошо бы (но уже не так срочно) и с SD карточки грузиться...

Да вроде разницы никакой нет, откуда грузиться: в одном случае прошиваете mcs, а в другом случае делаете BOOT.BIN с помощью одного и того же bif и bootgen.

2 часа назад, yes сказал:

подскажите, если не сложно - а что там с SDK? я скачал еще раз инсталятор (2020.2) а там никакого SDK нету (linux only). то есть в новых версиях только Vitis или как-то нужно порыться на сайте и найти SDK?

Теперь только Vitis, но глобальной разницы я не вижу. Просто они всё завернули в одну обертку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я с карточкой иначе разобрался -

скачал образ карточки с линуксом

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1065451521/2020.2+Release

заменил в нем скрипт загрузки

fatload mmc 0 0x4000000 leds.bit
fpga loadb 0 0x4000000 6687463

leds.bit - прошивка

6687463 - ее размер

затем "подписал" загрузочный скрипт программой mkimage (в пакете u-boot-tools для SUSE, наверно и для остальных линуксов не проблема найти)

mkimage -c none -A arm -T script -d boot.cmd boot.scr

--------------------------------

boot.scr на карточку и запустилось

======================================

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...