Forum: FPGA, VHDL & Co. NIOS II Demo Project - Hello World Fehlermeldung


von Plau S. (radih)


Lesenswert?

Hallo,

Ich wollte mal mit NIOS II rumspielen und bin natuerlich wie bei jedem 
ersten Mal auf Fehlermeldung gestossen.

Ich beschreibe mal da ganze:

Die Platine die ich habe ist die Cyclone II FPGA Starter Board

QuartusII, SOPC Builder und NIOS II IDE habe ich installiert.

Cyclone II Starter Development Ki v1.0.0 habe ich auch installiert. Dort 
gibt es ein CII_Starter_NIOS Projekt. Ich kompiliere es im QuartusII und 
programmiere es auf der Platine.

SOPC Builder hat natuerlich davor ein System (system_0) generiert.

Danach gehe ich zum NIOS II IDE(ich befolge das Tutorial) und will eine 
C++ Applikation auf der Platine starten(Hello World). Dazu waehle ich 
New Applikation, dann Wizard Hello_world, dann als system waehle ich 
mein system_0
und als CPU mein cpu_0.

Build Projekt laeuft ohne Probleme
Aber wenn ich es starte kommt folgendes:

Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Processor is already paused
Initializing CPU cache (if present)
OK

Downloading 00400000 ( 0%)
Downloading 00800020 (88%)
Downloaded 68KB in 0.8s (85.0KB/s)

Verifying 00400000 ( 0%)
Verify failed between address 0x400000 and 0x40F13F
Leaving target processor paused


Egal welche Wizard Applikation ich waehle (count_binary z.B.) kommt 
immer das gleiche raus. Muss ich irgendwo die Defnition von den Memories 
anders definieren oder was weiss ich(ich dachte es ist alles schon 
vordefiniert, deswegen heisst ja auch DEMO)

Was denkt ihr?
Danke im Voraus

von SeriousSam (Gast)


Lesenswert?

Was hast du für ein Hardwaresystem? Hast du genug Speicher darin um dein 
Programm zu laden? Ist das System programmiert und läuft? Wenn man keine 
Lizenz für den Nios II hat, braucht man normalerweise eine 
JTAG-Verbindung zum FPGA, damit das Design zeitlich unbegrenzt läuft.

von Kest (Gast)


Lesenswert?

Die Fehlermeldung kann viele Ursachen haben. Zunächst mal ist es 
interessant, was das für Board ist (welches FPGA und wieviel Speicher 
dadrauf).
Als nächstes würde ich in den Einstellungen vom Programm 
(IDE->irgendwo->System Library Properties alles weggklicken, was Du 
nicht brauchst (bzw. Small C library ankliken, Reduced device drivers 
anklicken). Du hast jetzt 68 KByte großes Programm, das ist für einfach 
"Hello World" zu viel.

...aber wenn ich mir Recht überlege, liegt es daran nicht unbedingt, 
denn sonst würdest Du viel früher eine Fehlermeldung bekommen.

Es könnte aber daran liegen, dass das Programmspeicher SDRAM ist -- es 
gab da ein Paar Probleme mit dem SDRAM Controller bzw. mit den 
Resetvektoren.

Aber am wahrscheinlichsten ist es, dass während Du versuchst das 
Programm zu laden, irgendwas dazwischen kommt (z.B. NIOS sich resetet 
oder von Außen ein Mikrocontroller versucht den zu reseten und so weiter 
und so fort). Ich würde da auch den Clr/DEV Pin bei Quartus II als Dual 
Purpose Pin einschalten. Wenn dieser als CLRdev verwendet wird, kann es 
störend sein.

Na ja, nur so Gedanken,


Grüße

Kest

von Plau S. (radih)


Lesenswert?

ich verwende das Cyclone II FPGA Starter Board

der ist mit FPGA Cyclone II EP2C20F.... ausgestattet

SRAM hat er 512 KB

SD RAM 8 MB
FLASH 4 MB


ich habe kein Lizenz fuers NIOS II, deswegen verbinde ich die Platine 
mit dem USB Kabel und es bleibt die ganze Zeit angeschlossen. Ich weiss 
dass es so ca. 1 Stunde laufen soll, und dann muss man den FPGA neu 
programmieren.

Ich habe gehoert, dass man den Prozess(Jtag) davor killen soll, damit es 
keine Probleme gibt(das habe ich gemacht und es laeuft trotzdem nicht).

Wo der versucht downzuloaden weiss ich nicht so genau (ich gehe davon 
aus - ins SRAM) , da ich ganz neu bin in Sache NIOS II

Ich habe gerade vor 2 Tagen angefangen und gleich beim hello world 
Problem. Vielleicht mache ich ganz kleinen Fehler (irgendwo eine Option 
nicht richtig ausgewaehlt oder so)..

was vielleicht hilfreich ist:

also ich starte quartus und lade Projekt 
c:altera:kits:demonstration:cii_starter_nios:cii_starter_nios.qrt

unter device ist dann automatisch mein fpga richtig ausgewaehlt(soweit 
so gut)

dann starte ich vom Tool den SOPC

der fragt mich gleich ob ich in classic bleiben will oder ob ich den 
neuen SOPC standard upgraden will:
ich habe beides probiert. beim neus spc standard werden nicht ptf 
sondern .sopc xml verwendet und wenn ich es anklicke(upgrade) und danach 
die Schritte mache (generate, c++ applikation) scheitert das ganze noch 
frueher, beim build vom c++. im Help steht, dass man bei von frueheren 
Versionen generierten Systeme nicht upgraden soll, sondern in classic 
oeffnen soll, damit das system nicht beschaedigt wird.

Also oeffne ich es im Classic und das System kommt zum Vorschein, 
allerdings steht oben Target: undefiniert, wenn ich es definieren will , 
finde ich keine ep2c20f... sondern nur ep2c35 us.w.
und wenn ich auf target board edit gehe und es dann aendere muss ich im 
sopc irgendwie signale neu zuweisen (ich waehle alles auf im quartus 
auswaehlen) und mache weiter (system generieren) dann im quartus sind 
die pins schon eingeordnet und ich compiliere es und programmiere es auf 
dem FPGA

dann im IDE kommt es zu dem Fehler was ich davor beschrieben habe (build 
geht, run geht nicht).


Ach uebrigens, kleine Verstaendnisfrage:

Wenn ich die einzelne Verilog oder VHDL File im Quartus schon drin habe, 
wozu brauche ich dieses SOPC, was macht er eigentlich und was tut dieses 
generieren ueberhaupt, was kommt als erstes wenn man ein ganz neues 
Projekt anfaengt..
im quartus etwas in vhdl oder verilog schreiben oder im sopc etwas 
auswaehlen und generieren, oder wie???

von Plau S. (radih)


Lesenswert?

ICh habe lange gesucht und probiert und was hat geholfen:

ich habe obwohl ich cyclone II starter board habe, den DE 1 development 
Kit(also fuer die DE 1 platine, die haben aber den gleichen fpga drauf) 
runtergeladen
und mit dem Demo Projekt NIOS II hat es dann geklappt. Wahrscheinlich 
weil der viel neuer ist.

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.