mikrocontroller.net

Forum: FPGA, VHDL & Co. Wie kann man C-Code auf OpenCore Plus Design testen


Autor: spitzinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe ein Problem. Ich habe einen Altera Cyclone 3. Das Design für 
diesen FPGA beinhaltet einen Block aus dem SOPC-Builder. In diesem sind 
neben diversen Ein- und Ausgangspins auch ein NIOS II Prozessor und der 
DDR2-High-Performance-Controller enthalten. Da es sich bei dem 
Ram-Kontroller um eine OpenCore Plus IP von Altera handelt, kann ich das 
Design ja nicht auf das Flash laden und von dort booten, sondern nur 
über den im Quartus vorhandenen Prograammer in den FPGA laden und bei 
angeschlossenem JTAG-Kabel laufen lassen. Mein Problem ist nun aber, 
dass ich meinen Code, welchen ich in der NIOS II EDS geschrieben habe, 
nicht zum laufen bekomme. Ich lade den Code ins Flash, aber er wird wohl 
nicht aufgerufen. Dass das FPGA-Design geladen ist sehe ich an einer 
LED, die ich über einen Taster schalten kann. Auch der Reset_n am Nios 
ist mit einem Taster belegt und sollte funktioniern. Anschliessend 
müsste meiner Meinung nach der NIOS sich den Code aus dem Flash holen. 
Leider macht er das aber nicht.
Hat jemand ne Idee was ich falsch mache oder wie das richtig 
funktioniert?
Ich bin für jeden Hinweis dankbar!
Viele Grüße
Spitzinger

Autor: kram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,
Prinzipiell sollte es kein Problem sein Code auf OpenCore-Plus laufen zu 
lassen, hab ich auch schon gemacht.
Programmierst du den Code wirklich ins Flash (Flash-programmer), oder 
wahrscheinlich in ein wie auch immer geartetes Ram (Run as Hardware)?
Zeigt die Start-Adresse im SOPC/Nios auf den Speicher wo du dass 
Programm reinlädst?
Stimmt in deinem BSP/Syslib die System-ID?

Fragen über Fragen...
Viel erfolg!

Autor: Harald Flügel (hfl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke auch, dass das mit OpenCore+ nix zu tun hat. Aber etwas mehr 
Details zur Codeausführung brauchen wir schon noch. Der Code wird ja 
nicht direkt aus dem EPCS ausgeführt, sondern aus einem RAM. Die Frage 
ist, welches RAM, und wie der Code da hinkommt. Bin gespannt auf die 
weiteren Details.

Harald

Autor: spitzinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi alle zusammen,
also ich hab das Ganze folgendermaßen versucht:
Den NIOS Code habe ich in ein Flash geladen. BSP ist korrekt 
eingestellt. Die Adresse, an welcher der Code steht habe ich auch 
korrekt angegeben. Ich lade anschliessend einfach über den Quartus 
Programmer mein Design in den FPGA und setze mit einem Button den NIOS 
zurück. Dieser müsste dann meiner Meinung nach an die eingestellte 
Reset-Adresse springen, was ja auch die Startadresse des Codes ist. Ich 
hab das Ganze auch schon ohne den OpenCore Plus Teil erfolgreich so 
getestet und dann läuft das Ganze auch...Nur wenn der 
DDR2-High-Performance-Controller drin ist will es nicht funktionieren, 
obwohl zu Beginn des Codes alles unabhängig von diesem RAM-Kontroller 
ist.
Hat da jemand nen Tipp?
Danke schonmal im VOraus!!!
Gruß Spitzinger

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.