Forum: FPGA, VHDL & Co. FPGA dauerhaft Programmieren


von Sebastian (Gast)


Lesenswert?

Hallo,

Ich habe hier einen CycloneII FPGA mit externem FLAS und SRAM auf dem 
Board. Nun möchte ich das FPGA Design aus Quartus und die dazugehörige 
Softwara aus der NIOS IDE so auf das Board programmieren, dass es nach 
dem einschalten automatische gestartet wird. Bisher muss ich immer erst 
mit Quartus den FPGA programmieren und dann die Software mit der NIOS 
IDE starten.


Wie bekomme ich das hin?

Danke!

von Valerij M. (fpga-dev)


Lesenswert?

Was für ein Board / was für ein Flash? Unsere hellseherischen 
Fähigkeiten sind montags nicht besonders ausgeprägt ;)

Gruß,

fpga-dev

von Sebastian (Gast)


Lesenswert?

Also der SRAM ist von ISSI, Typ IS61WV102416BLL und es wurde mit dem 
SOPC Builder bereits eine Komponente in den NIOS eingebaut und passend 
Verdrahtet. Das Funktioniert soweit auch, da meine Software immer in den 
SRAM geschrieben wird und auch von dort startet.

Für den FLASH wurde in den NIOS ein EPCS Flashcontroler eingefügt. Der 
Controler trägt die Aufschrift 25P16V6P. Ich denke mal, dass die 
Ansteuerung soweit Funktionieren müsste, da das Design als 
beispieldesign des Herstellers rausgegeben wurde.

von Valerij M. (fpga-dev)


Lesenswert?

Um den Flash in einem bestehenden NIOS-System mit Inhalten zu 
programmieren, benutzt man am besten den "Flash Programmer" aus der 
NIOS-IDE (Tools->Flash Programmer). Da musst Du nur die 
Datei/Zieladressbereich im Flash vorgeben. Vorher muss der FPGA-Baustein 
natürlich mit dem entsprechenden NIOS-System konfiguriert werden.

Gruß,

fpga-dev

von ... .. (docean) Benutzerseite


Lesenswert?

Gibts da nicht noch so einen Schalter am Rand der Platine der bestimmt 
wohin geschrieben wird?

Oder war der nur für die LEs?

von Sebastian (Gast)


Lesenswert?

Und wie programmiere ich dann die FPGA konfiguration dauerhaft?

von Falk B. (falk)


Lesenswert?

@ Sebastian (Gast)

>Und wie programmiere ich dann die FPGA konfiguration dauerhaft?

Ich kenne das Board nicht, aber sicher ist dort ein 
Konfigurationsspeicher drauf, von dem aus das FPGA seine Konfiguration 
selber laden kann. Muss man ggf. über Jumper einstellen.

MfG
falk

von Frank (Gast)


Lesenswert?

Das Ganze dürfte daran scheitern, daß ein leeres FPGA garnichts enthält, 
also auch keinen NIOS mit Flashcontroller.

von Sebastian (Gast)


Lesenswert?

Ja, das sehe ich ja ein und wie bringe ich dann die Konfiguration 
dauerhaft auf das Board? Das sollte doch eigentlich über den FLAS 
Speicher gehen oder sehe ich das falsch?

von Valerij M. (fpga-dev)


Lesenswert?

@ Sebastian:

mach bitte folgendes:

1. SOPC-Builder starten,
2. Unter dem "System Component"-Reiter über "Memory & Memory 
Controller->Flash->EPCS serial Controller" rechts klicken und "Data 
Sheet" auswählen,
3. PDF "EPCS Device Controller Core" genau durchlesen, den Verweisen auf 
weitere Dokumente folgen und diese auch lesen,
4. Falls dann etwas nicht klar sein sollte, weiter hier posten.

Gruß,

fpga-dev

von Christian R. (supachris)


Lesenswert?

So ein FPGA braucht für den Stand-Alone Betrieb einen Platform Flash, 
wenn er keinen internen hat. Ich denke, der kann nicht aus dem Flash 
booten, der da irgendwo dran hängt. Hier stehen die 3 Modi zum Booten 
drin: http://www.altera.com/literature/hb/cyc2/cyc2_cii51003.pdf Seite 
6, Tabelle unten. AS wird wohl das sein, was bei Xilinx der Master 
Serial Mode ist, sprich der FPGA zieht sich aus einem externen seriellen 
EEPROM seine Konfiguration.

von Roger S. (edge)


Lesenswert?

Sebastian,

der 25P16V6P wird, wenn er korrekt ans FPGA angeschlossen ist, dein 
Konfigurationsspeicher (Platform FLASH) sein. Das Programieren des FLASH 
geschieht entweder ueber den Quartus Programmer oder den Nios Flash 
Programmer.

Fuer den Nios Flash Programmer muss auf dem FPGA schon ein Design 
laufen, welches mindestens einen Nios und einen EPCS Controller 
enthaelt. Auch musst du die Basisaddresse des EPCS controllers wissen.

Der Quartus Programmer hat die moeglichkeit ein eigenes minimal design 
ins FPGA zu laden, so dass fuer ihn das EPCS zugaenglich wird.
Dazu kann man im Quartus (File->Convert Programming Files...) ein JIC 
(JTAG Indirect Configuration) erstellen, welches man dann im Quartus 
Programmer oeffnet.

Wenn du den Weg ueber die EDS command shell waehlst, hier ein paar Tips:

sof2flash --input=mydesign.sof --output=mydesign.flash --epcs --compress
nios2-elf-strip mysoftware.elf
elf2flash --input=mysoftware.elf --output=mysoftware.flash --epcs 
--after=mydesign.flash

dann kannst du beide files mit dem Nios programmer flashen, aber vorher 
dein design (SOF) mit dem Quartus Programmer ins FPGA laden.

nios2-flash-programmer --cable 1 --epcs --base <epcs_base> 
mydesign.flash
nios2-flash-programmer --cable 1 --epcs --base <epcs_base> 
mysoftware.flash

Vielleicht geht das fuer dich komfortabler mit dem Flash Programmer aus 
dem Nios EDS, aber mousen ist nicht so mein ding.

Cheers, Roger

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.