Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation)

Einführung

Der Autor stellt Debian GNU / Linux für Ultra96 / Ultra96-V2 (ZynqMP) zur Verfügung 1. Darüber hinaus ist XRT (Xilinx Runtime) eine Umgebung zum Ausführen von Programmen, die in der von Xilinx bereitgestellten Entwicklungsumgebung (Vitis) auf der Plattform entwickelt wurden 2.

Ursprünglich funktioniert [XRT] für MPSoC Edge Device nur in der von Xilinx bereitgestellten Linux-Umgebung (Petalinux), aber das Verfahren zum Ausführen von XRT unter Debian GNU / Linux für Ultra96 / Ultra96-V2 ist in mehreren Teilen enthalten. Ich werde es separat erklären.

Dieser Artikel beschreibt die Schritte zur Installation von XRT unter Debian GNU / Linux für Ultra96 / Ultra96-V2.

Hinweis

__ Das in diesem Artikel vorgestellte Debian-Paket ist nicht offiziell von Xilinx. __ __

Entsprechende Plattform

Zu diesem Zeitpunkt haben wir bestätigt, dass es nur auf den folgenden Plattformen installiert werden kann.

Der Linux-Kernel befindet sich unter folgender URL:

Die Distribution finden Sie unter folgender URL:

Bitte beziehen Sie sich auf jede URL, die auf Ultra96 installiert werden soll. Beachten Sie auch die folgenden Artikel.

Holen Sie sich das Debian-Paket

["Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build)" @Qiita] Erstellen Sie das XRT-Debian-Paket mit der in () erläuterten Methode oder Debian unter der folgenden URL Laden Sie das Paket herunter.

Vor der Installation

Bitte installieren Sie die folgenden Pakete vor der Installation.

Das oben eingeführte Paket deklariert explizit eine Abhängigkeit beim Erstellen von xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb.

Installieren Sie zusätzlich zu den oben genannten die folgenden Pakete.

Wenn dieses Paket nicht installiert ist, wird versucht, pyopencl mit pip während der Installation von xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb zu installieren. Bei der Installation von pyopencl mit pip musste ein in C geschriebenes Programm kompiliert werden, und es traten verschiedene Probleme auf, und die Installation schlug schließlich fehl. Es ist besser, pyopencl von Anfang an für Debian / Ubuntu vorinstalliert zu haben, um Probleme zu vermeiden.

Installation des XRT-Pakets (Xilinx Runtime)

Installieren Sie xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb mit dem Befehl dpkg. Beachten Sie, dass Sie bei der Installation dieses Pakets den dkms-Mechanismus verwenden, um das zocl-Kernelmodul mitten im Prozess zu erstellen. Daher dauert die Installation einige Zeit.

fpga@ubuntu-fpga:~$ cd work/ZynqMP-FPGA-XRT
fpga@ubuntu-fpga:~/work/ZynqMP-FPGA-XRT$ sudo dpkg -i xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb
Selecting previously unselected package xrt.
(Reading database ... 114691 files and directories currently installed.)
Preparing to unpack xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb ...
Unpacking xrt (2.6.0) ...
Setting up xrt (2.6.0) ...
Unloading old XRT Linux kernel modules
rmmod: ERROR: Module zocl is not currently loaded
Invoking DKMS common.postinst for xrt
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
Loading new xrt-2.6.0 DKMS files...
Building for 4.19.0-xlnx-v2019.2-zynqmp-fpga
Building initial module for 4.19.0-xlnx-v2019.2-zynqmp-fpga
Done.
zocl:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.19.0-xlnx-v2019.2-zynqmp-fpga/updates/dkms/
depmod...
DKMS: install completed.
Finished DKMS common.postinst
Loading new XRT Linux kernel modules
Skipping pyopencl installation...

Unterbrechen Sie das Kernelmodul beim Erstellen nicht mit Strg-C usw., sondern warten Sie, bis es fertig ist.

Gerätebaumvorbereitung

Das im vorherigen Abschnitt installierte Debian-Paket enthält das Linux-Kernelmodul zocl für das XRT MPSoC Edge-Gerät. Zocl wird jedoch nicht nur durch die Installation unter Linux wirksam. Ein Gerätebaum ist erforderlich, um zocl zu aktivieren.

ZynqMP-FPGA-Linux unterstützt Device Tree Overlay. Device Tree Overlay fügt aktiv FPGA-Programme und Kernelmodule unter Linux hinzu und entfernt sie. zocl wird auch über die Gerätebaumüberlagerung aktiviert.

Das folgende Beispiel zeigt die Gerätebaumüberlagerung zum Aktivieren von zocl.

zocl.dts


/dts-v1/; /plugin/;
/ {
        fragment@0 {
                target-path = "/fpga-full";
                __overlay__ {
                        firmware-name = "streaming_lap_filter5.bin";
                };
        };
        fragment@1 {
                target-path = "/amba_pl@0";
                __overlay__ {
                        #address-cells = <2>;
                        #size-cells = <2>;
                        zyxclmm_drm {
                                compatible = "xlnx,zocl";
                                status = "okay";
                                reg = <0x0 0xA0000000 0x0 0x10000>;
                        };
                       fclk0 {
                                compatible    = "ikwzm,fclkcfg-0.10.a";
                                clocks        = <&zynqmp_clk 0x47>;
                                insert-rate   = "100000000";
                                insert-enable = <1>;
                                remove-rate   = "1000000";
                                remove-enable = <0>;
                        };
                };
        };
};

In diesem Beispiel zeigt der Knoten zyxclmm_drm den Gerätebaum für zocl.

Darüber hinaus gibt es zwei weitere wichtige Punkte zu diesem Gerätebaum. Das erste ist, dass fclk0 PL Clock 0 auf 100 MHz setzt.

Die zweite besteht darin, dass die Eigenschaft firmware-name dem fpga-full-Knoten hinzugefügt wird, um die Bitstream-Datei anzugeben. Dadurch wird die angegebene Bitstream-Datei in das FPGA programmiert, wenn der Gerätebaum überlagert wird [3].

Die in der xclbin-Datei enthaltenen Bitstreams, die von der Xilinx-Softwareentwicklungsumgebung Vitis erstellt wurden, dienen der teilweisen Neukonfiguration.

Partielle Rekonfiguration ist eine Technologie, die nur den angegebenen Bereich dynamisch neu schreibt, während er ursprünglich programmiert wurde und im FPGA ausgeführt wird. Das heißt, die zugrunde liegende Bitstream-Datei muss vor der teilweisen Neukonfiguration in das FPGA programmiert werden. Während der teilweisen Neukonfiguration wird im Gegensatz zu normalen FPGA-Programmen nicht das gesamte FPGA zurückgesetzt.

Wenn Sie die xclbin-Datei in das FPGA programmieren, programmiert zocl im Teilrekonfigurationsmodus. Daher muss die zugrunde liegende Bitstream-Datei in das FPGA programmiert werden, bevor der Zocl-Treiber aktiviert werden kann.

Hinzugefügt am 17. Juni 2020

Im ursprünglichen Artikel "# size-cells = <1>;" "reg = <0x0 0xA0000000 0x10000>;", aber mit Linux Kernel 5.4 tritt ein Fehler auf. Seit Linux Kernel 5.4 scheint es nicht mehr möglich zu sein, den Wert von "# size-cells" auf einen anderen Wert als den Basis-Gerätebaum festzulegen.

Referenz

[3]: https://qiita.com/ikwzm/items/2ff7d5429da8ace7c0bd "" FPGA-Unterstützungssituation in Linux Kernel 4.10 "@Qiita" [ZynqMP-FPGA-Linux]: https://github.com/ikwzm/ZynqMP-FPGA-Linux "https://github.com/ikwzm/ZynqMP-FPGA-Linux" [XRT]: https://github.com/Xilinx/XRT "https://github.com/Xilinx/XRT" [Übersicht]: https://qiita.com/ikwzm/items/0d3a8adfe725cd17f932 "Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Übersicht)" @Qiita " [Build]: https://qiita.com/ikwzm/items/d8013ea91125a3fc46aa "Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build)" @Qiita " [Installation]: https://qiita.com/ikwzm/items/6612eacc4a0d324a0a68 "" Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Installation) "@Qiita" [Übung]: https://qiita.com/ikwzm/items/58cfea3f9d0f42840511 "" Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Übung) "@Qiita" [Vitis Edition]: https://qiita.com/ikwzm/items/e70d8d0e44fe3784a708 "" Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Vitis Edition) "@Qiita" ["Bereitstellen eines Boot-Images für Debian GNU / Linux (Version v2019.2) für UltraZed / Ultra96 / Ultra96-V2" @Qiita]: https://qiita.com/ikwzm/items/92221c5ea6abbd5e991c "" UltraZed / Ultra96 / Ultra96- Debian GNU / Linux für V2 (Version v2019.2) Bereitstellung des Boot-Images "@Qiita" ["FPGA-Unterstützungssituation in Linux Kernel 4.10" @Qiita]: https://qiita.com/ikwzm/items/2ff7d5429da8ace7c0bd "" FPGA-Unterstützungssituation in Linux Kernel 4.10 "@Qiita" ["Einführung der teilweisen Rekonfiguration von FPGA (Vivado Design Flow)" @Qiita]: https://qiita.com/ikwzm/items/1ffb695bc1b6c8679710 "Einführung der teilweisen Rekonfiguration von FPGA (Vivado Design Flow)" @Qiita "

Recommended Posts

Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation)
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Vitis Edition) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht).
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übung)
Führen Sie den Lima-Treiber unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (LibMali) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Videotreiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Gnome Desktop) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Mali-Treiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (fbdev Edition) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht)
Führen Sie bootgen unter Debian GNU / Linux, Ubuntu aus
Debian GNU / Linux (Version v2019.2) Boot-Image für UltraZed / Ultra96 / Ultra96-V2
Führen Sie Debian (Linux) & LXQt auf Athlon 200GE (AMD) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation) [Unfinished]
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation)
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Vitis Edition) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht).
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übung)
Führen Sie den Lima-Treiber unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (LibMali) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Videotreiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Gnome Desktop) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Mali-Treiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (fbdev Edition) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht)
Führen Sie bootgen unter Debian GNU / Linux, Ubuntu aus
Debian GNU / Linux (Version v2019.2) Boot-Image für UltraZed / Ultra96 / Ultra96-V2
Führen Sie Debian (Linux) & LXQt auf Athlon 200GE (AMD) aus.
Linux unter Windows -1-: Einführung in Debian
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation)
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Vitis Edition) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht).
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übung)
Führen Sie den Lima-Treiber unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (LibMali) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Videotreiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Gnome Desktop) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Mali-Treiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (fbdev Edition) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht)
Führen Sie bootgen unter Debian GNU / Linux, Ubuntu aus
Debian GNU / Linux (Version v2019.2) Boot-Image für UltraZed / Ultra96 / Ultra96-V2
Führen Sie Debian (Linux) & LXQt auf Athlon 200GE (AMD) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation) [Unfinished]
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation)
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Vitis Edition) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht).
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übung)
Führen Sie den Lima-Treiber unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (LibMali) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Videotreiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Gnome Desktop) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Mali-Treiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (fbdev Edition) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht)
Führen Sie bootgen unter Debian GNU / Linux, Ubuntu aus
Debian GNU / Linux (Version v2019.2) Boot-Image für UltraZed / Ultra96 / Ultra96-V2
Führen Sie Debian (Linux) & LXQt auf Athlon 200GE (AMD) aus.