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


von spitzinger (Gast)


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

von kram (Gast)


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!

von Harald F. (hfl)


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

von spitzinger (Gast)


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

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.