Forum: FPGA, VHDL & Co. NiosII booten


von Jonas (Gast)


Lesenswert?

Hallo,
wie kann ich vorgehen, wenn der NiosII vom FPGA internen
Speicher booten soll ? Danke, Jonas

von Harald F. (hfl)


Lesenswert?

Kurze Frage, kurze Antwort: Lege im SOPC Builder ein on-chip RAM an, gib 
ihm einen sinnvollen Namen, und setze in der Konfuguration des NIOS die 
Reset-Adresse auf dieses RAM. Das war's schon.

Harald

von Jonas (Gast)


Lesenswert?

Hallo Harald,
ich war leider etwas in Eile da ich sonst meinen Bus verpasst hätte, 
daher die kurze Frage. Dein Vorschlag kann ich nachvollziehen, nur wie 
gehe ich dann weiter vor ? Angenommen ich schreibe mein Prog in C 
erhalte nach dem Kompilieren mein elf-file, wie gehts dann weiter ? 
Vielen Dank und Gruss,
Jonas

von Jonas (Gast)


Lesenswert?

Hallo,
hänge leider immer noch an dem Problem aus meinem .elf file eine .hex 
Datei zur Initialisierung meines Onchip Speichers zu generieren. Ich 
nutze Quartus 9.1 und die NiosII IDE in der gleichen Version. Hat jemand 
ne Idee wie man dort vorgeht. Gruss, Jonas

von Duke Scarring (Gast)


Lesenswert?

Gibt es da kein Tutorial? Üblicherweise kann objcopy diverse 
Ausgabeformate erzeugen.

Duke

von Harald F. (hfl)


Lesenswert?

Hallo Jonas,

tut mir leid, ich war ein paar Tage offline. Was du tun musst? Gar nix. 
Das geht alles von selbst. Die NIOS IDE erzeugt ein hex-file und legt 
die Datei in das Quartus Projektverzeichnis. Beim nächsten compilieren 
in Quartus wird dann dein Programm in das Memory reingerechnet und somit 
Teil der FPGA-Konfiguration.

Grüße, Harald

von Jonas (Gast)


Lesenswert?

Das ist ja der Hammer, so einfach kanns gehen :-) Vielen Dank nochmal, 
das erste NiosII Night Rider Lauflicht läuft schon auf einem economic 
core. Was micht jetzt noch etwas fuchst ist die Grösse meines programms. 
Da es aus sage und schreibe nicht mehr wie 20 Assembler Befehlen besteht 
gehe ich davon aus, dass der Rest für den Start-up code sowie den 
Exception Handler draufgehen (Wenn ja, was wird standardmässig noch 
dazugeklatscht ?).
Nun möchte ich beide Programmteile (start-up und exception handler code) 
gerne selber schreiben und nicht auf die von der HAL bereitgestellten 
Routinen zurückgreifen. Kann mir hier jemand sagen wie ich dafür ein 
'Assembler only' Projekt in der NiosII IDE aufsetzte ?
Vielen Dank & Gruss,
Jonas

von Mark (Gast)


Lesenswert?

Hi Jonas,
ich hatte mal kurz im Studium mit dem Nios II zu tun und da hat mich 
genau dieser Punkt ebenfalls beschäftigt. Einen Workaround bezüglich 
"Assembler Only in der NiosII IDE" kann ich dir nicht anbieten, ich bin 
letztlich auf das Altera Monitor Program umgestiegen. Gruss,
Mark

von Harald F. (hfl)


Lesenswert?

Hallo Jonas,

ich war wieder ein paar Tage offline.

Was fuchst dich denn an der Programmgröße? Wie groß ist es denn 
überhaupt?

Bei NIOS SW-Projekten ist automatisch eine Menge an Software mit dabei, 
die einem das Leben sehr erleichtert, wenn man auf die Hardware 
zugreift. So kann man z.B. einen UART als output-device für printf 
nutzen oder ganz leicht Daten aus einem seriellen FLASH lesen. Man kann 
die Größes dieser Bibliothek (syslib bei NIOS ISE bzw. BSP bei NIOS SBT) 
verändern. Altera hat eine eigene Appnote dafür gescheieben. Vom 
selbstschreiben in Assembler würde ich abraten.

Grüße, Harald

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.