# esp32_littlefs_test Test verbeux de LittleFS sur ESP32-S3 avec PlatformIO (framework Arduino, espressif32@6). ## Cartes supportées | Environnement PIO | Carte physique | Flash | PSRAM | |---|---|---|---| | `esp32s3_zero` | Waveshare ESP32-S3-Zero | 4 MB QIO | — | | `esp32s3_n16r8v` | Generic ESP32-S3 N16R8V | 16 MB QIO | 8 MB OPI | ## Prérequis - [PlatformIO Core](https://docs.platformio.org/en/latest/core/installation/) installé (`pip install platformio`) - Driver USB-JTAG / USB-CDC selon la carte (pas de driver externe sur la plupart des ES32-S3) ## Utilisation avec le Makefile ```bash # Afficher l'aide make # Compiler uniquement make BOARD=esp32s3_zero # Compiler + flasher le firmware make flash BOARD=esp32s3_zero # Uploader la partition LittleFS (contenu de data/) make flashfs BOARD=esp32s3_zero # Tout en une commande make all BOARD=esp32s3_n16r8v # Ouvrir le moniteur série make monitor BOARD=esp32s3_zero # Nettoyer les artefacts make clean ``` ### Spécifier un port série manuellement ```bash make flash BOARD=esp32s3_zero PORT=/dev/ttyACM0 ``` ## Utilisation directe avec PlatformIO ```bash # Build pio run -e esp32s3_zero # Flash firmware pio run -e esp32s3_zero -t upload # Upload partition LittleFS pio run -e esp32s3_zero -t uploadfs # Moniteur série pio device monitor -e esp32s3_zero ``` ## Séquence de tests effectués | Étape | Description | |---|---| | 1 | Montage de LittleFS (avec formatage automatique si nécessaire) | | 2 | Affichage des infos de la partition (total / utilisé / libre) | | 3 | Écriture d'un fichier texte UTF-8 | | 4 | Relecture et vérification du contenu (round-trip) | | 5 | Écriture binaire (256 octets, valeurs 0x00…0xFF) | | 6 | Relecture binaire et vérification byte-à-byte | | 7 | Listage du répertoire racine | | 8 | Test d'append (ajout à un fichier existant) | | 9 | Renommage de fichier | | 10 | Suppression de tous les fichiers de test | | 11 | Vérification de l'absence des fichiers supprimés | | 12 | Démontage propre | | 13 | Résumé PASS / FAIL | ## Sortie attendue ``` ╔════════════════════════════════════════╗ ║ TEST LittleFS – ESP32-S3 ║ ╚════════════════════════════════════════╝ Compilé le : Jun 8 2025 12:00:00 CPU Freq : 240 MHz Flash size : 4 MB Free heap : 346120 octets ── Étape 1 : Montage de LittleFS [ OK ] LittleFS.begin() ── Étape 2 : Informations de la partition [INFO] Taille totale : 1376256 octets (1344 KB) ... ── Étape 13 : ... ╔════════════════════════════════════════╗ ║ RÉSUMÉ DES TESTS ║ ╠════════════════════════════════════════╣ ║ PASS : 20 FAIL : 0 ║ ╠════════════════════════════════════════╣ ║ ✔ Tous les tests sont PASSÉS ! ║ ╚════════════════════════════════════════╝ ``` ## LED de statut Après les tests, la LED intégrée (`LED_BUILTIN`) clignote : - **Lentement (500 ms)** : tous les tests sont passés ✔ - **Rapidement (100 ms)** : un ou plusieurs tests ont échoué ✘ ## Structure du projet ``` esp32_littlefs_test/ ├── platformio.ini # Configuration PlatformIO (2 environnements) ├── Makefile # Makefile avec paramètre BOARD= ├── default.csv # Table de partitions 4 MB (esp32s3_zero) ├── default_16MB.csv # Table de partitions 16 MB (esp32s3_n16r8v) ├── src/ │ └── main.cpp # Code de test LittleFS ├── data/ # Contenu uploadé sur LittleFS (vide = OK) │ └── .gitkeep └── README.md ```