initial commit

This commit is contained in:
feeling001@gmail.com
2026-06-08 14:33:53 +02:00
commit a7eb474a97
8 changed files with 686 additions and 0 deletions
+129
View File
@@ -0,0 +1,129 @@
# 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
```