Zynq FSBL: Unterschied zwischen den Versionen

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen
 
(55 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Basiert auf [https://wiki.xnick.de/index.php/Vivado_Zynq_project Vivado Zynq project].
=Zynq SDK FSBL=
Verwendetes Board Trenz TE0720.<br>
*bis Vivado 2019.1 - SDK.<br>
*ab Vivado 2019.2 - Vitis.<br>


== Fetch Sources ==
== Vitis (ab 2019.2) ==
Download der relevanten Repositories:
Wenn noch nicht geschehen exportieren der Hardware-Konfigurations ins Vitis.<br>
  git clone https://github.com/Xilinx/linux-xlnx.git
Im Vivado:
git clone https://github.com/Xilinx/u-boot-xlnx.git
* File &rArr; Export &rArr; Export Hardware... &rArr; "include Bitstream" (Extra Ordner für Vitis-Projekt anlegen z.B. TE0720/)
git clone https://github.com/Xilinx/device-tree-xlnx.git
'''HINWEIS:''' Für jedes Projekt muss der workspace separat ausgewählt werden.<br>
git clone https://git.kernel.org/pub/scm/utils/dtc/dtc.git
FSBL (First Stage Boot Loader) erstellen:
git clone https://github.com/Xilinx/arm-trusted-firmware.git
*File &rArr; New &rArr; Application Project
*TAB Create a new platform from hardware (XSA) &rArr; Browse... &rArr; <code>zynq_project/vivado_project/TE0720_1CFA/design_NAME_wrapper.xsa</code> auswählen &rArr; Next
*Application project name: <code>fsbl</code> &rArr; Next &rArr; Next
*SW development templates: Zynq FSBL &rArr; Finish


== FSBL ==
== SDK (bis 2019.1) ==
Wenn noch nicht geschehen exportieren der Hardware-Konfigurations ins SDK.<br>
Im Vivado:
* File &rArr; Export &rArr; Export Hardware... &rArr; "include Bitstream"  (Extra Ordner für SDK-Projekt anlegen)
* File &rArr; Launch SDK &rArr; Finish
Wurde das SDK nicht aus Vivado mit dem SDK-Arbeitsbereich heraus gestartet. Muss der Pfad des SDK-Arbeitsbereich angegeben werden.<br>
Wurde das SDK nicht aus Vivado mit dem SDK-Arbeitsbereich heraus gestartet. Muss der Pfad des SDK-Arbeitsbereich angegeben werden.<br>
FSBL erstellen:  
FSBL (First Stage Boot Loader) erstellen:  
File -> New _> Application Project
*File &rArr; New &rArr; Application Project
Project name: fsbl -> Next
*Project name: <code>fsbl</code> &rArr; Next
Available Templates: Zynq FSBL -> Finish
*Available Templates: Zynq FSBL &rArr; Finish


== Build Device Tree Compiler ==
== FSBL ==
Compiler für den Device Tree bauen (pkg-config, flex, bison):
Debug ausgaben sind standardmäßig deaktiviert zum aktivieren:<br>
  cd zynq_project/repositories/dtc
Rechtsklick auf fsbl Projekt &rArr; C/C++ Build Settings &rArr; Tool Settings Tab &rArr; Symbols (unter ARM v7 gcc compiler) &rArr; Klick + &rArr; <code>FSBL_DEBUG_INFO</code> &rArr; OK
  make
Den FSBL mit rechtsklick BUILD project bauen
  export PATH=`pwd`:$PATH
=== Upload FSBL (JTAG) ===
*Menüleiste Xilinx &rArr; XSCT Console
In der XSCT Console folgende Befhele zum upload ausführen:
connect            #Mit Hardware verbinden
targets            #Anzeigen der CPUs
targets 2          #Auswahl CPU 2
  cd path_to_fsbl/   #In das Verzeichnes vom fsbl wechseln
  dow fsbl.elf      #Upload fsbl
  con                #gestoppten CPU weiter laufen lassen


== Build U-Boot ==
== Probleme ==
{| class="wikitable"
!Fehler
!Lösung
|-
|
There is no active target available for server at localhost.
Targets(s) ",jsn-..." may be locked by another hw_server.
|
VirtualBox Manager &rArr; Ändern &rArr; USB &rArr; USB-3.0-Controller (xHCI)
|}

Aktuelle Version vom 27. August 2021, 05:02 Uhr

Zynq SDK FSBL

Verwendetes Board Trenz TE0720.

  • bis Vivado 2019.1 - SDK.
  • ab Vivado 2019.2 - Vitis.

Vitis (ab 2019.2)

Wenn noch nicht geschehen exportieren der Hardware-Konfigurations ins Vitis.
Im Vivado:

  • File ⇒ Export ⇒ Export Hardware... ⇒ "include Bitstream" (Extra Ordner für Vitis-Projekt anlegen z.B. TE0720/)

HINWEIS: Für jedes Projekt muss der workspace separat ausgewählt werden.
FSBL (First Stage Boot Loader) erstellen:

  • File ⇒ New ⇒ Application Project
  • TAB Create a new platform from hardware (XSA) ⇒ Browse... ⇒ zynq_project/vivado_project/TE0720_1CFA/design_NAME_wrapper.xsa auswählen ⇒ Next
  • Application project name: fsbl ⇒ Next ⇒ Next
  • SW development templates: Zynq FSBL ⇒ Finish

SDK (bis 2019.1)

Wenn noch nicht geschehen exportieren der Hardware-Konfigurations ins SDK.
Im Vivado:

  • File ⇒ Export ⇒ Export Hardware... ⇒ "include Bitstream" (Extra Ordner für SDK-Projekt anlegen)
  • File ⇒ Launch SDK ⇒ Finish

Wurde das SDK nicht aus Vivado mit dem SDK-Arbeitsbereich heraus gestartet. Muss der Pfad des SDK-Arbeitsbereich angegeben werden.
FSBL (First Stage Boot Loader) erstellen:

  • File ⇒ New ⇒ Application Project
  • Project name: fsbl ⇒ Next
  • Available Templates: Zynq FSBL ⇒ Finish

FSBL

Debug ausgaben sind standardmäßig deaktiviert zum aktivieren:
Rechtsklick auf fsbl Projekt ⇒ C/C++ Build Settings ⇒ Tool Settings Tab ⇒ Symbols (unter ARM v7 gcc compiler) ⇒ Klick + ⇒ FSBL_DEBUG_INFO ⇒ OK Den FSBL mit rechtsklick BUILD project bauen

Upload FSBL (JTAG)

  • Menüleiste Xilinx ⇒ XSCT Console

In der XSCT Console folgende Befhele zum upload ausführen:

connect            #Mit Hardware verbinden
targets            #Anzeigen der CPUs
targets 2          #Auswahl CPU 2
cd path_to_fsbl/   #In das Verzeichnes vom fsbl wechseln
dow fsbl.elf       #Upload fsbl
con                #gestoppten CPU weiter laufen lassen

Probleme

Fehler Lösung
There is no active target available for server at localhost.
Targets(s) ",jsn-..." may be locked by another hw_server.
VirtualBox Manager ⇒ Ändern ⇒ USB ⇒ USB-3.0-Controller (xHCI)