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
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
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
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.
wenn program in BRAM braucht man NIE einen bootloader :) das einzige was bRAM nicht initializieren kann ist Actel alles andere konnen es Antti
...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.....
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!
das ist aber alles in user man erklart, diese jumpers da leider muss man manchmal lesen :( Antti
Bei mir bietet Impact in der "Assign New Configuration File" Auswahl "Enable Programming of SPI Flash Devices Attached to this FPFA" an...
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....
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.