Skip to content

espressif: esp32c5/esp32s3: fix PSRAM + Wi-Fi heap mapping and linker segment sizing bugs #109602

Description

@sylvioalves

Describe the bug

When building any sample that exercises the Espressif Wi-Fi driver with PSRAM enabled (CONFIG_ESP_SPIRAM=y + CONFIG_ESP_WIFI_HEAP_SPIRAM=y), the board resets early in boot or shortly after the Wi-Fi blob starts running. The reset happens silently, with no panic dump, and the bootloader log keeps cycling.

This issue affects all PSRAM-capable Espressif SoCs (esp32, esp32s2, esp32s3, esp32c5) but only manifests when .ext_ram.data has content ahead of the heap window, e.g. with CONFIG_ESP32_WIFI_NET_ALLOC_SPIRAM=y. On esp32c5, an additional gap was present because the ESP32_WIFI_NET_ALLOC_SPIRAM linker block was never ported from esp32/esp32s2/esp32s3.

Regression

  • This is a regression.

Steps to reproduce

west build -p auto -b esp32c5_devkitc/esp32c5/hpcore samples/net/wifi/shell
-DCONFIG_ESP_SPIRAM=y
-DCONFIG_ESP_WIFI_HEAP_SPIRAM=y

The Wi-Fi shell sample boots into the Zephyr shell. wifi scan and wifi connect work. Wi-Fi buffers are allocated from PSRAM (with internal SRAM as fallback when PSRAM is exhausted).

Relevant log output

Impact

Annoyance – Minor irritation; no significant impact on usability or functionality.

Environment

OS: Linux
Toolchain: Zephyr SDK 1.0.1 (xtensa-espressif_esp32s3_zephyr-elf, riscv64-zephyr-elf)
Commit: current main and in v4.4.0

Additional Context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions