94533f84c9
Log level INFO pulls libc printf into IRAM (~15 KB), overflowing the fixed 12 KB iram_seg by 9787 bytes. Pin SIZE optimization and drop to WARN level to avoid the vfprintf/stdio chain.
70 lines
3.2 KiB
Plaintext
70 lines
3.2 KiB
Plaintext
# Lisael Box — committed defaults (target-independent).
|
|
# Target-specific overrides live in sdkconfig.defaults.esp32s3.
|
|
# Regenerate sdkconfig with: idf.py set-target esp32s3 && idf.py reconfigure
|
|
|
|
# --- Partition table ---------------------------------------------------------
|
|
CONFIG_PARTITION_TABLE_CUSTOM=y
|
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
|
|
|
|
# --- Logging / build ---------------------------------------------------------
|
|
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
|
CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
|
|
|
# --- Bootloader size: keep the 2nd-stage bootloader inside iram_seg ----------
|
|
# Without these the bootloader links at -O2 (PERF) and pulls in the full
|
|
# libc printf machinery (svfiprintf ~9 KB) which overflows the 12 KB iram_seg.
|
|
# SIZE (-Os) reduces code but alone is not sufficient; dropping the log level
|
|
# from INFO to WARN removes the format-string I/O paths that pull libc stdio.
|
|
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
|
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
|
|
|
|
# --- FreeRTOS ----------------------------------------------------------------
|
|
# 1 kHz tick gives smoother LVGL animations (bubble breathing, transitions).
|
|
CONFIG_FREERTOS_HZ=1000
|
|
|
|
# --- mbedTLS / TLS -----------------------------------------------------------
|
|
# open-meteo.com is HTTPS; webradio streams may be HTTPS too. Use the global
|
|
# CA store bundle so we don't have to embed individual certs.
|
|
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
|
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
|
|
|
|
# --- HTTP client -------------------------------------------------------------
|
|
CONFIG_ESP_TLS_INSECURE=n
|
|
|
|
# --- esp-box BSP -------------------------------------------------------------
|
|
# SD card mount point used throughout the firmware (see audio/sd_player.c).
|
|
CONFIG_BSP_SD_MOUNT_POINT="/sdcard"
|
|
|
|
# Polices LVGL utilisées par l'UI Lisael Box (titres date/heure, gros boutons)
|
|
CONFIG_LV_FONT_MONTSERRAT_28=y
|
|
CONFIG_LV_FONT_MONTSERRAT_48=y
|
|
|
|
# GCC 14 (esp 14.2) ajoute des warnings -Werror agressifs (array-bounds faux positifs)
|
|
CONFIG_COMPILER_DISABLE_GCC14_WARNINGS=y
|
|
|
|
# Diagnostic : console primaire sur USB-Serial-JTAG (logs boot+app sur l'USB-C),
|
|
# car l'UART0 par défaut n'est pas exposé sur le port USB de la carte.
|
|
CONFIG_ESP_CONSOLE_UART_DEFAULT=n
|
|
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
|
|
|
|
# --- FATFS long file names (covers podcasts/routines, manifestes lus par fopen) ---
|
|
CONFIG_FATFS_LFN_HEAP=y
|
|
CONFIG_FATFS_MAX_LFN=255
|
|
|
|
# --- LVGL stdio FS driver (covers podcasts via "S:" ; lettre 'S' = ASCII 83) ---
|
|
CONFIG_LV_USE_FS_STDIO=y
|
|
CONFIG_LV_FS_STDIO_LETTER=83
|
|
|
|
# --- mbedTLS : allocation externe + buffers dynamiques (évite le reset TLS PSRAM) ---
|
|
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
|
|
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
|
|
|
|
# --- WiFi : buffers TX dynamiques (libère la RAM interne) ---
|
|
# NOTE IDF 5.4: ESP_WIFI_DYNAMIC_TX_BUFFER is excluded when
|
|
# SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y (set in sdkconfig.defaults.esp32s3).
|
|
# On this board PSRAM absorbs WiFi/LwIP buffers, so static TX (TYPE=0) is
|
|
# correct per Kconfig deps. TX_BUFFER_TYPE=1 is NOT achievable here.
|
|
# The line below selects the dynamic choice; Kconfig will silently revert to
|
|
# static when PSRAM+WiFi alloc is active — this is expected behaviour.
|
|
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
|