Ich fange an, Alteras Cyclone IV FPGA zu untersuchen, um es in meinen Projekten zu verwenden. Jetzt habe ich mir von Nachbarfirma ein richtiges Gerät mit USB Baster Rev.C ausgeliehen. Ich würde versuchen, eines anstelle des Evaluierungsboards zu verwenden, das ich im Moment nicht habe.
Bevor ich einen Code in das Gerät einfüge, möchte ich die Original-Firmware herunterladen, damit ich das Gerät jederzeit in den Ausgangszustand zurückversetzen kann.
Nachdem ich jedoch USB Blaster über JTAG an das Gerät angeschlossen und Programmer ausgeführt habe, habe ich keine Schaltfläche "Lesen" gefunden (wie ich es normalerweise auf den GUIs von AVR-Programmierern sehe):
Kurze Suche im Internet hat nicht geholfen.
BEARBEITEN 1
Es sieht so aus, als gäbe es zusätzliche Erinnerungen auf der Platine:
Früher habe ich mich über X4 (mit einem großen roten Pfeil gekennzeichnet) verbunden.
Um die Gerätekonfiguration zu lesen, müssen Sie sich mit X5 statt mit X4 verbinden (wie von @Simon Richter hervorgehoben). Ändern Sie Ihre Einstellungen so, dass sie mit den unten gezeigten übereinstimmen:
Klicken Sie auf „Start“, um die Konfiguration auszulesen. Wenn es fertig ist, können Sie einen Dateinamen festlegen und dann wie folgt auf „Datei speichern“ klicken:
Es gibt keine Möglichkeit, die aktuelle Konfiguration zurückzulesen.
Wenn Ihr Entwicklungsboard für den JTAG-Modus verdrahtet ist, wie es auf Ihrem Screenshot aussieht, wird durch einfaches Schreiben einer neuen Konfiguration nur das FPGA aktualisiert und der Konfigurations-Flash in Ruhe gelassen, sodass ein Power-Cycle den Flash neu lädt und alles wieder so ist wie es war davor.
/CS
und zurücksetzen /CE
.Ich weiß nicht, ob Sie über Quartus II die Konfiguration so lesen können, wie sie ist, und sich von Quartus II in VHDL/Verilog übersetzen lassen, was im Speicher gespeichert wurde. Eine Sache, die Sie immer tun können, ist, den Inhalt Ihres EPCS-Speichers mit einem SPI-Lesegerät zu lesen und den gesamten Dump zu erstellen. Nun, in Anbetracht des Speicherplatzes (>=16 MB) werden Sie höchstwahrscheinlich eine MASSIVE .hex-Datei erstellen. Es gibt Dateisplitter im Internet und solange die .hex-Datei recht einfach ist, können Sie die geteilte Datei beispielsweise direkt mit Notepad++ oder Hexedit (bessere Lösung für Rohdateien) lesen. Vielleicht 128 KB jeder einzelnen geteilten Datei oder 256 Spitzen können ein korrektes Volumen sein. Theoretisch müssten Sie nicht die gesamte Platine mit Strom versorgen, sondern nur den EPCS-Chip. Übrigens,
Wenn es nur um ein Kopieren/Einfügen des Konfigurationsspeichers geht, sollte es reichen. Ich möchte das für mein DE10-Nano-Kit tun. Hem, ich habe alles, was ich dazu brauche: Arduino, Speicherkarte, Schild, Drähte ... werde ich wahrscheinlich bald versuchen.
Wenn es sich um ein Reverse Engineering handelt, wünsche ich Ihnen viel Glück!
schell
Roman Matwejew