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
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.
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
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???
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.