FPGA dauerhaft Programmieren

Gast #925656
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!
Gast #925685
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.
#925841
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
#926714
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
#926719
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.
#926762
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren