HomeBlogMagic

Zynq7 FPGA ohne SDK

Ich habe mich endlich mit dem Thema FPGA Entwicklung auseinander gesetzt und angefangen mit einem Zynq7 zu experimentieren.

Wie üblich, wenn man mit einem neuen Thema anfängt, hat man so seine Startschwierigkeiten. In diesem Fall war es die Idee, aus der Sicht meine üblichen Mikrocontroller, man programmiert den Chip und kann im Anschluss direkt das Ergebnis sehen. Nicht so bei den Zynq`s

Ich hatte versucht, wie bei jedem anderen Projekt auch, erst mal eine LED zum blinken zu bringen. Nach ein paar Tagen einarbeite in Vivado (2019.2) und ein wenig Nachhilfe in VHDL war mein erstes einfaches Projekt eigentlich so weit dass es funktionieren hätte sollen. Hier mal meine Beispiel-Applikation

Hinter dem ClockDivider verbirgt sich nur ein Counter der den c_out, nach einer bestimmten Anzahl von Takten, toggelt.
Alle Notwendigkeiten, Mappen der Pins etc. wurden erledigt.

Mit Vivado habe ich das Programm direkt auf den Zynq programmier und auf das Ergebnis gewartet, aber: nichts.
Weder das FCLK_CLK2 noch der ClockDivider kamen durch.

Lösung

Nach Stunden der Suche bin ich auf den Grund meines Problems gestoßen. Der Zynq7, und in diesem Fall processing_system7_0 müssen mit einem Programm aus dem SDK initialisiert werden, so dass der interne ARM-Prozesser läuft und die Clocks bedienen kann.

Da ich das Anfangs vermeiden wollte, zu der Unbekannten FPGA, auch noch ein OS oder C-Programm, zu starten, konnte meine Schaltung nie funktionieren.

Vivado bietet allerdings die Option den ARM-Prozessor trotzdem zu starten mit der mitgelieferten Consolen-Anwendung xsct. Diese ist im Startmenü in der Regel mitinstalliert.

In der Konsole führt man folgendes aus:

cd E:/TestProject/TestProject.srcs/sources_1/bd/design_1/ip/design_1_processing_system7_0_0
source ps7_init.tcl
connect
targets
target 1
ps7_init
ps7_post_config

Der Pfad im ersten cd Kommando, ist individuell in jedem Projekt. Dazu könnt ihr nach der ps7_init.tcl Datei in eurerem Projekt suchen.

Nach dem ausführen kann man den FPGA neu programmieren und alles läuft!

Permalink: https://adirmeier.de/Blog/ID_337
Tags: Blog, FPGA, Xilinx, Zynq7von am 2020-09-02