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:
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user