Forum: FPGA, VHDL & Co. XILINX SPI Flash programmieren


von Matthias L. (matches_2002)


Lesenswert?

Hallo Allerseits;
Ich verwende ein Spartan 6 FPGA, das über ein SPI Flash booten soll. 
Wenn ich das ganz normale bit zum programmieren verwende funktioniert 
das auch. Das Problem ist, dass in den FPGA ein MicroBlaze Prozessor 
ist, dessenn Code aus dem BlockRam (2*64kByte) laufen soll. Mit den 
Programm data2mem bzw. programm FPGA in SDK kann ich ein bit File 
erzeugen in den das vhdl bit file und Software elf File kombiniert sind. 
Das lässt sich auch mit Impact auf das FPGA programmieren. Das Problem 
ist wenn ich aus den bit file ein mcs file mache um das SPI-FLASH zu 
programmieren bekomme ich die Fehlermeldung:
"PROGRAM FAILED:   '1': Configuration data download to FPGA was not 
successful. DONE did not go high, please check your configuration setup 
and mode settings.
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation."
Und nach dem Power Up booted das FPGA nicht, weiß jemand Rat?
Vielen Dank Matthias

von Christian R. (supachris)


Lesenswert?

Hast du den passenden Flash eingestellt? Also Größe und ob SPI x1 oder 
x4? Wird denn das mcs File ordentlich erstellt, ohne Fehlermeldung? Ist 
der FPGA mit den Mode-Pins auf SPI-Master gestellt? Ist der Init_B Pin 
und der Prog_B Pin ordentlich beschaltet?

von Georg A. (Gast)


Lesenswert?

Flashprogrammierung ohne die eingestanzten Daten geht? Klingt irgendwie 
nach einem Problem mit den diversen Optionen von bitgen...

von matches_2002 (Gast)


Lesenswert?

Hi;
Die Beschaltung müsste Richtig sein, denn das Programmieren und auch das 
booten des FPGAs ohne den MicroBlaze Source Code (elf File) 
funktioniert. Über Impact lässt sich auch das FPGA mit den Bitstream 
(FPGA bit File + elf File + bmm file / erzeugt mit Data2Mem) 
programmieren. Nur dieses Bitfile bekomme ich nicht in das SPI-Flash 
programmiert, bzw. booted dann das FPGA nicht.
Irgendwelche Ideen?
Matthias

von Duke Scarring (Gast)


Angehängte Dateien:

Lesenswert?

matches_2002 schrieb:
> Nur dieses Bitfile bekomme ich nicht in das SPI-Flash
> programmiert,

Du hast aber schon mit im Impact die ein passendes PROM (.mcs) File 
angelegt, oder?!

Duke

von Christian R. (supachris)


Lesenswert?

Matthias L. schrieb:
> Das Problem
> ist wenn ich aus den bit file ein mcs file mache um das SPI-FLASH zu
> programmieren bekomme ich die Fehlermeldung:
> "PROGRAM FAILED:   '1': Configuration data download to FPGA was not
> successful. DONE did not go high, please check your configuration setup
> and mode settings.

Das passt doch irgendwie nicht zusammen. Beim erzeugen des MCS Files mit 
dem Prom Formatter wird doch kein Programmierversuch unternommen. Da 
wird doch nur das File erzeugt und gut. Komisch....

von matches_2002 (Gast)


Lesenswert?

HI
Ja beim erzeugen des mcs file wird kein Programmier-Versuch unternommen, 
aber wenn ich das mcs file in das SPI-FLASH programmiere wird am ende 
das FPGA aus dem SPI-FLASH geladen. Das scheint dann schief zu gehen, 
bzw. lässt sich das FPGA auch nach dem entfernen der Spannungsversorgung 
nicht mehr booten.
Matthias

von matches_2002 (Gast)


Lesenswert?

Duke Scarring schrieb:
> Du hast aber schon mit im Impact die ein passendes PROM (.mcs) File
> angelegt, oder?!
>
> Duke

Das denke ich schon, da das erzeugte mcs file ja funktioniert, wen kein 
MicroBlaze code mit dabei ist.

von Duke Scarring (Gast)


Lesenswert?

Ok. Nur nochmal zum Verständnis:

ohne Microblazecode (Code per xmd o.ä. nachladen)
FPGA direkt  : geht
PROM -> FPGA : geht

mit Microblazecode
FPGA direkt  : geht
PROM -> FPGA : geht nicht

Habe ich das so richtig verstanden?
Falls ja, wäre das sehr eigenartig. (Oder Du erzeugst das mcs aus dem 
falschen bitfile.)

Duke

von matches_2002 (Gast)


Lesenswert?

> ohne Microblazecode (Code per xmd o.ä. nachladen)
> FPGA direkt  : geht
> PROM -> FPGA : geht
>
> mit Microblazecode
> FPGA direkt  : geht
> PROM -> FPGA : geht nicht
>
> Habe ich das so richtig verstanden?
Ja das hast du richtig verstanden, das bit file, das ich verwende um das 
mcs file zu erzeugen ist das gleiche, wie das ich verwende um das FPGA 
via IMPACT direkt zu laden. Irgendetwas übersehe ich, weiß aber nicht 
was.
Danke Matthias

von Georg A. (Gast)


Lesenswert?

Hm, gabs da nicht irgendeine Issue mit data2mem, dass das nur nicht 
verschlüsselte und nicht komprimierte .bits lesen kann? Schau mal bei 
den bitgen-Optionen nach, dass da "Compress" aus ist.

von matches_2002 (Gast)


Lesenswert?

Georg A. schrieb:
> Hm, gabs da nicht irgendeine Issue mit data2mem, dass das nur nicht
> verschlüsselte und nicht komprimierte .bits lesen kann? Schau mal bei
> den bitgen-Optionen nach, dass da "Compress" aus ist.

werde ich machen, vielen Dank
Matthias

von matches_2002 (Gast)


Lesenswert?

Hallo;
Die Lösung des Problems war / ist, dass das Programm data2mem einen 
Fehler beim Erzeugen des Files für ein 4-Fach SPI Flash macht, (siehe 
auch Xilinx Answer Base AR#37626)
Sobald das Flash auf single Lane eingestellt ist funktioniert es.
Danke euch allen
Matthias

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.