Design-Flow zum erstellen eines bootfähigen SPI-Flash (PROM-Datei) für ein Xilinx-Spartan-6-Konfiguration mit bitsream UND Microblaze-software

Ich würde gerne wissen, die richtige Prozedur zum erstellen eines PROM-Datei (.MCS) für eine serielle SPI-Flash, die SOWOHL die FPGA-Konfigurations-bitstream und die software für die Verwendung durch den Microblaze-Prozessor. Dies wird vorausgesetzt meine hardware-und software-design ist alles erledigt.

Ich bin mit einem Xilinx Spartan-6-evaluation-board, das SP605, die mehrere nicht-flüchtigen Speicher-Geräte und ich möchte die serielle SPI-Flash zum speichern der FPGA-bitstream UND der Microblaze die software, die benötigt werden in den Arbeitsspeicher geladen. Ich bin in der Lage zu erreichen diese nur, wenn der Microblaze ist code ist, sich in die internen BRAMs. Wenn ich meine link-Skript so, dass es Orte, die code oder Daten in den Abschnitten externe DDR3-RAM, es funktioniert nicht.

-- EDIT --

OK, also ich habe versucht ein paar verschiedene Dinge, und ich habe ein besseres Verständnis von dem, was ich tun müssen, aber noch keinen Erfolg (was, btw, vielen Dank für deine Antwort Andy). So, ich habe versucht 2 verschiedene Dinge. Für beide von Ihnen, die ich zuerst verschmelzen die system-bitstream mit dem bootloader-Programm, um einen neuen zu generieren .bit (download.bit) - Datei, die läuft einfach gut (wenn Sie die hit-Programm im SDK, und wählen Sie die bootloader zu laden, der BRAM, ruft data2mem zum generieren des neuen download.bit-Datei).

ERSTEN ANSATZ - BIN-DATEI

Einmal mein main Programm gemacht (mit einem linker-Skript targeting die DDR-RAM und alle) ich rufe mb-objcopy zum erzeugen eines bin-Datei aus .elf eins:

mb-objcopy -O binary program -R .vectors_reset -R .vectors.sw_exception -R vectors.interrupt -R .vectors.hw_exception dummy.elf dummy.b

Dann habe ich mit iMPACT zu erstellen und MCS-Datei mit herunterladen.bit-und dummy.b. Ich Stelle download.das bit an der Ausgangsadresse von der SPI-Flash und dummy.b weiter unten (der bootloader weist bereits auf diese Adresse). Dann brenne ich die MCS an die serielle SPI-FLash, Neustart und der bootloader läuft und angeblich kopiert alles, was auf DDR-RAM, aber das Hauptprogramm nicht funktioniert. Bin ich hier etwas fehlt? Wenn ich versuche mit iMPACT ohne änderung des Hauptprogramms aus .elf BIN, der PC hängt (manchmal habe ich sogar komplett den computer zurücksetzen), und ich habe eine sehr schnelle und Speicher-PC ausgestattet.

Den bootloader, die ich verwendet wurde der gleiche Zusammenhang in der Xilinx XAPP1146 Dokument.

ZWEITE ANSATZ - SREC-DATEI

Die Schritte sind so ziemlich das gleiche, außer, dass ich die gleiche mb-objcopy-Kommando zum erzeugen einer SREC anstelle einer BIN-Datei (dieses mal habe ich nicht entfernen Sie alle der Sektoren, die ich brauchte, zu tun, für die BIN-Datei die es sonst erzeugen würde eine enorme Datei).

Den bootloader, die ich benutzt habe ist die, die die SDK-software.

Bitte jemand lassen Sie mich wissen, wenn du erfolgreich einen bootloader für den Microblaze.

Vielen Dank im Voraus,
Erick

  • Dies tun könnten, besser auf die Elektronik.se. Sie können Kennzeichnen Sie Sie, und Fragen Sie einen moderator zu migrieren.
  • Können Sie aktualisieren Sie Ihre Frage im detail auf die Weise erzeugen Sie die MCS-Datei und die Fehler bekommen Sie? Sind Sie mit der -data_file option oder seine GUI-äquivalent? - Überlauf-Fehler-sounds wie der Blitz kann nicht groß genug sein. Hier sind ein paar Ressourcen: AR 36210, AR 35345, Programm-Benutzer-Daten in den internen flash...
InformationsquelleAutor Erick Tejada | 2011-04-13
Schreibe einen Kommentar