www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Bootloader NIOS II


Autor: Patrick Weiß (paddy325)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick Weiß (paddy325)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick Weiß (paddy325)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, das probiere ich mal aus!

Vielen Dank.

Gruß Patrick

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.