Forum: FPGA, VHDL & Co. Nios II Grundlagenfrage


von herman (Gast)


Lesenswert?

Hallo,

ich habe eine generelle Frage zu Nios II auf einem Cyclon II FPGA.
Ich erstelle mit Quartus ein Projekt mit einem Nios II Prozessor, dann 
schreibe ich den C-Code in der IDE. Wird dieser Code beim konfigurieren 
mit einem .sof File dann von der IDE in ein externes SDRAM geladen?
Wie funktioniert es dann beim .pof File, ist da der Code mit drin und 
kann dass auf das externe EPCS16 geladen werden? Oder wird ein externes 
Flash benötigt für den Code?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wo der Prozessor sein Codesegment herbekommt bestimmst du im Design. Wie 
der Code da reinkommt bestimmt die Quelle. Teilweise kann das z.B. in 
Internen Blockrams liegen die meist vorinitialisiert sind, oder im 
SDRAM/Flash den du selbst konfigurieren musst.

von Kest (Gast)


Lesenswert?

Wenn Dein Codesegment im SDRAM liegen soll, dann brauchst Du einen 
Bootloader, der nach der Konfiguration des FPGAs die Programmdaten aus 
dem Flash lädt und in den SDRAM kopiert. Dieser Bootloader ist sehr 
klein, passt in einen M4K/M9K Block und den gibt es auch von Altera. Du 
musst nur mit richtigen Adressen alles kompilieren.

Grüße,
Kest

von Matthias G. (mgottke)


Lesenswert?

Kest schrieb:
> Wenn Dein Codesegment im SDRAM liegen soll, dann brauchst Du einen
> Bootloader, der nach der Konfiguration des FPGAs die Programmdaten aus
> dem Flash lädt und in den SDRAM kopiert.

Wenn Du den SOPC-Builder benutzt, dann heißt das Zauberwort "EPCS Serial 
Flash Controller". Der Resetvektor im NIOS muss dann nur noch auf dieses 
Modul gesetzt werden. ...

von herman (Gast)


Lesenswert?

Was ist so der übliche Weg? Ich habe ein DE2 Board und will damit mal 
anfangen. Dort ist ein Flash, SRAM und SDRAM drauf.

von herman (Gast)


Lesenswert?

Wenn ich es über den "EPCS Serial Flash Controller" mache, wird der noch 
freie Platz (nach Konfigurationsdaten) im z.B. EPCS16 für den Code 
verwendet, falls ich das richtig verstanden habe. Wird es dann 
automatisch gehändelt, dass die Konfiguration des FPGAs im EPCS nicht 
überschrieben wird?

von Matthias G. (mgottke)


Lesenswert?

> Wird es dann
> automatisch gehändelt, dass die Konfiguration des FPGAs im EPCS nicht
> überschrieben wird?

Die Daten, bestehend aus FPGA-Image und NIOS-Code, werden vor dem 
Download in den Flash in einem File zusammengestellt. Ich vermute mal, 
dass es zu einer Fehlermeldung kommt wenn der Flash zu klein ist.

Spannender wird es wenn man über ein Firmwareupdate zu Laufzeiten durch 
den NIOS nachdenkt. Da muss man dann bei der Ablage eines zweiten 
FPGA-Images und des dazugehörigen Codes selbst sorge dafür tragen, dass 
das nicht schief geht.

von herman (Gast)


Lesenswert?

Vielen Dank für die Infos!
Wünsch euch ein schönes Wochenende.

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.