Pynq in Vivado

Gast #5668674
Lesenswert?

Hallo,

ich möchte auf einem Pynq Z1 Board den FSBL generieren (Bzw erstmal ein 
einfaches Hello World Programm).
Im Xilinx SDK gibt es auch Beispielprojekte dafür.
Allerdings müsste ich jetzt erstmal in Vivado ein Hardwareprojekt 
erstellen und die ganze Peripherie richtig einstellen.

Was muss ich in Vivado mindestens konfigurieren, um nur über UART Hello 
World ausgeben zu können?

So wie ich das verstanden habe (bitte korrigiert mich entsprechend)
wird der Bootloadercode noch komplett im internen RAM ausgeführt, den 
externen DDR Ram auf dem PYNQ Board könnte ich also erstmal ignorieren

Erfordert das UART eine spezielle Konfiguration/zusätzliche GPIO Module 
die an das Processing System angebunden werden müssen?
USB, Ethernet etc lasse ich alles erstmal weg.

Ich würde mich sehr freuen, wenn ich einfach nur ein Lebenszeichen 
bekäme, im Moment tappe ich noch sehr im Dunkeln und es kommt einfach 
nichts aus dem UART raus.

Zum PNYQ Board gibt es auch eine komplette Toolchain bzw. ein 
Beispielimage.
Lässt sich aus dieser Toolchain ein passendes Vivado Projekt File 
generieren?



Bin für jeden Tipp dankbar
#5668942
Lesenswert?

Wenn du auf keinen Beispielprojekt von Digilent aufsetzen möchtest, 
machst du einfach ein leeres Projekt mit dem 7020 als SoC.
Dann gehst du auf Create Block Design => Add IP => Zymq Processing 
System

Dann gehtst du auf die Optionen von dem Block und stellst unter den 
Optionen des IPs zumindest den UART auf die richtigen PINs (unter 
Peripheral IO Pins) auf 14 und 15. Dann musst du noch den Speicher und 
Clock unter DDR und Clock config einstellen. Dann gehst du auf File 
Export Hardware und danach auf File => Lauch SDK und erstellst dann eine 
neues Projekt mit Hello World als Vorlage. Dann sollte da auch 
automatisch der FSBL mit rein gebaut werden. Und dann kannst du es 
direkt über JTAG anstarten oder wenn du es fest haben willst in den QSPI 
programmieren oder ein Boot.bin (Create Bootimage) für die SD-Karte 
erstellen
Gast #5669730
Lesenswert?

Okay, vielen Dank schonmal.
Jetzt brauche ich nur noch ein Top Modul. In den anderen 
Beispielprojekten heißt es dort base_zynq_wrapper und ist schon 
vorhanden. Kann ich das automatisch generieren?
Gast #5670070
Lesenswert?

Über JTAG funktioniert es, aber über die SD Karte nicht.
Habe als Basis das PYNQ Image genommen und die BOOT.bin ersetzt (aus dem 
SDK heraus eine neue Boot.bin erstellt).
In dieser Boot.bin ist nur das Hello World Programm als [bootloader] 
getaggt. In Vivado ist das SD Interface aktiviert. Wie könnte ich 
sinnvoll vorgehen, um die Ursache zu finden?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren