🔧 PiDebugger v2.1 - Multi-Target ARM Debugger
🔧 PiDebugger v2.1
🍓 Pi Zero W + 🔲 HyperPixel 2.1” Round 480×480 = 🎯 Multi-Target ARM Debugger
Outil portable basé sur Raspberry Pi Zero W et écran HyperPixel 2.1” Round (480×480 @ 60fps) pour le debug, monitoring et installation de plateformes SoC ARM Marvell/Globalscale.
🎯 Targets Supportés
| Emoji | Target | SoC | CPU | RAM | Réseau |
|---|---|---|---|---|---|
| ☕ | ESPRESSObin V7 | Armada 3720 | 2×Cortex-A53 @ 1.0GHz | 1-2GB DDR4 | 3×GbE |
| 🚀 | ESPRESSObin Ultra | Armada 3720 | 2×Cortex-A53 @ 1.2GHz | 1GB DDR4 | 1WAN+4LAN PoE |
| 🍫 | MOCHAbin | Armada 7040 | 4×Cortex-A72 @ 1.4GHz | 2-8GB DDR4 | 10G SFP+ 4×GbE |
| 🔌 | Sheeva64 | Armada 3720 | 2×Cortex-A53 @ 1.2GHz | 1GB DDR4 | 2×GbE |
✨ Fonctionnalités principales
| Emoji | Fonction | Description |
|---|---|---|
| 🕐 | Horloge | Écran de veille avec heure/date et status |
| 📊 | Dashboard | Menu principal avec 9 boutons circulaires |
| 💻 | Terminal UART | Moniteur série temps réel coloré avec parser ATF |
| 🚀 | Boot Analyzer | Timeline circulaire + Hardware info + ATF stages |
| 🔋 | Power Control | Sélection target + alimentation USB + graphiques V/A |
| 📁 | File Browser | Explorateur USB Mass Storage + export logs |
| 🌐 | Network | Status/WiFi/TFTP avec authentification WPA2/WPA3 |
| 📤 | XMODEM | Transfert fichiers via UART (CRC-16, 128B packets) |
| 🛡️ | UEFI Shell | 6 commandes interactives |
| ⚙️ | Settings | 4 thèmes + sons + gestures + stats système |
🏷️ Légende des emojis
📊 Status
- ✅ OK / Succès
- ❌ Erreur
- ⚠️ Warning
- 🟢 Actif / ON
- 🔴 Inactif / OFF
- 🟡 Standby
- 🔄 En cours
🔲 Hardware
- 🍓 Raspberry Pi (Master)
- ☕ ESPRESSObin V7
- 🚀 ESPRESSObin Ultra
- 🍫 MOCHAbin
- 🔌 Sheeva64
- ⚡ CPU / Power
- 💾 RAM / Storage
- 🔌 USB
- 📡 Serial/UART
- 🌐 Network
- 🔋 Power
- 🧠 SoC/Chip
🚀 Boot Stages
- 🔒 BootROM
- 🔑 WTMI
- 🛡️ ATF (ARM Trusted Firmware)
- 📦 SPL (Secondary Program Loader)
- 🥾 U-Boot
- 🐧 Linux Kernel
- 👤 Login
🔗 USB & Connexions
- 🔗 USB Gadget (composite device)
- 📟 TTY Serial (/dev/ttyGS0)
- 📡 UART liaison série
- 📥 RX (réception données)
- 📤 TX (envoi données)
- 📶 Signal WiFi
- 🎯 Target (cible SoC)
🎬 Actions
- ▶️ Play / Run
- ⏸️ Pause / Stop
- 🔄 Restart / Loading
- ◀️ Back (retour)
- 🧹 Clear (effacer)
- 🔍 Search (recherche)
🏗️ Architecture du projet
1 | ┌─────────────────────────────────────────────────────────┐ |
Séquences de Boot par Target
Armada 3720 (ESPRESSObin/Ultra/Sheeva64):
1 | 🔒 BootROM → 🔑 WTMI (CM3) → 🛡️ ATF (BL1/BL2/BL31) → 📦 SPL → 🥾 U-Boot → 🐧 Linux |
Armada 7040 (MOCHAbin):
1 | 🔒 AP806 BootROM → 🛡️ ATF (BL1/BL2/BL31 PSCI/SCMI) → 📦 SPL → 🥾 U-Boot → 🐧 Linux |
📊 Mini-Dashboards de Status
L’interface affiche en permanence l’état du système via deux mini-dashboards :
🍓 MASTER (Pi Zero W)
| Emoji | Indicateur | Description |
|---|---|---|
| 🔗 | Gadget | USB Gadget composite actif |
| 📟 | TTY | Serial /dev/ttyGS0 disponible |
| 💿 | Storage | Mass Storage 512MB monté |
| 📶 | WiFi | Connexion réseau active |
| 🌡️ | Temp | Température CPU |
🎯 TARGET (SoC Cible)
| Emoji | Indicateur | Description |
|---|---|---|
| 🔋 | Power | Alimentation USB/externe |
| 🔌 | USB | Connexion USB détectée |
| 📡 | Serial | Liaison UART active |
| 🔄/✅/🟡 | State | Booting / Ready / Idle |
📍 Affichage par écran
1 | ┌─ Dashboard ────────────────────────────┐ |
🎯 Targets ARM Supportés
PiDebugger v2.1 supporte 4 plateformes ARM Marvell/Globalscale avec séquences de boot spécifiques.
☕ ESPRESSObin V7
Le board de référence pour le développement Marvell Armada.
| Caractéristique | Valeur |
|---|---|
| SoC | Marvell Armada 3720 (88F3720) |
| CPU | 2× ARM Cortex-A53 @ 1.0 GHz |
| RAM | 1-2 GB DDR4 @ 800 MHz |
| Storage | microSD, eMMC (option), SPI NOR 4MB |
| Network | 3× Gigabit Ethernet (Topaz 6341 Switch) |
| USB | 1× USB 3.0, 1× USB 2.0, micro-USB console |
| Power | 5V/2A micro-USB ou 12V DC jack |
| UART | 115200 8N1 via micro-USB (FTDI) |
Séquence de boot:
1 | 🔒 BootROM → 🔑 WTMI (CM3) → 🛡️ ATF BL1 → BL2 → BL31 → 📦 SPL → 🥾 U-Boot → 🐧 Linux |
Device Tree: armada-3720-espressobin-v7.dts
🚀 ESPRESSObin Ultra
Version améliorée avec PoE et plus de ports réseau.
| Caractéristique | Valeur |
|---|---|
| SoC | Marvell Armada 3720 (88F3720) |
| CPU | 2× ARM Cortex-A53 @ 1.2 GHz |
| RAM | 1 GB DDR4 |
| Storage | 8GB eMMC, microSD, SPI NOR, M.2 2280 |
| Network | 1× WAN PoE 30W + 4× LAN Gigabit (Topaz 6341) |
| WiFi | 802.11ac 2×2 dual-band + BLE 4.2 |
| USB | 1× USB 3.0, 1× USB 2.0 |
| Power | 12V/2A DC ou PoE 30W |
| Form Factor | CPE Gateway avec boîtier |
Séquence de boot:
1 | 🔒 BootROM → 🔑 WTMI → 🛡️ ATF → 📦 SPL → 🥾 U-Boot → 🐧 Linux/OpenWrt |
Device Tree: armada-3720-espressobin-ultra.dts
🍫 MOCHAbin
Board haute performance avec 10G SFP+ et quad-core A72.
| Caractéristique | Valeur |
|---|---|
| SoC | Marvell Armada 7040 (88F7040) |
| CPU | 4× ARM Cortex-A72 @ 1.4 GHz |
| RAM | 2-8 GB DDR4 ECC |
| Storage | 16GB eMMC, SPI NOR 4MB, M.2 SATA, SATA 7+15 |
| Network | 1× 10G SFP+, 1× 1G SFP, 4× GbE (Topaz 88E6141), 1× WAN PoE |
| WiFi | 802.11ax WiFi 6 (option) + 5G LTE (option) |
| USB | 2× USB 3.0 (via hub) |
| Power | 12V/3A DC |
| Expansion | Mini-PCIe, M.2 2280, M.2 2250, MikroBus |
Séquence de boot:
1 | 🔒 AP806 BootROM → 🛡️ ATF BL1 (AP init) → BL2 (CP110) → BL31 (PSCI/SCMI) → 📦 SPL → 🥾 U-Boot → 🐧 Linux |
Device Tree: armada-7040-mochabin.dts
Note: Le 7040 n’a pas de WTMI (Cortex-M3) contrairement au 3720.
🔌 Sheeva64
Format “plug computer” compact avec alimentation intégrée.
| Caractéristique | Valeur |
|---|---|
| SoC | Marvell Armada 3720 (88F3720) |
| CPU | 2× ARM Cortex-A53 @ 1.2 GHz |
| RAM | 1 GB DDR4 |
| Storage | 4GB eMMC, microSD |
| Network | 2× Gigabit Ethernet |
| USB | 2× USB 2.0 Type-A |
| Power | Wall plug intégré (110-240V AC) |
| Console | mini-USB UART |
| WiFi | 802.11ac + BLE 4.2 (option) |
| Form Factor | 110 × 70 × 49mm plug |
Séquence de boot:
1 | 🔒 BootROM → 🔑 WTMI → 🛡️ ATF → 📦 SPL → 🥾 U-Boot → 🐧 Ubuntu 18.04 |
Héritage: Successeur 64-bit du SheevaPlug original (Kirkwood ARMv5).
🔄 Comparatif des Targets
| Feature | ☕ ESPRESSObin | 🚀 Ultra | 🍫 MOCHAbin | 🔌 Sheeva64 |
|---|---|---|---|---|
| Cores | 2×A53 | 2×A53 | 4×A72 | 2×A53 |
| Freq | 1.0 GHz | 1.2 GHz | 1.4 GHz | 1.2 GHz |
| RAM max | 2 GB | 1 GB | 8 GB | 1 GB |
| 10G | ❌ | ❌ | ✅ SFP+ | ❌ |
| PoE | ❌ | ✅ 30W | ✅ | ❌ |
| WiFi | ❌ | ✅ ac | ✅ ax | Option |
| WTMI | ✅ | ✅ | ❌ | ✅ |
| Prix | ~$50 | ~$120 | ~$160 | ~$90 |
🔌 Connexion UART vers Target
1 | Pi Zero W (Master) Target (ESPRESSObin/etc) |
⚡ Contrôle Power USB
Le Pi Zero W peut contrôler l’alimentation du target via :
- Relay USB : Module relay contrôlé par GPIO
- USB Hub programmable : Hub avec contrôle power par port
- INA219 : Mesure V/A en temps réel (I2C)
1 | # Exemple contrôle GPIO relay |
📦 Phase 1 : Préparation du système
📌 1.1 🛒 Matériel requis
| Emoji | Composant | Modèle |
|---|---|---|
| 🍓 | SBC | Raspberry Pi Zero W (avec header GPIO) |
| 🔲 | Écran | Pimoroni HyperPixel 2.1” Round Touch |
| 💾 | Stockage | Carte microSD 16 Go+ (classe 10) |
| 🔌 | Câble | USB data (micro-USB → USB-A) |
| 🔋 | Batterie | LiPo 3.7V + module charge (optionnel) |
📌 1.2 💿 Installation Raspberry Pi OS Lite
1 | # Sur machine hôte - télécharger et flasher |
📌 1.3 Configuration headless initiale
1 | # Activer SSH |
🏭 Phase 1.5 : Factory Boot Mode
Le PiDebugger démarre avec une séquence de boot complète simulant l’initialisation de tous les composants.
📋 Séquence Factory Boot
1 | ┌─────────────────────────────────────────────────────────────┐ |
🔧 Détail phase FACTORY
La phase Factory initialise tous les composants du PiDebugger :
1 | ╔════════════════════════════════════╗ |
📊 Status progressifs pendant le boot
Les indicateurs Master s’allument progressivement :
| Étape | 🔗 Gadget | 📟 TTY | 💿 Storage | 📶 WiFi |
|---|---|---|---|---|
| GPU | 🔴 | 🔴 | 🔴 | 🔴 |
| Kernel | 🟢 | 🔴 | 🔴 | 🔴 |
| Systemd | 🟢 | 🟢 | 🔴 | 🔴 |
| Factory | 🟢 | 🟢 | 🟢 | 🔴 |
| Ready | 🟢 | 🟢 | 🟢 | 🟢 |
⏭️ Bouton SKIP
Un bouton ▶️ SKIP permet de passer directement à l’interface sans attendre la fin du boot.
📌 1.4 Premier boot et mise à jour
1 | # Connexion SSH (trouver l'IP via router ou nmap) |
📋 Phase 2 : Installation driver HyperPixel
📌 2.1 Installation automatique Pimoroni
1 | # Cloner et installer |
📌 2.2 Configuration écran rond
1 | # Vérifier que l'écran fonctionne |
📌 2.3 Test tactile
1 | # Installer evtest |
📋 Phase 3 : Structure du projet Python
📌 3.1 Arborescence
1 | /home/pi/pidebugger/ |
📌 3.2 Création du projet
1 | mkdir -p /home/pi/pidebugger/{ui/screens,ui/themes,serial,analyzers,assets/fonts,assets/icons} |
📋 Phase 4 : Moteur UI circulaire
📌 4.1 Core UI (ui/core.py)
1 | #!/usr/bin/env python3 |
📌 4.2 Écran Horloge (ui/screens/clock.py)
1 | #!/usr/bin/env python3 |
📌 4.3 Écran Dashboard avec Mini-Status (ui/screens/dashboard.py)
1 | #!/usr/bin/env python3 |
📋 Phase 5 : Mode USB Gadget
📌 5.1 Configuration kernel
1 | # Éditer /boot/config.txt |
1 | # Éditer /boot/cmdline.txt - ajouter après rootwait: |
📌 5.2 Module USB Gadget (serial/gadget.py)
1 | #!/usr/bin/env python3 |
📌 5.3 Console série (serial/console.py)
1 | #!/usr/bin/env python3 |
📋 Phase 6 : Analyseurs de boot
📌 6.1 Analyseur U-Boot (analyzers/uboot.py)
1 | #!/usr/bin/env python3 |
📋 Phase 7 : Dashboard principal
📌 7.1 Écran Dashboard (ui/screens/dashboard.py)
1 | #!/usr/bin/env python3 |
📋 Phase 8 : Point d’entrée
📌 8.1 Main (main.py)
1 | #!/usr/bin/env python3 |
📋 Phase 9 : Service systemd
📌 9.1 Créer le service
1 | sudo nano /etc/systemd/system/pidebugger.service |
1 | [Unit] |
📌 9.2 Activer le service
1 | sudo systemctl daemon-reload |
📋 Phase 10 : Contrôle alimentation USB cible
📌 10.1 Architecture USB OTG Power
Le Pi Zero W peut alimenter les cibles EspressoBin/MochaBin via son port USB OTG en mode host avec contrôle VBUS.
1 | ┌─────────────────┐ USB Cable ┌──────────────────┐ |
📌 10.2 Configuration kernel pour USB Host
1 | # /boot/config.txt |
📌 10.3 Module de contrôle alimentation (power/usb_power.py)
1 | #!/usr/bin/env python3 |
📌 10.4 Écran Power Control (ui/screens/power.py)
1 | #!/usr/bin/env python3 |
📌 10.5 Schéma de câblage USB Power
1 | Pour EspressoBin (5V USB): |
📋 Phase 11 : Moniteur série temps réel
📌 10.1 Écran Serial Monitor (ui/screens/serial_monitor.py)
1 | #!/usr/bin/env python3 |
📌 10.2 Widget de visualisation flux (ui/widgets/stream_view.py)
1 | #!/usr/bin/env python3 |
📋 Phase 11 : USB Mass Storage Gadget
📌 11.1 Configuration composite gadget (serial/gadget_composite.py)
1 | #!/usr/bin/env python3 |
📌 11.2 Gestionnaire Armbian/U-Boot (storage/firmware_manager.py)
1 | #!/usr/bin/env python3 |
📋 Phase 12 : Analyseur SPI Boot
📌 12.1 Parser SPI/WTMI (analyzers/spi_boot.py)
1 | #!/usr/bin/env python3 |
📌 12.2 Écran Boot Analyzer (ui/screens/boot_analyzer.py)
1 | #!/usr/bin/env python3 |
📋 Phase 13 : Démo interactive
📌 13.1 Fonctionnalités de la démo
La démo interactive HTML/React inclut toutes les fonctionnalités :
| Écran | Emoji | Fonctionnalités |
|---|---|---|
| 🏭 Factory Boot | 🍓 | Séquence boot Pi Zero avec status progressifs |
| 🕐 Clock | 🕐 | Horloge analogique + mini-status bar |
| 📊 Dashboard | 🔧 | Menu radial + mini-dashboards Master/Target |
| 💻 Serial Monitor | 💻 | Logs colorés + status bar + stats RX |
| 📈 Boot Timeline | 🚀 | Arcs colorés par stage + infos hardware |
| 🔋 Power Control | 🔋 | Bouton ON/OFF + voltage/current/uptime |
| 📁 Files | 💿 | Explorateur arborescence USB storage |
📌 13.2 Mini-Dashboards dans la démo
Chaque écran affiche les status Master/Target :
1 | // Status Master (Pi Zero) |
📌 13.3 Intégration dans Hexo
Il y a plusieurs méthodes pour intégrer la démo interactive dans un article Hexo :
Méthode 1 : iframe (recommandé)
Placez le fichier pidebugger-demo.html dans le dossier source/demos/ de votre projet Hexo, puis utilisez un iframe :
1 | --- |
Méthode 2 : Tag Hexo personnalisé
Créez un tag personnalisé dans scripts/pidebugger-tag.js :
1 | // scripts/pidebugger-tag.js |
Puis dans votre article :
1 | {% pidebugger_demo %} |
Méthode 3 : Embed direct (pour thèmes supportant le JS inline)
Si votre thème Hexo supporte le JavaScript inline, vous pouvez inclure directement le code dans un fichier .ejs ou utiliser le plugin hexo-filter-inline-html.
📌 13.2 Structure des fichiers Hexo
1 | your-hexo-blog/ |
📌 13.3 Exemple d’article complet
1 | --- |
📌 13.4 CSS additionnel pour le thème
Ajoutez ces styles dans votre fichier CSS de thème pour un meilleur rendu :
1 | /* Style pour la démo PiDebugger */ |
🔗 Ressources
| Emoji | Ressource | Lien |
|---|---|---|
| 🔲 | HyperPixel 2.1” | shop.pimoroni.com |
| 🔌 | USB Gadget API | kernel.org |
| 🥾 | U-Boot docs | u-boot.readthedocs.io |
| ☕ | EspressoBin wiki | wiki.espressobin.net |
| 🍫 | MochaBin docs | developer.solid-run.com |
🎯 Plateformes cibles supportées
| Emoji | Plateforme | SoC | RAM | Boot | USB Power |
|---|---|---|---|---|---|
| ☕ | EspressoBin V5 | Armada 3720 | 1GB DDR3 | SPI | ✅ 5V/2A |
| ☕ | EspressoBin V7 | Armada 3720 | 1-2GB DDR3 | SPI | ✅ 5V/2A |
| ⚡ | EspressoBin Ultra | CN9130 | 4GB DDR4 | SPI | ❌ 12V ext |
| 🍫 | MochaBin | CN9130 | 4-8GB DDR4 | SPI | ❌ 12V ext |
✅ Checklist des fonctionnalités
🟢 Implémenté (v2.1)
Interface & Navigation
- 🕐 Interface horloge circulaire avec status bar
- 📊 Dashboard avec menu radial à emojis (9 items)
- 📊 Mini-dashboards Master/Target centrés sur tous les écrans
- 🎮 Gestures tactiles (swipe ←→↑↓, pinch in/out, long press 600ms)
- 🔔 Notifications sonores Web Audio API (click, success, boot, notify, power)
- 🎨 4 Thèmes (🌙 Dark, ☀️ Light, ⬛ OLED, 🍓 Berry)
- 📱 Interface responsive (adapte à toutes tailles d’écran)
Hardware & USB
- 🔗 Indicateurs USB Gadget (🔗 Gadget, 📟 TTY, 💿 Storage)
- 🎯 Indicateurs Target (🔋 Power, 🔌 USB, 📡 Serial)
- 🔌 USB Gadget composite (ACM + Mass Storage 512MB)
- 🏭 Mode Factory Boot avec séquence progressive Pi Zero W
- ⏭️ Bouton SKIP pour passer le boot
Multi-Target Support (v2.1)
- ☕ ESPRESSObin V7 (Armada 3720, 2×A53 @ 1.0GHz)
- 🚀 ESPRESSObin Ultra (Armada 3720 + PoE, 2×A53 @ 1.2GHz)
- 🍫 MOCHAbin (Armada 7040, 4×A72 @ 1.4GHz, 10G SFP+)
- 🔌 Sheeva64 (Armada 3720, plug computer form factor)
- 🔄 Sélection dynamique du target dans Power Screen
- 📊 Séquences de boot spécifiques par target
Serial & Boot Analysis
- 💻 Moniteur série temps réel avec coloration syntaxique
- 🚀 Analyseur de boot multi-stages (🔒→🔑→🛡️→📦→🥾→🐧→👤)
- 📈 Timeline circulaire avec emojis par stage
- 🛡️ Parser ARM Trusted Firmware (BL1, BL2, BL31, PSCI, FIP)
- 🔑 Support WTMI (Cortex-M3) pour Armada 3720
- ⏸️ Pause/Resume du flux série
- 🧹 Clear buffer série
Power & Monitoring
- 🔋 Contrôle alimentation USB cibles avec stats V/A/temps
- 📊 Graphiques temps réel voltage/courant (30 points, 500ms)
- ⚡ Affichage puissance calculée (W)
- 🌡️ Monitoring température CPU en temps réel
- 📶 Indicateur force signal WiFi (%)
Network & Transfers
- 🌐 Écran configuration réseau (IP, Gateway, DHCP)
- 📶 WiFi scan avec liste réseaux disponibles
- 🔐 Authentification WiFi WPA2/WPA3 avec clavier virtuel 40 touches
- 📡 Serveur TFTP intégré (port 69)
- 📤 Transfert XMODEM-CRC pour recovery UART (128B packets)
- 🛡️ UEFI Shell interactif (6 commandes: help, ver, map, ls, reset, memmap)
Files & Storage
- 📁 Explorateur fichiers USB Storage avec icônes
- 💾 Export logs vers USB (/logs/)
🟡 À venir
- 📱 Mode portrait/paysage auto-rotate
- 🔄 OTA firmware update Pi Zero W
- 📊 Export timeline JSON/CSV
- 🔒 Mode kiosk / verrouillage écran
- 🔌 Support INA219 réel (I2C) pour mesures V/A
- 🎯 Multi-targets simultanés
- 📝 Enregistrement macros commandes
- 🔍 Recherche dans logs série
📋 Résumé des emojis utilisés
🎨 Thèmes disponibles
| Emoji | Thème | Background | Primary | Description |
|---|---|---|---|---|
| 🌙 | Dark | #181a1f | #0095da | Thème sombre par défaut |
| ☀️ | Light | #f5f5f5 | #1976d2 | Thème clair |
| ⬛ | OLED | #000000 | #00bcd4 | Noir pur pour écrans OLED |
| 🍓 | Berry | #1a0a10 | #c51a4a | Thème Raspberry Pi |
🌐 Configuration réseau
L’écran Network propose 3 onglets :
| Onglet | Emoji | Fonctions |
|---|---|---|
| Status | 🌐 | IP, Gateway, SSID, DHCP status |
| WiFi | 📶 | Scan réseaux, connexion, signal % |
| TFTP | 📡 | Serveur TFTP port 69, root dir |
📡 Serveur TFTP intégré
1 | # Configuration U-Boot pour boot TFTP |
⌨️ Clavier virtuel
Le clavier virtuel permet d’envoyer des commandes UART :
1 | ┌───────────────────────────────────────┐ |
Commandes U-Boot courantes :
help- Liste des commandesprintenv- Variables d’environnementboot- Démarrer le kernelreset- Redémarrer
🌡️ Monitoring système
| Indicateur | Emoji | Plage | Alerte |
|---|---|---|---|
| CPU Temp | 🌡️ | 35-85°C | >70°C orange, >80°C rouge |
| WiFi Signal | 📶 | 0-100% | <30% orange, <15% rouge |
| Voltage | ⚡ | 4.8-5.2V | <4.8V orange |
| Current | 〰️ | 0-2A | >1.8A orange |
💾 Export des logs
Les logs sont exportés vers /logs/ sur le stockage USB :
1 | /mnt/usb/PIDEBUGGER/ |
Format du fichier log :
1 | [2024-12-08 14:32:15] 🥾 U-Boot 2024.01-armbian |
📤 Transfert XMODEM
L’écran XMODEM permet d’envoyer des fichiers via le protocole XMODEM-CRC :
Caractéristiques
| Paramètre | Valeur |
|---|---|
| Protocol | XMODEM-CRC |
| Packet size | 128 bytes |
| Checksum | CRC-16 |
| Start char | SOH (0x01) |
| End char | EOT (0x04) |
Séquence de transfert
1 | ┌─────────────────────────────────────┐ |
Commandes côté target
1 | # U-Boot |
🛡️ UEFI Shell Commands
L’écran UEFI Shell permet d’exécuter des commandes UEFI standard :
Commandes disponibles
| Catégorie | Commandes |
|---|---|
| General | help, ver |
| Device | map, devices, drivers |
| File | ls, cd, cp, rm, type |
| Boot | bcfg, boot, exit |
| System | reset, memmap, dmpstore |
Exemple d’utilisation
1 | Shell> map |
🛡️ Parser ARM Trusted Firmware
Le parser ATF détecte automatiquement les stages de boot ARM Trusted Firmware :
Stages détectés
| Stage | Description | Pattern |
|---|---|---|
| BL1 | Boot Loader Stage 1 | /BL1[:\s]/i |
| BL2 | Boot Loader Stage 2 | /BL2[:\s]/i |
| BL31 | EL3 Runtime (Secure) | /BL31[:\s]/i |
| BL32 | Secure Payload (OP-TEE) | /BL32[:\s]/i |
| BL33 | Non-secure (U-Boot) | /BL33[:\s]/i |
| PSCI | Power State Coordination | /PSCI/i |
| SMCCC | SMC Calling Convention | /SMCCC/i |
| FIP | Firmware Image Package | /FIP[:\s]/i |
Affichage dans Boot Analyzer
L’onglet “ATF” affiche les stages détectés avec indicateur visuel :
- ✅ Stage détecté dans les logs
- ○ Stage non détecté
🔐 Authentification WiFi WPA2/WPA3
L’écran WiFi Auth permet de se connecter aux réseaux sécurisés :
Caractéristiques
- Clavier virtuel complet (a-z, 0-9, symboles)
- Sélection WPA2 / WPA3
- Masquage mot de passe (• • •)
- Validation min 8 caractères
- Animation de connexion
Flux de connexion
1 | 1. Scan réseaux disponibles |
📊 Graphiques temps réel
L’écran Power Control affiche des graphiques en temps réel :
Voltage Graph
- Plage: 4.5V - 5.5V
- Historique: 30 points
- Update: 500ms
- Couleur: vert (secondary)
Current Graph
- Plage: 0A - 2A
- Historique: 30 points
- Update: 500ms
- Couleur: orange (warning)
Calcul puissance
1 | Power (W) = Voltage (V) × Current (A) |
🎮 Gestures tactiles
Gestures supportées
| Gesture | Action |
|---|---|
| Swipe ← | Écran précédent |
| Swipe → | Écran suivant |
| Swipe ↑ | Retour Dashboard |
| Swipe ↓ | (réservé) |
| Pinch in | Notification “Pinch in” |
| Pinch out | Notification “Pinch out” |
| Long press | Notification “Long press” |
Paramètres de détection
1 | // Swipe |
🔔 Notifications sonores
Sons disponibles
| Type | Fréquence | Durée | Usage |
|---|---|---|---|
| click | 800 Hz | 50ms | Boutons |
| success | 880 Hz | 150ms | Succès |
| boot | 440 Hz | 100ms | Boot stages |
| notify | 660 Hz | 80ms | Notifications |
| power | 150 Hz | 300ms | Power toggle |
Implémentation Web Audio API
1 | const playSound = (type) => { |
Toggle Sound
Le son peut être activé/désactivé dans Settings :
- 🔔 Sound ON
- 🔇 Sound OFF
Interface principale
| Emoji | Usage | Description |
|---|---|---|
| 🔧 | Titre | PiDebugger |
| 🕐 | Menu | Horloge |
| 💻 | Menu | Terminal UART |
| 🚀 | Menu | Boot Analyzer |
| 🔋 | Menu | Power Control |
| 📁 | Menu | File Browser |
| ⚙️ | Menu | Configuration |
Status indicators
| Emoji | Usage | Description |
|---|---|---|
| 🟢 | Status | ON / Actif |
| 🔴 | Status | OFF / Inactif |
| 🟡 | Status | Standby |
| 🔄 | Status | Loading / En cours |
| ✅ | Status | OK / Succès |
| ❌ | Status | Erreur |
Hardware Master
| Emoji | Usage | Description |
|---|---|---|
| 🍓 | Master | Raspberry Pi |
| 🔗 | Master | USB Gadget |
| 📟 | Master | TTY Serial |
| 💿 | Master | Mass Storage |
| 📶 | Master | WiFi |
| 🌡️ | Master | Température |
Hardware Target
| Emoji | Usage | Description |
|---|---|---|
| 🎯 | Target | Cible SoC |
| 🔋 | Target | Power |
| 🔌 | Target | USB |
| 📡 | Target | Serial UART |
| ☕ | Target | ESPRESSObin V7 |
| 🚀 | Target | ESPRESSObin Ultra |
| 🍫 | Target | MOCHAbin |
| 🔌 | Target | Sheeva64 |
Boot stages
| Emoji | Stage | Description |
|---|---|---|
| 🔒 | BootROM | ROM boot initial |
| 🔑 | WTMI | Marvell Trusted FW |
| 🛡️ | ATF | ARM Trusted FW |
| 📦 | SPL | Secondary Loader |
| 🥾 | U-Boot | Bootloader |
| 🐧 | Kernel | Linux |
| 👤 | Login | User prompt |
📜 Licence
MIT License - Libre d’utilisation et modification.
🔧 PiDebugger v2.1 - Multi-Target ARM Debugger
Made with ❤️ for the embedded community
🍓 Pi Zero W | 🔲 HyperPixel 480×480 | ☕ ESPRESSObin | 🚀 Ultra | 🍫 MOCHAbin | 🔌 Sheeva64