130 lines
4.0 KiB
Markdown
130 lines
4.0 KiB
Markdown
# 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
|
||
```
|