Forum: FPGA, VHDL & Co. Kann man mit Impact SPI-Flash programmieren?


von klaus (Gast)


Lesenswert?

Hallo zusammen!

Kann man aus Impact heraus ein an den FPGA angeschlossenes SPI Flash 
programmieren ?

Muss man dabei selbst einen Bootloader schreiben, wenn man im SPI Flash 
die Firmware für eine Microblaze Soft-CPU ablegt ?

Ich habe hier das Spartan-3A Starter Kit von Digilent...

Gruß
klaus

von Antti Lukats (Gast)


Lesenswert?

ja (mit gluck)

ja

Antti

von Christian R. (supachris)


Lesenswert?

klaus schrieb:
> Hallo zusammen!
>
> Kann man aus Impact heraus ein an den FPGA angeschlossenes SPI Flash
> programmieren ?

Ja, endweder über SPI (ist ja am Xilinx Cable dran) oder seit neurem 
beim Startan 3E usw. der ja dann auch vom SPI Flash konfiguriert werden 
kann, auch durch JTAG. Da brauchts aber mindestens ImPact 10.1 oder 
sowas.

> Muss man dabei selbst einen Bootloader schreiben, wenn man im SPI Flash
> die Firmware für eine Microblaze Soft-CPU ablegt ?

Ja, du brauchst einen BootLoader, denn siehe unten...

> Ich habe hier das Spartan-3A Starter Kit von Digilent...

Der Spartan 3A kann offenbar nicht von SPI Flash konfiguriert werden, 
folglich kann
das MicroBlace Programm auch nicht gleich in den BitStream eingebaut 
werden. Das geht nur mit dem Spartan 3E oder extended 3A. Siehe UG332, 
ab Seite 101

von Antti Lukats (Gast)


Lesenswert?

no so was doofes habe lange nicht gelesen

S3 - kein spi boot, kein nor boot
S3E - spi boot, nor boot, multiboot NUR aus nor
S3A/AN/ADSP - spi boot, nor boot, dynamic reboot voll, zb cold boot aus 
spi dann reboot unter soft kontrolle von nor flash

S3A starterkit board kann naturlich von spi flash booten,
und egal vie der xilinx sich configuriert die brams werden
geladen immer

Antti

von Christian R. (supachris)


Lesenswert?

Naja, die UG332 ist an der Stelle nicht wirklich eindeutig. Aber wenn 
das so ist, dann ist ja gut. Ich hab auf Seite 101 gelesen: "In Master 
SPI mode (M[2:0] = <0:0:1>), the Spartan®-3E or Extended Spartan-3A 
family
FPGA configures itself from an attached industry-standard SPI serial 
Flash PROM..."

Aber stimmt, weiter hinten kommt eine Tabelle, in der auch der A/AN das 
kann. Komisch. Typische Xilinx Doku.

Wenn das geht, braucht man natürlich keinen Bootloader für das 
MicroBlaze Programm im BRAM.

von Antti Lukats (Gast)


Lesenswert?

wenn program in BRAM braucht man NIE einen bootloader :)

das einzige was bRAM nicht initializieren kann ist Actel
alles andere konnen es

Antti

von Christian R. (supachris)


Lesenswert?

...naja, er schrieb nix davon, dass sein Programm-Code in den BRAM soll. 
Kann ja auch in den SDRAM oder sonstwas....und von da aus immer die 
nächsten Befehle in den BRAM nach Bedarf....da gibts ja verschiedene 
Möglichkeiten.
Die Frage ist eher: Will er den SPI Flash denn überhaupt zur Konfig des 
FPGA benutzen? Muss man ja nicht. Man kann das Design ja auch in den 
Platform Flash und nur einen BootLoader rein, der dann ein anderes 
Programm aus dem SPI Flash zieht, der mit der Konfig gar nix zu tun 
hat.....

von klaus (Gast)


Lesenswert?

Danke für eure Antworten.

Also zunächst, es ist doch ein Spartan-3AN Starter Kit,
d.h. der FPGA hat auch internen Flash.

Ich habe auch selbst nochmal etwas recherchiert
und habe folgende Erkenntnis gewonnen:

Die Sache ist jetzt die, dass Impact 10.1.03 (ob für neue Version anders 
keine Ahnung) für diese Familie (3AN) keine INDIREKTE programmierung 
unterstützt (indirekt heißt also, der FPGA wird zunächst so 
konfiguriert, dass über diesen als "Relaisstation" des SPI-Flash 
programmiert werden kann). Es ist nur direkte Programmierung möglich. 
Hierfür muss man via Jumper auf dem Board die JTAG Leitungen auf die SPI 
Leitungen des SPI-Flash legen (J23 und J25). Desweiteren muss man den 
FPGA in der Schwebe halten (J16 überbrücken). Dann muss man natürlich in 
Impact direkte SPI Programmierung nehmen, dann gehts. Vorm Einschalten 
die Jumper wieder entfernen.

Mühsam aber machbar!

von Antti Lukats (Gast)


Lesenswert?

das ist aber alles in user man erklart, diese jumpers da

leider muss man manchmal lesen :(



Antti

von Uwe Bonnes (Gast)


Lesenswert?

Bei mir bietet Impact in der "Assign New Configuration File" Auswahl 
"Enable Programming of SPI Flash Devices Attached to this FPFA" an...

von Christian R. (supachris)


Lesenswert?

Laut UG332, ab Seite 124 soll das wohl jetzt gehen, den SPI Flash 
indeirekt über JTAG durch den FPGA hindurch zu proggen.

Hat das mal jemand getestet? Das wäre für uns auch interessant....da 
könnte man ein Firmware-Update viel leichter machen, wenn man eh schon 
SPI Flash dran hat. Nur einmal am Start den JTAG dran und dann alles per 
Software durchs Design durch....

von klaus (Gast)


Lesenswert?

laut UG334:
1
The Spartan-3A/3AN Starter Kit board primarily supports direct programming using the embedded USB JTAG programmer included on the board. Optionally, the SPI Flash can be programmed using a separate programming cable, as well.

UG332:
1
Indirect programming support is available starting with Xilinx ISE 9.1i, Service Pack 2 and later releases for the Spartan-3A and Spartan-3A DSP FPGAs. The Spartan-3E FPGAs are supported starting with the ISE 10.1 release. iMPACT supports programming of the internal Flash in Spartan-3AN FPGAs. In Indirect mode, the iMPACT software programs the memory attached to the FPGA through the FPGA’s JTAG port.

Ich hatte auch ein Dokument gefunden, indem ausdrücklich darauf 
hingewiesen wurde, dass indirekte Programmierung bei Spartan-3AN nicht 
unterstützt wird. Finde dieses aber nicht mehr. Es hatte nicht direkt 
etwas mit Programmierung zu tun

von Christian R. (supachris)


Lesenswert?

Das ist irgendwie typische Xilinx Doku Politik. Es gibt für viele Sachen 
kaum Doku, und was es gibt, ist widersprüchlich.

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.