Forum: FPGA, VHDL & Co. NIOS Software und Hardware flashen


von Till X. (till_n)


Lesenswert?

Hallo. Hab folgendes Problem: Ich will auf ein fertiges System mit 
Cyclone 3 und EPCS Flash 16 Mbit die Hardwarekonfiguration eines Nios 
Prozessors samt ein paar IPs und die Software die ich entwickelt hab 
flashen. Nun hab ich bisher immer alles nur im Debug-Modus in der Nios 
IDE getestet und das hat auch gut funktioniert. Nun wollte ich mein 
Programm aber mal fest auf den Speicher flashen und da liegt der Hund 
begraben. Ich schaff es einfach nicht mein Programm auf den Flash zu 
bekommen, obwohl ich ein EPCS Controller im SOPC Builder eingfügt, den 
Reset Vekotr auf EPCS gelegt, das ganze gerneriert, Quartus kompiliert 
in meiner Software die Syslib mit der neunen .ptf verbunden habe, in den 
System Properties der Syslib den Memory auf einen vorhandenen DDR2 ( von 
dem es bisher immer im Debug gelaufen ist) gesetzt hab und und den 
Flash-Programmer die Software mit der Hardware flashen lassen hab.

Wenn ich alles durchlaufen lasse, dann macht er grob folgendes: 
sof2flash, nios2download, elf2flash (mit --after: xxx.sof) und danach 
nios2download. alles wird mit erase und programm durchgeführt. Eine 
Warning taucht auf, dass er den Lizenzserver nicht erreichen kann (glaub 
nicht, dass das was ausmacht)

Nach einem Reset passiert dann aber z.b. keine Ausgabe in Hyperterminal, 
selbst bei den Templates "Hallo from NIOS" nicht, die im Debug über FTAG 
mit dem DDR als Speicher aber funktioniert. Hab ich da was vergessen, 
damit der Bootloader mit drauf geladen wird? Sollte doch so klappen 
oder? Wie kann man das überprüfen? Die Hardwarekonfig. scheint aber 
drauf zu sein, da ich nach einem Reset nun mein sof nicht jedes mal 
draufladen muss.


Leider wird dieser Schritt nirgendso bei Altera erklärt. Könnt ihr 
helfen?  Stecke grad an einer Studienarbeit fest, wo das Problem 
auftritt.

von Bergvagabund (Gast)


Lesenswert?

Wenn Du bisher immer aus der NIOS IDE heraus das Programm hast laufen 
lassen und es da recht gut funktioniert hat dann würde ich als erstes 
mal schauen, ob Dein Programm noch printf Befehle welche in Richtung 
JTAG gehen enthält.

Ist ein gern gemachter Fehler. Für ein "Hallo NIOS" als Standalone würde 
ich keine Textausgabe machen, sondern eine LED mittels PIO blinken 
lassen.

von Till X. (till_n)


Lesenswert?

Hab gar kein JTAG UART. Hab nur zwei normale UARTs mit der Ausgabe und 
Eingabe auf stdin und stdout auf UART0 laut System Properties in meiner 
Syslib. JTAG hab ich nur zum Debuggen. Dann muss dorch printf auch auf 
Uart0 gehen oder? Das mit dem LED werde ich noch testen, aber wenn euch 
noch was einfällt....

von Kest (Gast)


Lesenswert?

Lies mal die Meldung wegen der Lizenz genauer durch. Es kann nämlich 
sein, dass Du gar kein FLASH-File generieren kannst (weil z.B. NIOS, 
DDR-Speicher oder sonst was nur in Evaluation Mode läuft). Deshalb läuft 
es auch nicht.

Grüße,
Kest

von Till N. (Gast)


Lesenswert?

gibt es denn irgendwo genauere auskünft darüber, was der unterschied zur 
lizensierten version von Quartus/Nios ist?

von Kest (Gast)


Lesenswert?

Mit der lizenzierten Version kann man dann FLASH-Dateien generieren und 
EPCS beschreiben. Ansonsten muss man z.B. immer JTAG dranhaben bzw. die 
Cores laufen eine Stunde und danach nicht mehr. Auf jeden Fall -- ohne 
Lizens kannst Du nur über JTAG die Sachen reinladen.

Die genaueren Informationen gibt es bei... ALTERA :-)

Grüße,
Kest

von Till X. (till_n)


Lesenswert?

Danke, erstmal. Lizenz ist zwar vorhanden, ist aber irgendwie nicht 
richtig eingebunden worden. War bisher auhc nie notwendig.Mal schaeun 
obs dann funktioniert

von 1Gast (Gast)


Lesenswert?

Hast du mal probiert, ob das geänderte System noch läuft, wenn du einen 
ganz normalen Download machst? Also ohne auf den Flash zu schreiben.

Ich hatte schon manchmal das Phänomen, dass der Nios bei der 
initialisierung irgendwo in den Altera-HAL funktionen hängen geblieben 
ist. Liess sich immer mit dem Debugger nachvollziehen. Ein neues 
Generate und Compile hat das jedes mal behoben.

von Till N. (Gast)


Lesenswert?

OK, shame on me! Es gab zwei Server mit den Lizenzen, wobei der eine 
irrelevant ist und auch aus Quartus gelöscht wernden kann, weil da keine 
Lizendateien drauf liegen. Lag also nicht daran, da die Lizenzen des 
anderen gepasst haben.
Letztendlich lag es daran, dass ich in Hypterterminal die falsche 
Bitrate eingestellt hab, bzw. diese nie geändert habe. Die Lizenz ist 
anscheinend auch nicht wichtig für das flashen.
Jetzt funktioniert es. Danke euch nochmal.

von Frank (Gast)


Lesenswert?

Es gibt inzwischen auch einen lizenfreien NIOS.

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.