Hallo Leute, ich brauche mal etwas hilfe. Ein Spartan 6 soll aus einem SPI-Flash geladen werden, wie es auch in der AppNote UG380 beschrieben wird. Jetzt ist aber gefordert, das der FPGA dieses Flash selbster beschreiben soll, da der FPGA später in ein Gehäuse integriert wird. Er soll durch einen Bussystem (CAN) einfach ein neues Promfile bekommen und dieses in den Flash schreiben um nach dem nächsten "stromaus" das neue File zu booten. Kennt ihr eine AppNote, die dies elektrisch beschreibt?
Da gibts meines Wissens keine direkte Appnote. Aber du musst ja nur einen SPI Master bauen. Nach der Konfig hast du uneingeschränkten Zugriff auf die SPI Pins, und kannst den Flash neu programmieren. Hast du einen SoftCore an Board? Rein elektrisch wird es in der XAPP1020 für den Virtex 5 beschrieben, musst halt bei Spartan 6 das STARTUP Modul weglassen, weil du direkten zugriff hast.
Hi, ich kenne zwar grade keine Appnote dazu, aber möchte zu bedenken geben, dass, wenn man sich das System mal versehentlich mit einem falschen File abgeschossen hat, der Ärger und Zusatzaufwand im Total mehr kosten kann als ein kleiner zuätzlicher uC als "Fallback". Allerdings wirds da mit CAN etwas schwierig. Nehme mal an, dass du einen Softcore einsetzt, der die Firmware mit CRCs usw. überprüft? Sonst, wenn ich mich recht entsinne, gehen alle SPI-Pins nach dem Programmieren in Tri-State und können frei genutzt werden. Also musst du nur noch die Programmierlogik entwickeln (dazu empfiehlt sich wohl wirklich auch ein Softcore). Elektrisch ergibt sich da nichts weiter. Grüsse, - Strubi
Danke für die Tipps. Und ja, es wir ein Softcore benutzt. Auch das Risiko mit dem falsch flashen ist mir bewußt. Das Promfile schreibe ich erst in ein Paralleles Flash oder RAM und danach in das Bootflash - so ist es zumindest geplant.
> und danach in das Bootflash
Und wenn dann der Strom ausfällt währenddessen?
Der Spartan 6 hat zum Glück Multiboot mit Fallback, wenn man also den unteren Speicherbereich nicht anfasst und dort ein funktionierendes Bitstream Image drin hat, ergeben sich die Probleme alle nicht wirklich. Bitgen hat da eine Option, die Startadresse des 2. Images anzugeben, wenn das Booten fehlschlägt, springt der auf das Image an Adresss 0 zurück. Der Flash muss dann natürlich mindestens 2 komplette Bitstreams fassen.
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.