Forum: FPGA, VHDL & Co. NiosII IDE - neue HW-Configuration und Timestamp


von Luggi S. (mmpls)


Lesenswert?

Hallo Community!

Seit ein paar Tagen spiel ich mich nun mit dem Nios II EEK Cyclon 3 
Edition. Alles ganz nett, aber folgendes:

Wenn ich mit Quartus, bzw. SOPC-Builder eine neue HWConfig(incl Nios) 
kreiere und dem FPGA damit beglücke, ist es ja kein Problem, mit der 
Nios IDE ein neues Projekt zu öffnen, das entsprechende SOF-file 
festlegen und dann die SW machen, passt.
Wie stell ich es aber an, wenn ich ein IDE-Projekt schon habe und ich 
ändere nachträglich nochmal die HW? Die IDE schimpft dann natürlich beim 
Compilieren über die Timestamp Diskrepanz. Wo ist der "Knopf" um das zu 
beheben?

Außerdem: Dank HAL-API stehen mir in der SW tolle Funktionen, etwa um 
die PIO anzusprechen zur Verfügung:
IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE, PIO_DATA);
Find leider nicht so recht, wo diese Funktionen/Macros anständig 
beschrieben sind.


Hoffe auf Eure Hilfe
und vielen Dank dafür,
luggi

von Roger S. (edge)


Lesenswert?

> mit der
> Nios IDE ein neues Projekt zu öffnen, das entsprechende SOF-file
> festlegen und dann die SW machen, passt.

du meinst wohl PTF-file.

> Wie stell ich es aber an, wenn ich ein IDE-Projekt schon habe und ich
> ändere nachträglich nochmal die HW? Die IDE schimpft dann natürlich beim
> Compilieren über die Timestamp Diskrepanz. Wo ist der "Knopf" um das zu
> beheben?

Das SOPC design kannst du editieren soviel du willst, die Nios IDE 
builded automatisch die system library, wenn das SOPC design neu 
generiert wurde.

Um eine bestehende Nios Applikation mit einem neuen SOPC design zu 
verwenden, musst du einfach eine neue system library zu dem SOPC design 
kreieren, und diese dann von der Applikation referenzieren.

> Außerdem: Dank HAL-API stehen mir in der SW tolle Funktionen, etwa um
> die PIO anzusprechen zur Verfügung:
> IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE, PIO_DATA);
> Find leider nicht so recht, wo diese Funktionen/Macros anständig
> beschrieben sind.

http://www.altera.com/literature/lit-sop.jsp

Oder rechts-click auf den PIO core im SOPC Builder und dann -> "Data 
Sheet"

Cheers, Roger

von Luggi S. (mmpls)


Lesenswert?

Danke für die zügige Antwort!

> du meinst wohl PTF-file.

ähm, wollt nur schaun ob alle aufpassen...

> Das SOPC design kannst du editieren soviel du willst, die Nios IDE
> builded automatisch die system library, wenn das SOPC design neu
> generiert wurde.

Das haut eben nicht hin, beim SW-Compilieren bekomme ich die Timestamp - 
Fehlermeldung. Muss ich beim Speichern des SOPC oder in Quartus was 
bestimmtes beachten?

> Um eine bestehende Nios Applikation mit einem neuen SOPC design zu
> verwenden, musst du einfach eine neue system library zu dem SOPC design
> kreieren, und diese dann von der Applikation referenzieren.

Ok, das klingt vernünftig - ich kriegs aber auch nicht hin. Ich lösche 
also das SysLib-Projekt, mit Rechtsklick auf mein App-Projekt - New - 
SystemLibrary - da geb ich dann Namen und das PTF-file an. Wieder 
Timestamp... Gibts vielleicht irgendeine Kleinigkeit, die übersehen 
haben könnte. Mich machts langsam irre, insbesondere weil das 
Compilieren so ewig dauert.

>> Außerdem: Dank HAL-API stehen mir in der SW tolle Funktionen, etwa um
>> die PIO anzusprechen zur Verfügung:
>> IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE, PIO_DATA);
>> Find leider nicht so recht, wo diese Funktionen/Macros anständig
>> beschrieben sind.
>
> http://www.altera.com/literature/lit-sop.jsp
>
> Oder rechts-click auf den PIO core im SOPC Builder und dann -> "Data
> Sheet"

Danke, hab jetzt mal noch was gefunden, wo die Macro zumindest vom 
Schema her erklärt sind. Die "Doku"-Links im SOPC-Builder funktionieren 
bei mir leider nicht - hab ich auch noch nich raus warum.

Schönen Dank einstweil,
Grüße Luggi.

von Roger S. (edge)


Lesenswert?

Luggi S__ wrote:
> Das haut eben nicht hin, beim SW-Compilieren bekomme ich die Timestamp -
> Fehlermeldung. Muss ich beim Speichern des SOPC oder in Quartus was
> bestimmtes beachten?

Wie schaut sie denn aus die 'Timestamp - Fehlermeldung'.
Quartus und EDS auf dem selben PC?
Daten auf einem lokalen Laufwerk?

> Danke, hab jetzt mal noch was gefunden, wo die Macro zumindest vom
> Schema her erklärt sind. Die "Doku"-Links im SOPC-Builder funktionieren
> bei mir leider nicht - hab ich auch noch nich raus warum.

Vielleicht ist generell an deiner Installation was faul.

Cheers, Roger

von Luggi S. (mmpls)


Lesenswert?

Guten Morgen!

Hab gestern Abend wohl einen Großteil meines Problems erschlagen!
...peinlich...

Als Softcore-Newbie hab ich nicht überissen, dass es der NiosIDE 
furzegal ist, wie die HW-Configuration im Ganzen ausschaut - es kommt 
nur auf das mit dem SOPC-Builder "gebaute" Nios-System an. Verändert man 
nun an dem was, muss man natürlich auch im Quartus neu compilieren, 
sonst steckt in der FPGA-Configuration ja natürlich noch das alte 
SOPC-System - die NiosIDE referenziert aber auf das neue, anhand des 
ptf-files...

mann mann mann, ist aber schön das es so einfach ist :-)


Schöne Grüße und Danke für die Hilfe,
Luggi

von Roger S. (edge)


Lesenswert?

Herzlichen Glueckwunsch.
Nur deckt sich deine Erkenntnis nicht mit der urspruenglichen 
Fehlerbeschreibung.

Um mit der IDE eine Nios Applikation zu kompilieren muss das SOPC 
design nach einer Aenderung generiert werden.
Um mit der IDE eine Nios Applikation zu debuggen muss auf dem FPGA das 
aktuelle SOPC design laufen, ergo nach der Aenderung am SOPC mit Quartus 
das design neu synthetisieren und aufs FPGA laden.

kompilieren -> Software -> Nios EDS
synthetisieren -> Hardware -> Quartus

Cheers, Roger

von Luggi S. (mmpls)


Lesenswert?

Ok, jetzt wo ich mir alles nochmal durchgelesen hab, muss ich Dir recht 
geben. Ich hab mich da mit den Begriffen etwas daneben gelangt, sorry.

Danke für den Hinweis!

von Luggi S. (mmpls)


Lesenswert?

Noch was und weil wir hier grad so schön beisammen sind:

Ich hab gesehen, dass Du auch schon bei folgender NiosIDE-Fehlermeldung 
geholfen hast:

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

Das die daraus resultieren kann, dass man das OpenCorePlusStatus-Window 
schließt (also diese Lizenz-Geschichte) hab ich ja schon öfters gelesen, 
aber offenbar kommt sie auch, wenn man in Quartus mehrere 
Programmer-Fenster geöffnet hat. Mir gings jetzt zumindest so: ein wenig 
rumprobiert, ein paar mal den FPGA programmiert, irgendwann einen 
Programmer offengelassen und zack - target processor war nicht mehr 
erreichbar.

Wollte ich mal loswerden, vielleicht braucht jemand anders mal.

Schöne Grüße,
Luggi.

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.