Dieser Artikel wurde veröffentlicht, als ich versuchte, XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 auszuführen, und enthält alten Inhalt. Bitte lesen Sie den folgenden Artikel, der am 26. März 2020 veröffentlicht wurde.
Im nächsten Artikel habe ich erklärt, wie ein Debian-Paket zum Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 erstellt wird.
Dieser Artikel ist eine Fortsetzung des obigen Artikels und beschreibt, wie er tatsächlich unter Debian GNU / Linux für Ultra96 / Ultra96-V2 installiert wird.
__ Im Moment (23. März 2020) kann es installiert werden, aber es funktioniert noch nicht. Dieser Artikel ist nur eine Gerichtsverhandlung. __ __
Im Moment haben wir bestätigt, dass es installiert werden kann (Hinweis: Es scheint Mist zu sein, aber im Moment ist es nur installiert), nur die folgenden Plattformen.
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.
[Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) [Unfinished]] @Qiita](https://qiita.com/ikwzm/items/2ad9f0a436620decf9da) Erstellen Sie das XRT-Debian-Paket mit oder laden Sie das Debian-Paket unter der folgenden URL herunter:
https://github.com/ikwzm/ZynqMP-FPGA-XRT
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.
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 die Kernelmodule xocl und xlmgmt während des Vorgangs 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 ... 114575 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 xocl is not currently loaded
rmmod: ERROR: Module xclmgmt 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
Unterbrechen Sie das Kernelmodul beim Erstellen nicht mit Strg-C usw., sondern warten Sie, bis es fertig ist.
Done.
xocl:
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/
xclmgmt.ko:
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
Installing MSD / MPD daemons
Skipping pyopencl installation...
Installieren Sie zocl-dkms_2.6.0_arm64.deb mit dem Befehl dpkg.
fpga@ubuntu-fpga:~/work/ZynqMP-FPGA-XRT$ sudo dpkg -i zocl-dkms_2.6.0_arm64.deb
Selecting previously unselected package zocl-dkms.
(Reading database ... 114905 files and directories currently installed.)
Preparing to unpack zocl-dkms_2.6.0_arm64.deb ...
Unpacking zocl-dkms (2.6.0) ...
Setting up zocl-dkms (2.6.0) ...
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 zocl-2.6.0 DKMS files...
Building for 4.19.0-xlnx-v2019.2-zynqmp-fpga
Building for architecture arm64
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.
zocl ist ein Kernelmodul, aber Sie können es nicht einfach unter insmod mit insmod installieren, sondern benötigen einen Gerätebaum. ZynqMP-FPGA-Linux unterstützt Device Tree Overlay. Aktivieren Sie also zocl, indem Sie einen Gerätebaum wie folgt überlagern:
zocl.dts
/dts-v1/; /plugin/;
/ {
fragment@1 {
target-path = "/amba_pl@0";
__overlay__ {
#address-cells = <2>;
#size-cells = <1>;
zyxclmm_drm {
compatible = "xlnx,zocl";
status = "okay";
reg = <0x0 0xA0000000 0x10000>;
};
};
};
};
fpga@ubuntu-fpga:~/work/streaming_lap_filter5$ sudo ./dtbocfg.rb -i zocl --dts zocl.dts
<stdin>:8.16-12.6: Warning (unit_address_vs_reg): /fragment@1/__overlay__/zyxclmm_drm: node has a reg or ranges property, but no unit name
fpga@ubuntu-fpga:~/work/streaming_lap_filter5$ dmesg | tail -4
[ 8401.997049] [drm] Probing for xlnx,zocl
[ 8401.997156] [drm] FPGA programming device pcap founded.
[ 8401.997161] [drm] PR Isolation addr 0x0
[ 8401.997750] [drm] Initialized zocl 2018.2.1 20180313 for a0000000.zyxclmm_drm on minor 1
Vorerst konnte ich XRT (Xilinx Runtime) erstellen und installieren. XRT funktioniert jedoch noch nicht. Als @ marsee101 im FPGA-Raum eine mit Vitis erstellte Probe bereitstellte und ausführte, war das Ergebnis wie folgt.
fpga@ubuntu-fpga:~/work/streaming_lap_filter5$ source /opt/xilinx/xrt/setup.sh
XILINX_XRT : /opt/xilinx/xrt
PATH : /opt/xilinx/xrt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
LD_LIBRARY_PATH : /opt/xilinx/xrt/lib:
PYTHONPATH : /opt/xilinx/xrt/python:
fpga@ubuntu-fpga:~/work/streaming_lap_filter5$ ./streaming_lap_filter5.exe streaming_lap_filter5.xclbin
Using FPGA binary file specfied through the command line: streaming_lap_filter5.xclbin
XRT build version: 2.6.0
Build hash: b69d97cd7827bda97b194006be3b46809fc1b843
Build date: 2020-03-23 06:41:22
Git branch: 2019.2_Ultra96
PID: 16657
UID: 1000
[Mon Mar 23 14:21:54 2020]
HOST: ubuntu-fpga
EXE: /home/fpga/work/streaming_lap_filter5/streaming_lap_filter5.exe
[XRT] ERROR: No devices found
../src/krnl_streaming_lap_host3.cpp:71 Error calling err = cl::Platform::get(&platforms), error code is: -1
Anscheinend heißt es, dass das OpenCL-Gerät nicht gefunden werden kann. Möglicherweise müssen Sie noch einige Einstellungen vornehmen.
Ich werde auch in Zukunft weiter debuggen.
["Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Übersicht)" @Qiita]: https://qiita.com/ikwzm/items/0d3a8adfe725cd17f932 "Für Ultra96 / Ultra96-V2 Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux (Übersicht) ”@Qiita” ["Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build)" @Qiita]: https://qiita.com/ikwzm/items/d8013ea91125a3fc46aa "Für Ultra96 / Ultra96-V2 Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux (Build) "@Qiita" aus. ["Ausführen von XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Installation)" @Qiita]: https://qiita.com/ikwzm/items/6612eacc4a0d324a0a68 "Für Ultra96 / Ultra96-V2 Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux (Installation) "@Qiita" aus.