Flasher le firmware avec l'outil CH347
Écrire une image .bin sur une carte 75T ou 100T avec CH347FpgaDownloadTool : organisation du dossier, choix du modèle de FPGA, port à utiliser et vérification après le flash.
Réponse courte
Placez le .bin dans le dossier CH347FPGATool. Lancez CH347FpgaDownloadTool.exe avec le câble branché sur le port JTAG de la carte. Sélectionnez xc7a75t ou xc7a100t selon votre carte. Passez le format de fichier sur BIN avant de programmer. Une fois le flash réussi, éteignez puis rallumez le PC de jeu, déplacez le câble vers le port de données et lancez un test de connexion.
Sur cette page11
Ce que le flash écrit réellement
Le CH347 présent sur votre carte est un pont USB de WCH qui expose un port JTAG par USB. L'outil de flash emprunte ce chemin JTAG pour écrire votre image de firmware dans la puce de flash SPI voisine du FPGA. Rien n'est écrit dans le FPGA lui-même d'une manière qui survive à la coupure du courant : à chaque mise sous tension, le FPGA lit la flash et se configure avec ce qu'il y trouve. Tout le mécanisme tient là, et c'est pourquoi une mauvaise image donne une carte qui n'apparaît plus, pas une carte détruite.
Chemins, outils et noms de fichiers
Les noms sont donnés à la lettre près, parce que c'est ici qu'une faute de frappe coûte une soirée. Utilisez les fichiers livrés avec votre commande ou pris dans la ressource Downloads, pas sur un miroir trouvé au hasard.
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)Avant d'ouvrir l'outil
Six points. Chacun correspond à un ticket de support qu'il n'était pas nécessaire d'ouvrir.
- Vous savez si votre carte est une 75T ou une 100T — lisez le marquage du FPGA, ne vous fiez pas à l'annonce
- L'image que vous vous apprêtez à flasher a été compilée pour cette carte et pour ce DNA ID
- Le pilote CH347 ou WCH est installé sur le second PC
- Le câble est un câble USB certifié données, branché sur le port JTAG de la carte et sur un port USB arrière
- La carte est alimentée — sur la plupart des modèles, cela veut dire installée dans le PC de jeu, PC de jeu allumé
- Rien d'autre sur le second PC ne retient le périphérique USB : le logiciel de lecture et MemProcFS sont fermés
Le flash, dans l'ordre
N'improvisez pas l'ordre. Le choix du modèle et celui du format doivent être corrects avant que vous ne désigniez le fichier, car certaines versions de l'outil réinitialisent le chemin du fichier dès que vous touchez à l'un ou à l'autre.
- Copiez le dossier CH347FPGATool là où le chemin est court, puis déposez-y votre image .bin
- Déplacez le câble USB vers le port JTAG de la carte, sur un port USB arrière du second PC
- Lancez CH347FpgaDownloadTool.exe — en tant qu'administrateur si l'outil annonce qu'il ne peut pas ouvrir le périphérique
- Dans le champ FPGA, sélectionnez le modèle qui correspond à votre puce : xc7a75t ou xc7a100t
- Passez le sélecteur de format de fichier de BIT à BIN
- Cliquez sur le bouton de sélection de fichier et choisissez votre image .bin
- Lancez la programmation et ne touchez plus à la machine — comptez plusieurs minutes
- Attendez que l'outil annonce lui-même la réussite avant de toucher à quoi que ce soit
Attention
Se tromper de modèle de FPGA
Le sélecteur de modèle indique à l'outil quel composant JTAG il doit trouver. Un 100T sélectionné face à une puce 75T échoue normalement à ouvrir la chaîne et refuse de programmer, parce que l'IDCODE JTAG ne correspond pas. N'y voyez pas un filet de sécurité. Partez du principe qu'une erreur de modèle est une opération de récupération, vérifiez le marquage du FPGA sur la carte avant de sélectionner quoi que ce soit, et si vous n'arrivez pas à le lire, demandez au support plutôt que de deviner entre deux options.
Attention
N'interrompez pas un flash en cours
Pendant que l'outil écrit, la puce de flash ne contient ni l'ancienne image ni la nouvelle. Débrancher le câble, mettre le second PC en veille ou couper l'alimentation du PC de jeu à cet instant est la seule action de tout ce guide qui produit de façon fiable une carte qui ne s'énumère plus. Désactivez d'abord la veille sur le second PC s'il s'endort vite.
À quoi ressemble un flash réussi
L'autorité ici, c'est l'outil, pas les LED de la carte. Sur une carte DMA, les LED indiquent en général l'alimentation et l'activité, et elles s'allumeront même avec une image corrompue en flash.
- Durée
- Plusieurs minutes pour une image complète. Un flash qui se termine en quelques secondes n'a rien écrit
- Sortie de l'outil
- Une ligne explicite de fin ou de réussite, sans aucune ligne d'erreur au-dessus
- Progression
- Une barre de progression arrivée au bout, et non bloquée en cours de route
- Ce qui ne prouve rien
- Les LED de la carte. Elles disent alimentée, pas configurée
- Étape suivante
- Arrêt complet du PC de jeu, pas un redémarrage. Le slot doit perdre son alimentation
La vérification ensuite
Un flash n'est pas vérifié tant que la carte n'est pas revenue comme périphérique PCIe et qu'un logiciel de lecture n'arrive pas à lui parler. Six étapes, dans cet ordre.
- Éteignez complètement le PC de jeu, attendez dix secondes, puis rallumez-le
- Déplacez le câble USB du port JTAG vers le port DATA de la carte
- Sur le second PC, vérifiez que le périphérique de données FTDI apparaît dans le Gestionnaire de périphériques, sans triangle d'avertissement
- Lancez le test de connexion fourni avec votre commande et vérifiez qu'il atteint la carte
- Lisez le DNA ID et vérifiez qu'il correspond à celui pour lequel l'image a été compilée
- Seulement ensuite, lancez ce qui lit réellement la mémoire
Quand le flash échoue
Descendez la liste. Le correctif de chaque ligne coûte moins cher que celui de la ligne suivante, alors ne commencez pas par supposer que la carte est morte.
| Symptôme | Cause probable | Solution |
|---|---|---|
| L'outil ne peut pas ouvrir le périphérique, ou n'en liste aucun | Le câble est sur le port de données, le pilote CH347 manque, ou un autre processus retient le périphérique | Déplacez le câble vers le port JTAG, installez le pilote CH347 ou WCH, fermez le logiciel de lecture et MemProcFS, puis lancez l'outil en tant qu'administrateur |
| La chaîne JTAG s'ouvre mais le modèle ne correspond pas | xc7a100t sélectionné sur une carte 75T, ou l'inverse | Lisez le marquage du FPGA sur la carte et sélectionnez le modèle correspondant. Ne programmez pas tant que la chaîne n'annonce pas le composant attendu |
| La programmation démarre puis s'arrête sur une erreur en cours de route | Liaison USB à la limite, hub ou connecteur de façade dans le chemin, ou second PC mis en veille pendant l'écriture | Passez en direct sur un port USB arrière avec un câble court certifié données, désactivez la veille, puis reprenez le flash depuis le début |
| Le flash annonce une réussite mais la carte ne s'énumère toujours pas | L'image a été compilée pour une autre carte ou un autre DNA ID, ou le PC de jeu a seulement été redémarré | Faites un démarrage à froid du PC de jeu, avec extinction complète au préalable. Si elle n'apparaît toujours pas, vérifiez le nom de fichier de l'image face à votre commande avant de reflasher |
| La carte s'énumère mais le logiciel de lecture ne se connecte pas | Le câble est resté sur le port JTAG, ou le pilote de données FTDI manque | Passez sur le port de données et installez le pilote FTDI D3XX sur le second PC. C'est un problème de pilote, pas de firmware |
| Plus rien du tout après une écriture interrompue | La flash contient une image partielle, donc la configuration du FPGA ne va jamais au bout | Reflashez la bonne image par le même port JTAG. JTAG ne dépend pas du contenu de la flash, donc cela se récupère normalement |
Questions sur le flash
Puis-je flasher depuis le PC de jeu plutôt que depuis le second PC ?
Non. L'outil parle à la carte en USB par le port JTAG, et ce câble a sa place sur le second PC. Le seul rôle du PC de jeu est d'alimenter le slot.
BIT ou BIN ?
BIN. Le réglage BIT configure directement le FPGA et disparaît à la coupure du courant. Les images de firmware des cartes DMA s'écrivent dans la flash SPI, ce qui correspond au chemin BIN.
Combien de temps doit durer un flash ?
Plusieurs minutes pour une image complète. Si l'outil annonce la fin au bout de deux secondes, il n'a presque certainement rien écrit : vérifiez le sélecteur de format et le chemin du fichier.
Faut-il effacer la flash au préalable ?
Non. L'outil gère l'effacement dans le cadre de la programmation. Les étapes d'effacement manuel tirées des tutoriels FPGA génériques sont inutiles ici et ouvrent une fenêtre pendant laquelle la carte n'a plus aucune image.
Puis-je reflasher deux fois la même image ?
Oui, et c'est sans danger. Reflasher est un premier réflexe raisonnable quand une carte se comporte bizarrement après une écriture interrompue, parce que cela lève tout doute sur ce qui se trouve en flash.
Sources
L'organisation du dossier, l'ordre des étapes et le tableau des erreurs viennent de nous. Ils sortent du flash de ces cartes et des tickets.
- 01AMD/Xilinx UG910, Vivado Design Suite User Guide: Getting Started
le déroulé de programmation d'un composant : une configuration écrite directement dans le FPGA disparaît à la coupure du courant, alors que l'image écrite en flash, elle, reste
docs.amd.com
- 02AMD/Xilinx DS180, 7 Series FPGAs Data Sheet: Overview
que xc7a75t et xc7a100t sont deux composants Artix-7 différents, et que le sélecteur de modèle doit donc correspondre à la puce présente sur la carte
docs.amd.com
À lire ensuite
Toujours bloqué ? Ouvrir un ticket sur Discord
Tous les guides