Firmware mit dem CH347-Tool flashen
Ein .bin-Image mit dem CH347FpgaDownloadTool auf eine 75T- oder 100T-Karte schreiben: Ordnerstruktur, die richtige FPGA-Bezeichnung, der passende Port und die Kontrolle nach dem Flashen.
Kurze Antwort
Leg die .bin-Datei in den Ordner CH347FPGATool. Starte CH347FpgaDownloadTool.exe mit dem Kabel im JTAG-Port der Karte. Wähl xc7a75t oder xc7a100t passend zu deiner Platine. Stell das Dateiformat auf BIN, bevor du schreibst. Nach einem erfolgreichen Durchlauf schaltest du den Spiele-PC komplett aus und wieder ein, steckst das Kabel in den Daten-Port und startest einen Verbindungstest.
Auf dieser Seite11
- Was beim Flashen tatsächlich geschrieben wird
- Pfade, Tools und Dateinamen
- Bevor du das Tool öffnest
- Das Flashen, der Reihe nach
- Der falsch ausgewählte FPGA-Baustein
- Unterbrich einen laufenden Schreibvorgang nicht
- Woran du einen erfolgreichen Schreibvorgang erkennst
- Die Kontrolle danach
- Wenn das Flashen fehlschlägt
- Fragen zum Flashen
- Quellen
Was beim Flashen tatsächlich geschrieben wird
Der CH347 auf deiner Karte ist eine USB-Brücke von WCH, die einen JTAG-Port über USB bereitstellt. Das Flash-Tool schreibt dein Firmware-Image über diesen JTAG-Weg in den SPI-Flash-Chip neben dem FPGA. Ins FPGA selbst wird nichts so geschrieben, dass es einen Stromausfall überlebt — bei jedem Einschalten liest das FPGA den Flash und konfiguriert sich aus dem, was es dort findet. Das ist der ganze Mechanismus, und deshalb bedeutet ein fehlerhaftes Image eine Karte, die nicht auftaucht, und keine zerstörte Karte.
Pfade, Tools und Dateinamen
Die Namen stehen exakt so da, weil ein Tippfehler hier einen ganzen Abend kostet. Nimm die Dateien aus deiner Bestellung oder aus dem Downloads-Bereich und nicht von einem beliebigen Spiegelserver.
C:\CH347FPGATool\
C:\CH347FPGATool\CH347FpgaDownloadTool.exe
C:\CH347FPGATool\your-order-image.bin
FPGA part selector: xc7a75t (75T boards)
FPGA part selector: xc7a100t (100T boards)
File format selector: BIN (not BIT)Bevor du das Tool öffnest
Sechs Punkte. Jeder davon ist ein Support-Ticket, das niemand hätte öffnen müssen.
- Du weißt, ob deine Platine eine 75T oder eine 100T ist — lies die Beschriftung auf dem FPGA und verlass dich nicht auf das Angebot
- Das Image, das du gleich flashst, wurde für diese Platine und diese DNA ID gebaut
- Der CH347- oder WCH-Treiber ist auf dem Zweit-PC installiert
- Das Kabel ist ein echtes USB-Datenkabel und steckt im JTAG-Port der Karte und in einem USB-Port an der Rückseite
- Die Karte hat Strom — bei den meisten Platinen heißt das: im Spiele-PC gesteckt und der Spiele-PC läuft
- Nichts anderes auf dem Zweit-PC belegt das USB-Gerät: Reader-Software und MemProcFS sind geschlossen
Das Flashen, der Reihe nach
Improvisier die Reihenfolge nicht. Die Auswahl des Bausteins und die des Formats müssen beide stimmen, bevor du die Datei wählst, denn manche Versionen des Tools setzen den Dateipfad zurück, sobald du eines von beiden änderst.
- Kopier den Ordner CH347FPGATool an eine Stelle mit kurzem Pfad und leg dein .bin-Image hinein
- Steck das USB-Kabel in den JTAG-Port der Karte, an einem USB-Port an der Rückseite des Zweit-PC
- Starte CH347FpgaDownloadTool.exe — als Administrator, falls das Tool meldet, dass es das Gerät nicht öffnen kann
- Wähl im FPGA-Feld den Baustein, der zu deinem Silizium passt: xc7a75t oder xc7a100t
- Stell die Formatauswahl von BIT auf BIN um
- Klick auf die Dateischaltfläche und wähl dein .bin-Image aus
- Starte den Schreibvorgang und lass den Rechner in Ruhe — rechne mit mehreren Minuten
- Warte auf die Erfolgsmeldung des Tools, bevor du irgendetwas anfasst
Achtung
Der falsch ausgewählte FPGA-Baustein
Die Bausteinauswahl sagt dem Tool, welches JTAG-Gerät es erwarten soll. Ein 100T, das gegen 75T-Silizium ausgewählt wird, kann die Kette normalerweise nicht öffnen und verweigert das Schreiben, weil der JTAG-IDCODE nicht passt. Behandle das nicht als Sicherheitsnetz. Geh davon aus, dass eine Verwechslung eine Rettungsaktion nach sich zieht, prüf die FPGA-Beschriftung auf der Platine, bevor du irgendetwas auswählst, und wenn du sie nicht lesen kannst, frag den Support, statt zwischen zwei Optionen zu raten.
Achtung
Unterbrich einen laufenden Schreibvorgang nicht
Während das Tool schreibt, enthält der Flash-Chip weder das alte noch das neue Image. Das Kabel zu ziehen, den Zweit-PC schlafen zu legen oder dem Spiele-PC in diesem Moment den Strom zu nehmen, ist die eine Handlung in dieser ganzen Anleitung, die zuverlässig eine Karte erzeugt, die sich nicht mehr meldet. Schalte den Energiesparmodus am Zweit-PC vorher ab, wenn er dazu neigt.
Woran du einen erfolgreichen Schreibvorgang erkennst
Maßgeblich ist hier das Tool und nicht die LEDs der Karte. LEDs auf einer DMA-Platine zeigen meistens Strom und Aktivität an und leuchten auch mit einem beschädigten Image im Flash.
- Dauer
- Mehrere Minuten für ein vollständiges Image. Ein Durchlauf, der in Sekunden fertig ist, hat nichts geschrieben
- Ausgabe des Tools
- Eine ausdrückliche Zeile über Abschluss oder Erfolg, ohne Fehlerzeilen darüber
- Fortschritt
- Eine Fortschrittsanzeige, die bis zum Ende gelaufen ist, statt auf halbem Weg stehen zu bleiben
- Kein Beleg
- Die LEDs auf der Karte. Sie sagen, dass Strom da ist, nicht dass die Karte konfiguriert ist
- Nächster Schritt
- Den Spiele-PC komplett herunterfahren, nicht neu starten. Der Slot muss stromlos werden
Die Kontrolle danach
Ein Flash gilt erst dann als geprüft, wenn die Karte wieder als PCIe-Gerät auftaucht und ein Reader mit ihr sprechen kann. Sechs Schritte, in dieser Reihenfolge.
- Fahr den Spiele-PC komplett herunter, warte zehn Sekunden und schalte ihn wieder ein
- Steck das USB-Kabel vom JTAG-Port in den DATA-Port der Karte um
- Prüf am Zweit-PC, ob das FTDI-Datengerät ohne Warndreieck im Geräte-Manager auftaucht
- Starte den Verbindungstest aus deiner Bestellung und bestätige, dass er die Karte erreicht
- Lies die DNA ID aus und prüf, ob sie zu der ID passt, gegen die das Image gebaut wurde
- Erst danach startest du etwas, das tatsächlich Speicher liest
Wenn das Flashen fehlschlägt
Arbeite die Liste von oben nach unten ab. Die Lösung jeder Zeile kostet weniger als die darunter, fang also nicht damit an, die Karte für tot zu erklären.
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
| Das Tool kann das Gerät nicht öffnen oder listet gar kein Gerät auf | Das Kabel steckt im Daten-Port, der CH347-Treiber fehlt, oder ein anderer Prozess belegt das Gerät | Steck das Kabel in den JTAG-Port, installier den CH347- oder WCH-Treiber, schließ Reader-Software und MemProcFS und starte das Tool dann als Administrator |
| Die JTAG-Kette öffnet sich, aber der Baustein passt nicht | xc7a100t auf einer 75T-Platine ausgewählt, oder umgekehrt | Lies die FPGA-Beschriftung auf der Platine und wähl den passenden Baustein. Schreib nichts, solange die Kette nicht das erwartete Gerät meldet |
| Der Schreibvorgang startet und bricht unterwegs mit einem Fehler ab | Wackelige USB-Verbindung, ein Hub oder Front-Anschluss im Weg, oder der Zweit-PC ist mitten im Schreiben eingeschlafen | Geh mit einem kurzen echten Datenkabel direkt an einen USB-Port an der Rückseite, schalte den Energiesparmodus ab und wiederhol das Flashen von vorn |
| Das Tool meldet Erfolg, die Karte taucht trotzdem nicht auf | Das Image wurde für eine andere Platine oder eine andere DNA ID gebaut, oder der Spiele-PC wurde nur neu gestartet | Starte den Spiele-PC kalt, also nach komplettem Ausschalten. Taucht sie immer noch nicht auf, gleich den Dateinamen des Images mit deiner Bestellung ab, bevor du erneut flashst |
| Die Karte taucht auf, aber der Reader bekommt keine Verbindung | Das Kabel steckt noch im JTAG-Port, oder der FTDI-Datentreiber fehlt | Wechsel auf den Daten-Port und installier den FTDI-D3XX-Treiber auf dem Zweit-PC. Das ist ein Treiberproblem und kein Firmware-Problem |
| Nach einem abgebrochenen Schreibvorgang gar nichts mehr | Im Flash liegt ein unvollständiges Image, deshalb kommt die FPGA-Konfiguration nie zu Ende | Flash das richtige Image erneut über denselben JTAG-Port. JTAG hängt nicht vom Inhalt des Flash ab, deshalb lässt sich das normalerweise retten |
Fragen zum Flashen
Kann ich vom Spiele-PC aus flashen statt vom Zweit-PC?
Nein. Das Tool spricht über USB am JTAG-Port mit der Karte, und dieses Kabel gehört an den Zweit-PC. Die einzige Aufgabe des Spiele-PC ist, den Slot mit Strom zu versorgen.
BIT oder BIN — was ist richtig?
BIN. Die Einstellung BIT konfiguriert das FPGA direkt, und das geht beim Ausschalten verloren. Firmware-Images für DMA-Karten werden in den SPI-Flash geschrieben, und das ist der BIN-Weg.
Wie lange sollte das Flashen dauern?
Mehrere Minuten für ein vollständiges Image. Meldet das Tool nach ein paar Sekunden, es sei fertig, hat es fast sicher nichts geschrieben — prüf die Formatauswahl und den Dateipfad.
Muss ich den Flash vorher löschen?
Nein. Das Tool erledigt das Löschen als Teil des Schreibens. Manuelle Löschschritte aus allgemeinen FPGA-Tutorials sind hier nicht nötig und schaffen nur ein Zeitfenster, in dem die Karte überhaupt kein Image hat.
Kann ich dasselbe Image zweimal flashen?
Ja, und es schadet nicht. Erneut zu flashen ist ein vernünftiger erster Schritt, wenn sich eine Karte nach einem abgebrochenen Schreibvorgang seltsam verhält, weil es jeden Zweifel darüber ausräumt, was im Flash liegt.
Quellen
Ordnerstruktur, Reihenfolge der Schritte und die Fehlertabelle stammen von uns. Sie kommen daher, dass wir diese Karten selbst flashen, und aus Tickets.
- 01AMD/Xilinx UG910, Vivado Design Suite User Guide: Getting Started
der Ablauf beim Programmieren eines Bausteins: eine direkt ins FPGA geschriebene Konfiguration geht beim Ausschalten verloren, das Image im Flash bleibt erhalten
docs.amd.com
- 02AMD/Xilinx DS180, 7 Series FPGAs Data Sheet: Overview
dass xc7a75t und xc7a100t unterschiedliche Artix-7-Bausteine sind und die Auswahl im Tool deshalb zum Silizium passen muss
docs.amd.com
Weiterlesen
Kommst du nicht weiter? Ticket auf Discord öffnen
Alle Anleitungen