mikrocontroller.net

Forum: FPGA, VHDL & Co. Nios II Grundlagenfrage


Autor: herman (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias G. (mgottke)
Datum:

Bewertung
0 lesenswert
nicht 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. ...

Autor: herman (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: herman (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Matthias G. (mgottke)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: herman (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.