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?
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.
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
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. ...
Was ist so der übliche Weg? Ich habe ein DE2 Board und will damit mal anfangen. Dort ist ein Flash, SRAM und SDRAM drauf.
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?
> 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.
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.