Forum: FPGA, VHDL & Co. Bootloader NIOS II


von Patrick W. (paddy325)


Lesenswert?

Hallo,

ich arbeite mit einem Cyclone III - FPGA. Über in VHDL geschriebene 
Entitys habe ich Zugang zu USB und Ethernet. Nun habe ich mehrere NIOS 
II-Prozessoren (jeden als eigenes System-on-a-Chip-Module) eingebunden 
und verschiedene C-Programme dafür geschrieben. Die C-Programme werden 
momentan compiliert (Eclipse) und mit Quartus II in das EPCS-Image 
eingebunden (Update mif) und aus dem On-Chip-Memory ausgeführt.
Nun möchte ich die Programme der Prozessoren zur Laufzeit von außen 
aufspielen können, d.h. den betreffenden Prozessor "anhalten" oder in 
einen Bootmodus versetzen, das neue hex.-File in das entsprechende 
On-Chip-Memory schreiben und den Prozessor anschließend wieder starten.
Alternativ besteht auch die Möglichkeit die hex-Daten im EPCS abzulegen 
(habe Zugriff via USB) und von dort in das entsprechende On-Chip-Memory 
zu kopieren.
Wie bereits erwähnt werden die Daten via USB oder Ethernet zum FPGA hin 
übertragen, eine Programmierschnittstelle wie JTAG o.ä. ist nicht 
vorhanden.

Was ist die praktikabelste Lösung?
Hat schon mal jemand einen Bootloader für das On-Chip-Memory gebaut / 
angepasst?

Danke in voraus.

Patrick

von Kest (Gast)


Lesenswert?

Du hälst einen NIOS Processor an (z.B. mit reset_request dauerhaft auf 
'1') mit dem anderen überschreibst Du einfach den ONCHIP RAM mit dem 
neuen Programm. Dann nimmst Du reset_request zurück und alles läuft wie 
gehabt.

Grüße,
Kest

von Patrick W. (paddy325)


Lesenswert?

Hallo Kest,

danke für die schnelle Antwort.

Heißt das, dass ich mit dem reset_request NUR den Prozessor anhalten 
kann und die anderen Komponenten des SOPC-Systems arbeiten weiter?

Könnte ich dann mit einer Avalon-Bridge die Daten in das On-Chip-Memory 
schreiben und den Prozessor wieder anlaufen lassen (Die verschiedenen 
Prozessoren sind nicht alle in einem SOPC-System)?

Gruß Patrick

von Kest (Gast)


Lesenswert?

Jeder NIOS II Processor hat reset_request und reset_ack oder so. Mit 
reset_request hältst Du nur NIOS an, AVALON Fabric läuft weiter.

Wie Du ONCHIP-Ram beschreibst ist Dir überlassen. Kannst auch von außen 
mit AVALON Bridge/Master alles steuern.

Grüße,
Kest

von Patrick W. (paddy325)


Lesenswert?

Alles klar, das probiere ich mal aus!

Vielen Dank.

Gruß Patrick

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.