Forum: FPGA, VHDL & Co. u-boot: Wie ermittelt man die Filesize für das Laden des FPGA Bit-Files?


von Andre (Gast)


Lesenswert?

Hallo,

zur Hardware Platform:
Eval Board Xilinx Zynq zc706


auf diesem möchte ich das FPGA Bit-File per U-boot von einem TFTP-Server 
auf das FPGA laden.

Die Befehle und Ausgabe dazu sehen wie folgt aus:
1
TCB> tftpboot 0x100000 zynq.bit
2
Using ethernet@e000c000 device
3
TFTP from server 192.168.100.100; our IP address is 192.168.100.101
4
Filename 'zynq.bit'.
5
Load address: 0x100000
6
Loading: #################################################################
7
         #################################################################
8
         #################################################################
9
         #################################################################
10
         #################################################################
11
         #################################################################
12
         #################################################################
13
         #################################################################
14
         #################################################################
15
         #################################################################
16
         #################################################################
17
         #################################################################
18
         #################################################################
19
         #################################################################
20
         #################################################################
21
         #################################################################
22
         #################################################################
23
         ###############################################################
24
         3.9 MiB/s
25
done
26
Bytes transferred = 5980030 (5b3f7e hex)
27
TCB> fpga loadb 0 0x100000 5b3f7e
28
  design filename = "zynq;UserID=0XFFFFFFFF;Version=2016.2"
29
  part number = "7z030ffg676"
30
  date = "2017/06/07"
31
  time = "19:53:10"
32
  bytes in bitstream = 5979916
33
zynq_align_dma_buffer: Align buffer at 100072 to 100000(swap 1)


Mein Frage dazu ist:
Gibt es eine Möglichkeit, mit der man automatisch den Filesize-Parameter 
für den "fpga loadb"-Befehl ermittel und setzen kann? Sonst müsste man 
bei jedem neue Bit-File die Größe ermitteln und per Hand im uEnv.txt 
eintragen, was nicht wirklich komfortabel ist.

Gruß
Andre

von Julius J. (joe_joule)


Lesenswert?

Bei meinem U-Boot steht die Dateigröße nach dem "tftp"-Kommando in der 
Variable "$filesize"
funktioniert folgendes?:
1
fpga loadb 0 0x100000 ${filesize}

von Andre (Gast)


Lesenswert?

Julius J. schrieb:
> Bei meinem U-Boot steht die Dateigröße nach dem "tftp"-Kommando in
> der
> Variable "$filesize"
> funktioniert folgendes?:fpga loadb 0 0x100000 ${filesize}

Super :)
Werde ich ausprobieren.

Lg Andre

von Andre (Gast)


Lesenswert?

Andre schrieb:
> Julius J. schrieb:
>> Bei meinem U-Boot steht die Dateigröße nach dem "tftp"-Kommando in
>> der
>> Variable "$filesize"
>> funktioniert folgendes?:fpga loadb 0 0x100000 ${filesize}
>
> Super :)
> Werde ich ausprobieren.

Funktioniert:)
Danke, für die schnelle Antwort.
GrußAndre

von Vancouver (Gast)


Lesenswert?

Mal eine Verständnisfrage von einem Zynq-Newbie: Was geschieht 
eigentlich mit dem Bitfile, das Du vom tftp-Server geladen hast? Wird es 
in einen Flash geschrieben oder sofort in den FPGA geladen? Ich meine, 
damit U-boot überhaupt läuft, muss ja schon ein Bitfile vorhanden sein, 
in dem wenigstens ein ps7 mit ein paar Verbindungen nach außen (DDR 
etc.) konfiguriert ist. Dieses Bitfile kann doch  im laufenden 
U-Boot-Betrieb nicht einfach überladen werden, oder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.