Forum: FPGA, VHDL & Co. Problem mit NIOS2 auf Cyclone FPGA


von Ponte 8. (ponte82)


Lesenswert?

Hallo,

ich bin ziemlich neu auf diesem Gebiet und habe eine Frage zu meinem 
ersten Versuch.

Also es geht darum einen NIOS2-Prozessor auf einem Cyclone EP1C12 - FPGA 
zu realisieren und ein kleines Testprogramm darauf zum Laufen zu 
bekommen.

Dazu habe ich ein Tutorial von Altera.com verwendet, ausserdem habe ich 
die Design Files für mein FPGA von Altera downgeloaded. Einziger 
Unterschied zum Tutorial, ich habe kein USB Download Kabel. Ich habe nur 
ein ByteBlasterMV (Parallelport) und ein MasterBlaster (RS 232) zur 
Verfügung.

Wenn ich mein fertiges Design auf das FPGA laden will, funktioniert das 
nur mit dem ByteBlasterMV. Allerdings kann ich beim Design meines NIOS2 
im SOPC Builder nur 3 serielle Schnittstellen auswählen(JTAG UART, UART, 
SPI), damit fällt für den Betrieb des NIOS2 wiederum das 
ByteBlasterMV-Kabel aus???(denke ich). Laut dem Tutorial soll die JTAG 
UART Schnittstelle verwndet werden, welche ich auch auswähle. Aber da 
mein Programm im NIOS2 IDE nicht laufen will, denke ich, dass es an der 
Kommunikation liegen wird. Hier nochmals die einzelnen Schritte:

1.Schritt:   Projekt aus den Design Files unter Quartus2 geöffnet
2.Schritt:   SOPC Builder geöffnet und NIOS2 Prozessor laut Tutorial
             konfiguriert, NIOS2 System ins Projekt integriert.
3.Schritt:   Mit Programmer das NIOS2 Design auf das FPGA geladen.
4.Schritt:   NIOS2 IDS gestartet und ein kleines Programm(count_binary),
             geladen, wie im Tutorial beschrieben. Diese Programm habe 
ich
             dann mit dem NIOS2 ISS simuliert, was auch problemlos
             funktioniert hat. Wenn ich allerdings die NIOS2 Hardware
             starten will, bekomm ich folgende Fehlermeldung:

        Using cable "ByteBlasterMV [LPT1]", device 1, instance 0x00
        Pausing target processor: not responding.
        Resetting and trying again: FAILED
        Leaving target processor paused

Vielleicht kann mir hier jemand weiterhelfen, welche Schnittstelle und 
welches Kabel ich verwenden kann, bzw. was das sonst für eine 
Fehlermeldung sein könnte. Hab auch schon versucht die UART 
Schnittstelle und das MasterBlaster Kabel zu verwenden, immer mit der 
gleichen Fehlermeldung, nur dass dann entsprechend das andere Kabel in 
der Fehlermeldung steht.

Mfg
Robert

von Rick Dangerus (Gast)


Lesenswert?

Was willst Du mit der Schnittstelle machen? Debuggen oder den NIOS 
"flashen"?

Rick

von Ponte82 (Gast)


Lesenswert?

Ich möchte über die Schnittstelle mein kleines Testprogramm in der NIOS 
IDE übertragen bzw. starten.

von Rick Dangerus (Gast)


Lesenswert?

Also eine Art flashen und debuggen. Dazu brauchst Du eine Software auf 
PC-Seite (die hast Du schon), eine "Verbindung" und ein Modul in Deinem 
FPGA.

Jetzt die Frage: Welche Schnittstellen bietet das "Flash"-Modul im FPGA?

> JTAG UART, UART, SPI
Von den genannten sieht nur die erste verwendbar aus. Die Anderen 
bräuchten einen Bootloader o.ä.

Rick

von Ponte82 (Gast)


Lesenswert?

Ah ok,
dann bin ich da schon mal auf dem richtigen Weg. Ich verwende ja die 
JTAG UART.

Das Problem dabei wird sein, dass ich mit meinem MasterBlaster Kabel (RS 
232)
keine Verbindung zu meinem FPGA bekomme. Ich kann mit dem Kabel nicht 
mal das Design in meiner Quartus2 Software auf das FPGA laden.
Ausserdem kann ich in der NIOS IDS unter Target Connection mein Kabel 
einstellen, welches ich verwenden möchte. Wenn ich dann dieses Kabel 
einstelle, wird kein Zielprozessor gefunden.

Mit meinem anderen Kabel ByteBlasterMV (Parallelport: LPT 1) wird der 
korrekte
Prozessorkern gefunden. Wenn ich allerdings mein Programm starte, kommt 
eben diese Fehlermeldung. Ist eigentlich auch logisch, da ich ja nur 
eine serielle Schnittstelle auf meinem NIOS2 habe.

Nun stellt sich wohl die Frage, wieso ich mit dem seriellen Kabel keine 
Verbindung zum FPGA hinbekomme?

Dank dir schon mal für deine Hilfe.

Mfg
Robert

von Claude (Gast)


Lesenswert?

Habe gerade kein Quartus zur Hand , aber muss nicht im SPOC Designer
auch ein JTAG Uart Modul in das Nios Design eingebaut werden?
Nicht vergessen den Nios auch mit Debug Fähigkeit zu konfigurieren. Habe 
bisher noch keine Probleme mit dem ByteBlaster und dem Nios IDE gehabt.

von Ponte82 (Gast)


Lesenswert?

Hi,
habe im SOPC Builder natürlich das JTAG UART - Modul eingebaut. Das 
funktioniert soweit auch, aber wenn ich mein Beispiel-Programm in der 
NIOS IDE
auf der Hardware starten will, dann bekomm ich eben diese Fehlermeldung:

        Using cable "ByteBlasterMV [LPT1]", device 1, instance 0x00
        Pausing target processor: not responding.
        Resetting and trying again: FAILED
        Leaving target processor paused

Bin mir nicht sicher, ob es dann an der Kommunikation liegt, oder ob 
hier vielleicht ein anderer Fehler vorliegt? Dachte mir das JTAG UART 
ist ja eine serielle Schnittstelle, und das ByteBlaster Kabel ist für 
eine parallele Schnittstelle. Aber wenn du sagst, dass du mit dieser 
Konfiguration keine Probleme hast, dann wird das wohl funktionieren und 
ich habe ein anderes Problem, welches diesen Fehler verursacht.
Nur hab ich leider keine Ahnung was das sein könnte.

von Claude (Gast)


Lesenswert?

Die CPU hat alles was sie braucht? Clock , Reset , etwas RAM zum 
Arbeiten... etc.
Kannst Du mal die URL zu dem Tutorial Posten?

von Ponte82 (Gast)


Lesenswert?

Klar, hier ist der Link zum Tutorial.

http://www.altera.com/literature/tt/tt_nios2_hardware_tutorial.pdf

Denke schon, dass die CPU alles hat, aber wie gesagt ich bin absoluter 
Neuling und habe mich an das Tutorial gehalten. Wenn ich das Programm im 
NIOS ISS simuliere dann funktioniert es ja, nur auf der Hardware selber 
eben nicht??

von Roger S. (edge)


Lesenswert?

> habe im SOPC Builder natürlich das JTAG UART - Modul eingebaut. Das
> funktioniert soweit auch, aber wenn ich mein Beispiel-Programm in der
> NIOS IDE
> auf der Hardware starten will, dann bekomm ich eben diese Fehlermeldung:
> [snip]

aha, und woher willst du Wissen ob die JTAG UART funktioniert, wenn du 
dein design noch nicht zum Laufen gebracht hast?

>         Pausing target processor: not responding.
>         Resetting and trying again: FAILED

Dein SOPC hat kein clock oder reset ist asserted.

> Dachte mir das JTAG UART ist ja eine serielle Schnittstelle,
> und das ByteBlaster Kabel ist für eine parallele Schnittstelle.

Das eine hat mit dem anderen nichts zu tun. In der Nios IDE gibts ein 
eingebautes Terminal, das kannst du so konfigurieren dass du damit I/O 
mit einer JTAG UART machen kannst. In der system-library konfigurierst 
du dann stdio nach JTAG UART und dann wird ein printf() ueber JTAG zum 
Terminal transportiert - Rueckwaerts in den stdin gehts natuerlich auch.

Tu dir einen Gefallen und organisiere dir einen USB-Blaster.

Cheers, Roger

von Ponte82 (Gast)


Lesenswert?

Hi Roger,
vielen Dank für deine Hilfe.
Kenne mich halt wirklich noch nicht so besonders gut aus. Bin ja 
momentan am Lernen und bin deshalb für jede Hilfe sehr dankbar. Hab mir 
auch schon gedacht, dass ich mir das Nios II Evaluation Kit, (Cyclone 
III Edition) zulegen sollte. Das ganze ist eine Studienarbeit und ich 
muss das mit meinem Professor abklären.

von Rick Dangerus (Gast)


Lesenswert?

@Ponte82:

Hast Du ein Design, was eine LED blinken läßt? (=Hello World für FPGAs)
Mir scheint auch daß Dein NIOS im FPGA gar nicht läuft.
Vielleicht hast Du auch nur die Pins falsch (oder gar nicht) zugewiesen?

Rick

von Ponte82 (Gast)


Lesenswert?

Hi,
ja ich hab dac counter Beispiel. Dabei werden die 8 LED's auf dem Board 
angesteuert. Hab mich beim Design komplett an das Tutorial gehalten, da 
wird ja jeder kleine Schritt ausführlich erklärt. Leider wird im 
Tutorial eben nur das USB Blaster Kabel verwendet.

Probiere morgen nochmals ein komplett neues Design, aber davon erwarte 
ich  ehrlich gesagt nicht allzu viel, aber vielleicht hab ich ja doch 
irgendwo eine Kleinigkeit vergessen.

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.