chore(idf): trace decision PSRAM carte A1S

PSRAM 8MB détectée et confirmée par log de boot ESP-IDF (Found 8MB
PSRAM device + SPI SRAM memory test OK). Activée dans sdkconfig.defaults
pour dimensionner les buffers BT/audio SCO en Phase 4.
This commit is contained in:
clement
2026-06-19 08:20:45 +02:00
parent 43e2edf97d
commit 1a6e3e95d9
2 changed files with 43 additions and 0 deletions
@@ -0,0 +1,38 @@
# Variante carte A1S — flash & PSRAM (2026-06-19)
- Flash détectée : 4MB (esptool.py flash_id, Manufacturer: 5e, Device: 4016)
- PSRAM : présente (preuve : voir lignes de log boot ci-dessous)
- Décision : PSRAM activée dans sdkconfig.defaults (CONFIG_SPIRAM=y, CONFIG_SPIRAM_MODE_OCT=n)
- Raison : La PSRAM 8 MB est physiquement soudée et fonctionnelle sur cette carte A1S (module Ai-Thinker, ESP32-D0WD v3.1). L'activer maintenant permet à la Phase 4 (pile Bluetooth Bluedroid + buffers audio SCO) de disposer de la mémoire nécessaire sans redimensionnement ultérieur. Le SPI RAM test passe sans erreur au boot.
## Preuve — lignes de log boot (build de test avec CONFIG_SPIRAM=y + CONFIG_SPIRAM_IGNORE_NOTFOUND=y, 2026-06-19)
```
I (197) quad_psram: This chip is ESP32-D0WD
I (199) esp_psram: Found 8MB PSRAM device
I (199) esp_psram: Speed: 40MHz
I (199) esp_psram: PSRAM initialized, cache is in low/high (2-core) mode.
W (205) esp_psram: Virtual address not enough for PSRAM, map as much as we can. 4MB is mapped
I (1121) esp_psram: SPI SRAM memory test OK
I (1205) esp_psram: Adding pool of 4096K of PSRAM memory to heap allocator
I (1233) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations
```
Note : la PSRAM est 8 MB physiques mais seulement 4 MB sont mappés en espace virtuel ESP32
(limitation d'adressage du MMU ESP32 en mode DIO). Les 4 MB mappés sont accessibles
au heap. Sur ESP32-S3 ce plafond n'existe pas, mais ici on est sur ESP32 classique.
## Configuration finale dans sdkconfig.defaults
```
CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_OCT=n
```
## Méthode de détection
1. `esptool.py --port /dev/cu.usbserial-0001 flash_id` → flash 4 MB identifiée
2. Build temporaire avec `CONFIG_SPIRAM=y` + `CONFIG_SPIRAM_IGNORE_NOTFOUND=y`
3. Flash du binaire de test, lecture du log de boot via pyserial (~25 s)
4. Présence confirmée sans ambiguïté par `Found 8MB PSRAM device` et `SPI SRAM memory test OK`
5. sdkconfig.defaults mis à jour proprement (sans IGNORE_NOTFOUND), rebuild final OK
+5
View File
@@ -23,3 +23,8 @@ CONFIG_LOG_DEFAULT_LEVEL_INFO=y
# Watchdog : tolérer la boucle de heartbeat
CONFIG_ESP_TASK_WDT_INIT=n
# PSRAM — détectée 8 MB sur carte A1S (ESP32-D0WD v3.1), confirmée par boot log 2026-06-19
# Voir docs/superpowers/notes/2026-06-19-psram-a1s.md
CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_OCT=n