Zynq Vivado project: Unterschied zwischen den Versionen

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen
Zeile 84: Zeile 84:
  sudo apt-get install libncurses5 libncurses5:i386
  sudo apt-get install libncurses5 libncurses5:i386
|-
|-
|Das '''preset''' vom ausgwählten Board wird nicht angewendet.
|Das '''preset''' vom ausgwählten Board wird im "ZYNQ 7 Processing System" nicht angewendet.
|
|
  sudo update-locale LANG=en_GB.utf8
  sudo update-locale LANG=en_GB.utf8

Version vom 23. August 2021, 06:30 Uhr

Part 1: Zynq Vivado project
Part 2: Zynq SDK
Part 3: Zynq Petalinux
Verwendetes Board Trenz TE0720.

Installation

Vivado Installationsverzeichnis:

sudo mkdir /opt
sudo chown <owner>:<owner> /opt

Für das Exportieren von *.xsa Dateien (für Petalinux) ist die mindest Version 2019.2 von Vivado erforderlich.
Download Vivado

sudo chmod +x Xilinx_Unified_2019.2_1106_2127_Lin64.bin
./Xilinx_Unified_2019.2_1106_2127_Lin64.bin

Installationverzeichnis /tools/Xilinx auswählen.

Tools

Installation der nötigen Tools.

sudo apt install -y git pkg-config flex bison curl

Verzeichnisstruktur anlegen

Anlegen der Verzeichnis Struktur für ein Zynq Projekt:

mkdir zynq_project
mkdir zynq_project/vivado_project
mkdir zynq_project/repositories
mkdir zynq_project/board_files

Board Files

Wird ein Board von z.B. Trenz verwendet, können die board_files Vivado hinzugefügt werden.

Download board_files

Die board_files sind im Reference Designs enthalten. (Beispiel für TE0720 2020.2)

TE0720 ⇒ Reference_Design ⇒ 2020.2 ⇒ test_board ⇒ TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip
cd zynq_project/board_files
curl -O https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0720/Reference_Design/2020.2/test_board/TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip
unzip TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip

board_files nach Vivado speichern

Im Zip-File unter board_files den gewünschten Board-Ordner nach /<pfad>/Vivado/<version>/data/boards/boards_files kopieren.

cp -R te0720_board_files/test_board/board_files/* /opt/Xilinx/Vivado/2020.2/data/boards/board_files/

Vivado Project erstellen

  • Projekt erstellen (Pfad: /home/BENUTZER/zynq_project/vivado_project)
  • Board TE0720_1CFA
Hinweis: Wurde das Board Repository aktualisiert, werden nicht die vorher heruntergeladenen board_files genutzt. (Lösung: löschen der xhub board_files)
  • Create Block Design ⇒ + ⇒ processing system
    • Wichtig! Jetzt Run Block Automation ausführen, NUR dann wird das preset von den board_files übernommen!
    • Danach können weitere IPs wie gpio, axi usw. eingefügt werden ⇒ Run Block Automation
  • TAB Sources ⇒ Design Sources ⇒ design_NAME ⇒ rechtsklick ⇒ Create HDL Wrapper
  • rechtsklick ⇒ design_NAME_i ⇒ Generate Output Products
  • Pinzuordnung ⇒ Open Elaborated Design
  • Generate Bitstream

Jetzt kann die Hardware für das SDK oder Petalinux exportiert werden.

Petalinux export

  • File ⇒ Export ⇒ Export Hardware... ⇒ Petalinux root folder (/tools/petalinux/2019.2/)

SDK export

  • File ⇒ Export ⇒ Export Hardware... (include Bitstream)
  • File ⇒ Launch SDK ⇒ OK

Probleme

Fehler Lösung
application-specific initialization failed: couldn't load file "librdi_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory
sudo apt update
sudo apt install libtinfo-dev -y
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5
Vivado findet das Board über USB (FTDI) nicht
cd /opt/Xilinx/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers
Installer hängt bei generating installed device list
sudo apt-get install libncurses5 libncurses5:i386
Das preset vom ausgwählten Board wird im "ZYNQ 7 Processing System" nicht angewendet.
sudo update-locale LANG=en_GB.utf8
sudo update-locale LC_NUMERIC="en_GB.utf8"
sudo update-locale LC_TIME="en_GB.utf8"
sudo update-locale LC_MONETARY="en_GB.utf8"
sudo update-locale LC_PAPER="en_GB.utf8"
sudo update-locale LC_NAME="en_GB.utf8"
sudo update-locale LC_ADDRESS="en_GB.utf8"
sudo update-locale LC_TELEPHONE="en_GB.utf8"
sudo update-locale LC_MEASUREMENT="en_GB.utf8"
sudo update-locale LC_IDENTIFICATION="en_GB.utf8"

Quellen

TE Board Part Files

Part 2: Zynq SDK