mikrocontroller.net

Forum: FPGA, VHDL & Co. Petalinux: Zybo Z7-20


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,
ich hab jetzt mal eine ganz doofe Frage!

Ich hab ein Hardware-Projekt mit Vivado 2017.4 erstellt. Wenn ich das 
auf mein Zybo Z7-20 packe und dann Source-Code laufen lasse, läuft 
alles!
Sobald ich aber das Hardware-Projekt als Basis für PetaLinux 2017.4 
nutzen will, bootet nichts mehr, wobei die Hardware funktioniert (die 
nötigen LEDs blinken), wobei die Status-LED nicht grün wird. Ich boote 
übrigens per SD-Karte.
Wenn ich von Digilent das vorbereitete Projekt von GitHub downloade 
läuft alles.

Hat sowas schon mal jemand gemacht und kann mir hier helfen? Hat hier 
jemand eine Anleitung, denn es gibt irgendwie viele Tutorials aber keine 
für Zybo Z7-20, bzw was ich hier modifizieren muss!

Über Hilfe wäre ich sehr dankbar! Und sag gleichmal vielen Dank!

VG derNeue

Autor: Vancouver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
derNeue schrieb:
> Ich hab ein Hardware-Projekt mit Vivado 2017.4 erstellt. Wenn ich das
> auf mein Zybo Z7-20 packe und dann Source-Code laufen lasse, läuft

Sourcecode läuft eigentlich nicht, aber ich weiß was Du meinst. Sprichst 
Du von VHDL/Verilog-Code oder Baremetal-C-Code für den ARM? Bzw. Welches 
Petalinux hast Du bisher verwendet?

>Sobald ich aber das Hardware-Projekt als Basis für PetaLinux 2017.4
>nutzen will, bootet nichts mehr, wobei die Hardware funktioniert (die
>nötigen LEDs blinken), wobei die Status-LED nicht grün wird. Ich boote
>übrigens per SD-Karte.

Das liegt sehr wahrscheinlich an einer falschen Konfiguration des 
Prozessors. Stimmen die Settings des PS genau überein mit denen aus dem 
Digilent-Projekt? Wennz.B. die Parameter des DDR-Speichers falsch 
konfiguriert sind, ist nix mit booten. Der Device-Tree muss auch 
stimmen, sonst gibt es Probleme beim starten. In den korrekten 
Device-Tree kann man Stunden von Zeit versenken.


Hast Du die UART-Ausgabe mal angeschaut? Bricht der Bootvorgang irgendwo 
ab? Gibt es keine Kernel-Panic oä?

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnelle Antwort!
Also das PetaLinux, das damals über das Digilentprojekt lief war 2017.4. 
Und das wollte ich jetzt wieder benutzten. Eben nur mein Hardwareprojekt 
drunter legen.

Ich hab aus dem Digilentprojekt die petalinux-config 1:1 übernommen. 
Hier war nur eine Änderung beim u-boot-config target nötig. Und seitdem 
bekomme ich Fehlermeldungen, dass das petalinux-build nicht mehr 
funktioniert.

Weitere Möglichkeiten zur Änderung (laut Xilinx UG1144) können egl auch 
nicht gemacht werden.

Also eine UART-Ausgabe gibt es keine. Also es erscheint nichts. Was 
meiner Meinung nach daran liegt, dass irgendwo ein File nicht für Zybo 
Z7-20 genutzt wird.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
derNeue schrieb:
> Eben nur mein Hardwareprojekt
> drunter legen.
Die FPGA-Linuxe sind aber schon recht stark auf die jeweilige Hardware 
ausgelegt. Da wirst Du genau gucken mussen ob das passt, und wo es 
klemmt...

Duke

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich in das bestehende Projekt von Digilent meine Änderung reinmache 
und dann einfach das PetaLinux draufsetze, mit den config einstellungen 
von Digilent, ist die Chance hoch, dass es läuft oder nicht?

Oder wie wäre hier das beste Vorgehen??

Der einfachste Weg für mich, wäre einfach:
petalinux-config und dann petalinux-build

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn ich ggf. Änderungen machen müsste, komm ich da über die 
petalinux-config ran, oder wie finde ich die Orte für die Änderungen?

Autor: Vancouver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
derNeue schrieb:
> Wenn ich in das bestehende Projekt von Digilent meine Änderung reinmache
> und dann einfach das PetaLinux draufsetze, mit den config einstellungen
> von Digilent, ist die Chance hoch, dass es läuft oder nicht?

Sollte so sein, aber in der Realität sieht es anders aus. Ich habe am 
Anfang auch viel mit Digilent-Demoprojekten experimentiert, aber das hat 
zu nichts geführt. Am besten kallpt es, jeweils ein eigenes 
Petalinux-Projekt "from the scratch" zu bauen.

Versuch doch mal, ein Minimaldesign zu machen, in dem nur ein PS 
drinsteckt und sonst nichts, und damit ein Linux hochzuziehen.

>Also eine UART-Ausgabe gibt es keine. Also es erscheint nichts. Was
>meiner Meinung nach daran liegt, dass irgendwo ein File nicht für Zybo
>Z7-20 genutzt wird.

Das ist sehr merkwürzig. Schon der FSBL sollte über den UART 
irgendwelche Ausgaben machen, soweit ich weiß. Und da der FPGA ja 
konfiguriert wird, scheint irgendetwas zu ticken. Hast Du den richtigen 
UART genommen? Es gibt ja zwei logische USB-Devices, eines ist für UART 
und das andere für JTAG. (zumindest beim Zybo ist es so.)

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von klein nach groß ist eine gute Idee, das probier ich gleich mal aus.
Ist Euch ein gutes Tutorial für Zybo Z7-20 oder auch Zybo bekannt, das 
das gut und "idiotensicher" erklärt??

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vancouver schrieb:
> Hast Du den richtigen
> UART genommen? Es gibt ja zwei logische USB-Devices, eines ist für UART
> und das andere für JTAG.

Also ich hab bis jetzt nichts geändert und sonst hat es auch immer 
funktioniert!

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab gestern Abend noch ein bisschen nachgeforscht und über die 
Verwendung von QEMU festgestellt, dass das root device nicht lädt von 
der zweiten Partition der SD Karte.

Hat jemand eine Ahnung wo ich hier einen Parameter ändern muss?

Autor: (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da kommt eine Menge in Frage.

Als erstes kann man das Rootdevice in den Kernel hineinkompilieren.

Dann koennte es noch im Environment des Bootladers stehen, der
das dann als Kernelparameter uebergibt.
Das ist heute eigentlich die gaengige Methode.

Bei einem FPGA-Linux koennte ich mir vorstellen, dass das
Environment mit in den Configflash eingebettet ist.

Autor: derNeue (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der Debugger sucht es bei mir eigentlich schon an der richtigen 
Stelle (zweite Partition der SD Karte), nur irgendwie findet er nichts. 
Geh ich in das Menü rein. Liegt dort wunderschön das rootfs.cpio und das 
"entpackte" Betriebssystem von rootfs.ext4....

aber dann steht dort -> Waiting for root device /dev/mmcplk0p2 ...

Autor: derNeue (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir jetzt gerade nochmal mal die kernel-config angeschaut und 
habs zusätzlich mit denen vom Musterprojekt verglichen. Und da sieht 
alles sehr sehr gleich aus. mir ist jetzt auch nichts aufgefallen....

Ich lad jetzt einfach mal von dem Debuggen noch den Ablauf mit rauf. 
Vielleicht sieht ja jemand schneller wie ich, wo ich hingreifen muss.

Für mich ist das gerade sehr rätselhaft....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.