I just use the following
build_flags =
-D BOARD_HAS_PSRAM
-D CORE_DEBUG_LEVEL=5
The Debug Level show the installed PSRam as well…
=========== After Setup Start ============
INTERNAL Memory Info:
------------------------------------------
Total Size : 360148 B ( 351.7 KB)
Free Bytes : 275324 B ( 268.9 KB)
Allocated Bytes : 77584 B ( 75.8 KB)
Minimum Free Bytes: 275324 B ( 268.9 KB)
Largest Free Block: 233460 B ( 228.0 KB)
------------------------------------------
SPIRAM Memory Info:
------------------------------------------
Total Size : 8388608 B (8192.0 KB)
Free Bytes : 8374212 B (8177.9 KB)
Allocated Bytes : 11412 B ( 11.1 KB)
Minimum Free Bytes: 8370324 B (8174.1 KB)
Largest Free Block: 8257524 B (8064.0 KB)
------------------------------------------
Once enabled, I use the following to print…
Serial.println("Testing PSRAM");
if (psramInit())
{
Serial.println("PSRAM found!!!");
Serial.printf("Total PSRAM size: %lu kB\r\n", ESP.getPsramSize() / 1024);
Serial.printf("Free PSRAM size: %lu kB\r\n", ESP.getFreePsram() / 1024);
}
else
{
Serial.println("No PSRAM found");
}
The -mfix-esp32-psram-cache-issue flag mentioned above is for the (earlier) ESP32 and doesn’t apply to the ESP32-S3.