Why are ESP32-S3 boards' RAM size set to 320 KB?

My project uses ESP32-S3 N16R8 with Arduino SDK, and the maximum_ram_size in the board definition file makes me somewhat confused. The definition json reference:

Yes, this file works. But I am wondering that, is it not that ESP32-S3 have 512 KB SRAM according to datasheet than 320 KB written in json file? Why is the value not 524288, or am I missing something here? Thanks.

That’s following exactly what Arduino-ESP32 made by Espressif does:

Note that 512K describes the total SRAM, but it’s split in DRAM (data-bus), IRAM (instruction-bus), RTC Fast memory, RTC slow memory, etc., so not equally usuable. And there’s also the flash cache playing a part in it. You can see the exact memory partitionning done at the linker file.

1 Like