Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (édition Vitis)

introduction

L'auteur fournit Debian GNU / Linux pour Ultra96 / Ultra96-V2 (ZynqMP) 1. De plus, XRT (Xilinx Runtime) est un environnement pour exécuter des programmes développés dans l'environnement de développement (Vitis) fourni par Xilinx sur la plateforme 2.

À l'origine, XRT pour périphérique MPSoC Edge ne fonctionne que dans l'environnement Linux (Petalinux) fourni par Xilinx, mais dans cet article, il y a quelques étapes pour exécuter XRT sur Debian GNU / Linux pour Ultra96 / Ultra96-V2. Je vais l'expliquer séparément dans la partie.

Cet article décrit comment cibler Ultra96 / Ultra96-V2 avec XRT installé et exécuter et déboguer des programmes à partir de Vitis IDE sur le PC hôte.

Mise en garde

__ Le paquet Debian présenté dans cet article n'est pas officiel par Xilinx. __

Préparation de la cible

Utilisez Ultra96 / Ultra96-V2 avec XRT installé comme cible. Pour plus de détails sur l'installation de XRT sur Ultra96 / Ultra96-V2, reportez-vous à [Installation].

Il ne suffit pas d'avoir XRT installé sur la cible pour exécuter et déboguer des programmes sur la cible à partir de Vitis IDE. Les éléments supplémentaires suivants sont requis du côté cible.

Préparation de l'agent TCF

TCF (Target Communication Framework) 3 est un protocole réseau léger et extensible pour piloter des systèmes embarqués (cibles). L'IDE Vitis est basé sur éclipse et communique avec la cible via TCF. Par conséquent, pour contrôler la cible à partir de l'IDE Vitis, il est nécessaire d'exécuter un programme serveur appelé TCF-Agent sur la cible.

Construire TCF-Agent

Le code source de TCF-Agent se trouve à l'URL suivante:

Vous pouvez télécharger le référentiel ici et le construire sur Ultra96 / Ultra96-V2. Dans cet article, nous avons déjà construit un paquet Debian, nous allons donc l'utiliser pour l'installer.

Installation de TCF-Agent

L'agent TCF pré-construit et packagé Debian est disponible à l'URL suivante. Télécharger et installer.

shell$ git clone --recursive --depth=1 -b 1.7.0-1 git://github.com/ikwzm/tcf-agent-dpkg
shell$ cd tcf-agent-dpkg
shell$ sudo apt install ./tcf-agent_1.7.0-1_arm64.deb 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'tcf-agent' instead of './tcf-agent_1.7.0-1_arm64.deb'
The following NEW packages will be installed:
  tcf-agent
0 upgraded, 1 newly installed, 0 to remove and 69 not upgraded.
After this operation, 3,298 kB of additional disk space will be used.
Get:1 /home/fpga/work/tcf-agent-dpkg/tcf-agent_1.7.0-1_arm64.deb tcf-agent arm64 1.7.0-1 [689 kB]
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
Selecting previously unselected package tcf-agent.
(Reading database ... 114950 files and directories currently installed.)
Preparing to unpack .../tcf-agent_1.7.0-1_arm64.deb ...
Processing triggers for systemd (237-3ubuntu10.39) ...

Début de TCF-Agent

Le paquet Debian ci-dessus comprend également un programme pour systemd. Pour démarrer TCF-Agent, utilisez la commande systemd comme suit:

shell$ sudo systemctl start tcf-agent.service

De plus, lors du démarrage automatique de TCF-Agent au démarrage de Linux, procédez comme suit.

shell$ sudo systemctl enable tcf-agent.service

Arrêter TCF-Agent

Pour arrêter TCF-Agent, procédez comme suit. Pour le moment, cela prend quelques minutes pour arrêter TCF-Agent pour une raison quelconque. La cause est inconnue.

shell$ sudo systemctl stop tcf-agent.service

Liens symboliques pour divers fichiers de / opt / xylinx / xrt vers / usr

Les programmes exécutables et bibliothèques XRT installés dans [Installation] sont installés dans / opt / xylinx / xrt sur la cible. Lors de l'exécution d'un programme pour XRT sur la cible, vous devez exécuter un script tel que /opt/xilinx/xrt/setup.sh pour définir les variables d'environnement.

Cependant, lorsque j'ai exécuté un programme pour XRT à partir de l'IDE Vitis via TCF, on m'a dit que la bibliothèque était introuvable ou que le périphérique ne pouvait pas être trouvé pour une raison quelconque, et cette méthode ne fonctionnait pas.

À la suite d'essais et d'erreurs, la bibliothèque sous / opt / xylinx / xrt / lib et le programme exécutable sous / opt / xylinx / xrt / bin peuvent fonctionner en les liant symboliquement à / usr / lib et / usr / bin, respectivement. devenu.

Comme il est difficile de lier à chaque fois à la main, nous avons préparé un paquet Debian pour cela. Veuillez installer ce paquet Debian.

shell$ git clone https://github.com/ikwzm/ZynqMP-FPGA-XRT.git
shell$ sudo apt install ./ZynqMP-FPGA-XRT/xrt-setup_2.6.0-1_arm64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'xrt-setup' instead of './xrt-setup_2.6.0-1_arm64.deb'
The following NEW packages will be installed:
  xrt-setup
0 upgraded, 1 newly installed, 0 to remove and 71 not upgraded.
After this operation, 30.7 kB of additional disk space will be used.
Get:1 /home/fpga/work/ZynqMP-FPGA-XRT/xrt-setup_2.6.0-1_arm64.deb xrt-setup arm64 2.6.0-1 [1,276 B]
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buff\\
er, or without a controlling terminal.)
debconf: falling back to frontend: Readline
Selecting previously unselected package xrt-setup.
(Reading database ... 115056 files and directories currently installed.)
Preparing to unpack .../xrt-setup_2.6.0-1_arm64.deb ...

Préparation de zocl

La préparation du zocl est comme expliqué dans [Pratique]. Veuillez vous y référer.

Se préparer à Vitis

Ouvrez Run Configuration dans Vitis IDE.

Fig.1 Vitis Run Configuration-1

Fig.1 Vitis Run Configuration-1


Configurez une nouvelle connexion pour Vitis Run Configuration.

Fig.2 Vitis Run Configuration-2

Fig.2 Vitis Run Configuration-2


Le nom de la cible est approprié. Pour Host, spécifiez l'adresse IP d'Ultra96 / Ultra96-V2.

Fig.3 Vitis Run Configuration-3

Fig.3 Vitis Run Configuration-3


Définissez le chemin du fichier distant et le répertoire de travail dans l'onglet Application. Préparez un répertoire de travail sur la cible et spécifiez son chemin.

Fig.4 Vitis Run Configuration-4

Fig.4 Vitis Run Configuration-4


Courir sur Vitis

Sélectionnez et exécutez la configuration que vous venez de configurer depuis Matériel> Exécuter dans Vitis IDE.

Fig.5 Vitis Run-Start

Fig.5 Vitis Run-Start


Le résultat est envoyé à la console comme suit: Les résultats de l'exemple de programme expliqué dans [Pratique] sont affichés ici.

Fig.6 Vitis Run-Result

Fig.6 Vitis Run-Result


référence

[Présentation]: https://qiita.com/ikwzm/items/0d3a8adfe725cd17f932 "Exécution de XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Présentation)" @Qiita " [Build]: https://qiita.com/ikwzm/items/d8013ea91125a3fc46aa "Exécution de XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Build)" @Qiita " [Installation]: https://qiita.com/ikwzm/items/6612eacc4a0d324a0a68 "" Exécution de XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Installation) "@Qiita" [Pratique]: https://qiita.com/ikwzm/items/58cfea3f9d0f42840511 "" Exécution de XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (pratique) "@Qiita" ["Exécutez bootgen sur Debian GNU / Linux, Ubuntu" @Qiita]: https://qiita.com/ikwzm/items/97811fcff7876181209f "Exécutez bootgen sur Debian GNU / Linux, Ubuntu" @Qiita " ["Salle FPGA"]: https://marsee101.blog.fc2.com "" Salle FPGA "" ["Tentative d'une connexion storming à l'aide du noyau RTL dans Vitis 2019.2 1"]: https://marsee101.blog.fc2.com/blog-entry-4823.html "" Storming à l'aide du noyau RTL dans Vitis 2019.2 Essayez la connexion 1 "" ["Essayez de prendre d'assaut la connexion en utilisant le noyau RTL dans Vitis 2019.2 2"]: https://marsee101.blog.fc2.com/blog-entry-4824.html "" En utilisant le noyau RTL dans Vitis 2019.2 Essayez la connexion 2 "" ["Essayez de prendre d'assaut la connexion en utilisant le noyau RTL dans Vitis 2019.2 3"]: https://marsee101.blog.fc2.com/blog-entry-4825.html "" En utilisant le noyau RTL dans Vitis 2019.2 Essayez la connexion 3 "" ["Essayez de prendre d'assaut la connexion en utilisant le noyau RTL dans Vitis 2019.2 4"]: https://marsee101.blog.fc2.com/blog-entry-4826.html "" En utilisant le noyau RTL dans Vitis 2019.2 Essayez la connexion 4 ""

Recommended Posts

Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (édition Vitis)
Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Installation)
Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Build) [Unfinished]
Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Installation) [Inachevé]
Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Présentation)
Exécutez XRT (Xilinx Runtime) sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (pratique)
Exécutez le pilote Lima sur Debian GNU / Linux pour Ultra96 / Ultra96-V2
Exécuter X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (LibMali)
Exécuter X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (pilote vidéo)
Exécuter X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Gnome Desktop)
Exécuter X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (pilote Mali)
Exécuter X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (édition fbdev)
Exécuter X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (présentation)
Exécutez bootgen sur Debian GNU / Linux, Ubuntu
Image de démarrage Debian GNU / Linux (version v2019.2) pour UltraZed / Ultra96 / Ultra96-V2
Exécutez Debian (Linux) et LXQt sur Athlon 200GE (AMD)