Démarrage sans installation - ULX3S
Le moyen le plus rapide d’essayer Hazard3-Doom sur une ULX3S 85F consiste à utiliser les fichiers précompilés du projet et le Device Tool dans le navigateur. Cette méthode ne nécessite ni clonage du dépôt, ni Yosys, ni nextpnr, ni compilateur RISC-V, ni scripts Python d’upload, ni OpenOCD, ni GDB.
Cette page programme temporairement le FPGA, charge Doom en SDRAM et le démarre. La procédure ne modifie pas la flash SPI de l’ULX3S : l’image FPGA est donc perdue à la mise hors tension.
Note
Ce chemin uniquement dans le navigateur est l’exception à l’exigence WSL du
projet : WSL n’est pas requis pour utiliser sous Windows l’image ULX3S
précompilée. Un navigateur récent basé sur Chromium, comme Chrome ou Edge,
est requis. Le FT231X du port US1 de l’ULX3S peut devoir utiliser le
pilote WinUSB avant que WebUSB puisse y accéder. Si vous construisez ou
modifiez ensuite le projet depuis les sources sous Windows, utilisez
WSL/Ubuntu. Voir Flasher FPGA WebUSB.
Matériel et fichiers nécessaires
une carte ULX3S 85F ;
un écran HDMI ;
la connexion USB
US1de l’ULX3S pour la programmation WebUSB du FPGA ;un adaptateur USB-vers-UART externe connecté à l’UART Hazard3-Doom ;
les fichiers précompilés
.bitet.h3imgcorrespondant à la carte ;un IWAD Doom obtenu légalement, par exemple
DOOM.WADouDOOM1.WAD.
Pour une installation matérielle compacte, le panneau HDMI Elecrow de sept pouces est un exemple documenté avec un boîtier ULX3S optionnel imprimable en 3D. Le boîtier est spécifique à ce panneau, mais Hazard3-Doom ne l’est pas ; un autre écran HDMI peut être utilisé s’il accepte la temporisation vidéo générée. Voir Vidéo, micro-SD et stockage d’exécution pour les détails.
Voir Brochages des cartes et câblage pour les connexions UART et Outil Web pour les périphériques pour la référence complète du Device Tool.
1. Télécharger les fichiers précompilés
Le répertoire bin/ du dépôt est la source recommandée pour les images
précompilées publiées par le projet :
Parcourir le répertoire bin de Hazard3-Doom
Utilisez bin/INVENTORY.md et l’inventaire des sommes de contrôle associé pour
identifier les fichiers publiés et leur rôle :
Sélectionnez la paire correspondant au FPGA de la carte :
Carte |
Image FPGA |
Image Doom H3IMG |
|---|---|---|
ULX3S 85F |
|
|
ULX3S 12F |
|
|
Ne mélangez pas des fichiers provenant de profils de carte différents. Le
flasher du navigateur sonde l’identifiant JTAG ECP5 physique et refuse un
fichier .bit dont la cible intégrée ne correspond pas au FPGA détecté.
Fichiers précompilés ULX3S publiés dans le répertoire bin/ du dépôt,
avec INVENTORY.md pour l’identification et la vérification.
Builds récents de GitHub Actions
Le workflow GitHub Actions Board integration builds fournit également les sorties des builds récents réussis :
Ouvrir Board integration builds
Ouvrez une exécution réussie et téléchargez l’artifact correspondant exactement
au profil de carte voulu. Ces artifacts conviennent aux tests d’un build CI
récent, mais ne constituent pas un emplacement de téléchargement permanent :
ils ont une durée de rétention et disparaissent lorsque l’exécution ou l’artifact
expire ou est supprimé. Les fichiers publiés dans bin/ sont donc le choix le
plus simple pour un premier essai.
Le workflow Board integration builds peut aussi fournir des artefacts ULX3S récents pour les essais.
2. Ouvrir le Device Tool
Ouvrez l’application hébergée :
Pour cette méthode sans installation, toutes les opérations nécessaires sont
réalisées directement dans le navigateur. web-server.py, OpenOCD et GDB ne
sont pas requis ; ils servent uniquement au workflow facultatif de chargement
et de débogage du firmware console ELF.
3. Programmer la SRAM du FPGA
Connectez le port USB US1 de l’ULX3S, puis dans le Device Tool :
Développez Device uploading.
Développez FPGA web flasher.
Sélectionnez le fichier
.bitcorrespondant.Choisissez Connect ULX3S USB et sélectionnez le périphérique FTDI ULX3S.
Choisissez Probe JTAG et vérifiez le FPGA détecté.
Choisissez Program FPGA SRAM.
Attendez que le journal indique la réussite de la programmation.
La configuration FPGA est volatile. Un cycle d’alimentation restaure la configuration persistante normale de la carte.
Le programmateur FPGA du navigateur après la sonde JTAG et la sélection du
fichier .bit ULX3S approprié.
4. Connecter l’UART
Hazard3-Doom utilise le connecteur GPIO J1 de l ULX3S pour son UART
externe. Utilisez un adaptateur USB-vers-UART 3,3 V et croisez TX/RX :
USB-UART TXD -> J1 pin 6 / GP0 / B11 -> Hazard3 uart_rx
USB-UART RXD <- J1 pin 8 / GP1 / A10 <- Hazard3 uart_tx
USB-UART GND -> ULX3S GND
USB-UART VCC -> non connecté
UART Hazard3-Doom sur ULX3S – GP0 est l entrée de réception du FPGA et GP1 est la sortie de transmission du FPGA.
Développez Serial connection et connectez-vous avec les paramètres Hazard3-Doom habituels :
115200 baud
8 data bits
no parity
1 stop bit
no flow control
Le moniteur résident est déjà intégré à l image FPGA Hazard3-Doom normale de
l ULX3S 85F. Un démarrage réussi affiche la bannière du moniteur puis l invite
>. Il n est pas nécessaire de charger hazard3-boot-monitor.elf pour
cette procédure.
Si aucune invite n apparaît, voir Dépannage et Console Web Serial et capture d’écran HDMI avant de continuer.
5. Charger l’image Doom H3IMG
Sous Device uploading, développez Doom H3IMG uploader :
Sélectionnez le fichier
hazard3-doom-*.h3imgcorrespondant.Choisissez Upload H3IMG.
Attendez que le moniteur accepte l’image.
Conservez toujours l’image H3IMG du même profil de carte que le fichier .bit.
Envoi de l’image hazard3-doom-*.h3img correspondant à la carte via le
Device Tool.
6. Charger votre IWAD Doom
Développez Doom IWAD uploader et sélectionnez votre fichier .wad obtenu
légalement. Choisissez le profil mémoire correspondant au moniteur résident :
Carte |
Profil mémoire |
|---|---|
ULX3S 85F |
|
ULX3S 12F |
|
Choisissez Upload IWAD. Pour lancer Doom automatiquement après le transfert, activez Launch with ``j`` after upload avant de démarrer l’upload.
Le projet ne distribue pas l’IWAD commercial de Doom. Vous devez fournir votre propre IWAD obtenu légalement.
Envoi d’un IWAD Doom avec le profil mémoire du moniteur approprié et le lancement automatique optionnel activé.
7. Vérifier le démarrage de Doom
Un upload et un lancement corrects produisent des messages similaires à :
H3L READY
H3L DATA
H3L OK
H3W READY
H3W DATA
H3W OK
Doom SDRAM image startup
monitor ABI: PASS
Doom interactive HDMI loop: READY
Doom doit maintenant être visible en HDMI et le terminal du navigateur peut rester connecté pour les commandes du moniteur et les diagnostics.
Doom en cours d’exécution après une programmation FPGA réussie et les uploads H3IMG et IWAD.
Ce que cette méthode n’installe pas
Cette procédure évite volontairement l’environnement de développement. Elle n’installe et ne nécessite pas Yosys, nextpnr, Project Trellis, une chaîne GCC RISC-V, le checkout Hazard3-Doom et ses submodules, les scripts d’upload en ligne de commande, ni OpenOCD/GDB pour le chemin normal moniteur/H3IMG/IWAD.
Pour reconstruire ou modifier le FPGA, le firmware du moniteur ou l’image Doom, continuez avec Démarrage rapide depuis les sources et Construire Hazard3-Doom.
ULX3S 12F
L’ULX3S 12F utilise un démarrage compact en deux étapes, car le moniteur complet ne tient pas dans la petite mémoire de démarrage interne disponible sur le 12F. Son image FPGA contient un bootstrap UART de 1 Kio qui confirme que le FPGA fonctionne ; le moniteur complet est ensuite chargé en SDRAM externe.
Après avoir programmé fpga_ulx3s_12f.bit ou l’image 12F précompilée
correspondante, connectez l’UART à 115200 bauds. Le bootstrap affiche une courte
bannière et demande d’exécuter:
./scripts/load-firmware-12f.sh
Cet outil démarre ou réutilise OpenOCD, charge en SDRAM l’ELF du moniteur propre à la carte, le vérifie et le démarre. Le chemin 12F nécessite donc un checkout local de Hazard3-Doom avec les outils OpenOCD/GDB fournis ou installés ; il ne fait pas partie du chemin entièrement basé sur le navigateur ci-dessus. Voir Démarrage rapide depuis les sources, Construire Hazard3-Doom et Débogage JTAG.
ULX4M-LD
Les images précompilées ULX4M-LD évitent également un build FPGA local, mais la méthode de programmation actuelle utilise encore des outils DFU sur l’hôte. Elle n’est donc pas équivalente à la méthode ULX3S entièrement basée sur le navigateur décrite ici. Voir Programmation et démarrage persistant.
Documentation associée
Outil Web pour les périphériques - référence complète du Device Tool.
Flasher FPGA WebUSB - WebUSB ULX3S, WinUSB, contrôles de cible et dépannage.
Console Web Serial et capture d’écran HDMI - fonctionnement et dépannage UART/Web Serial.
Brochages des cartes et câblage - connexions UART et JTAG de l’ULX3S.
Démarrage rapide depuis les sources - installer les outils de développement et tout construire depuis les sources.
Programmation et démarrage persistant - méthodes de programmation temporaire et persistante.