Capabilities of the ESP memory systems
Posted: Mon May 29, 2023 11:49 am
Hi,
I have read already a lot about the different RAM memory usage possibilities but somehow it doesn't match what I have read with the program I am testing.
I am using the ESP32-S3
I have read already a lot about the different RAM memory usage possibilities but somehow it doesn't match what I have read with the program I am testing.
- I want to put data into IRAM location with use of Because the data is uint8_t I would expect I can write to the buffer only on indexes 0, 3, 7, ... But regardless to this I can normaly store the data to any index. It looks like not the 32bit aligned memory is used but DRAM?
Code: Select all
uint8_t* test = heap_caps_malloc(12, MALLOC_CAP_32BIT);
- I tried to get the left memory from different memory systems after allocating 40kB of memory from different systems. The values before allocation:
MALLOC_CAP_IRAM_8BIT: 0 B
MALLOC_CAP_32BIT: 388944 B
MALLOC_CAP_DMA: 381132 B
MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT: 388944 B
MALLOC_CAP_DEFAULT: 388944 B
MALLOC_CAP_RTCRAM: 7812 B
MALLOC_CAP_EXEC|MALLOC_CAP_INTERNAL: 368016 B
the result after allocation:
MALLOC_CAP_IRAM_8BIT: 0 B - Difference: 0 B
MALLOC_CAP_32BIT: 348940 B - Difference: 40004 B
MALLOC_CAP_DMA: 341128 B - Difference: 40004 B
MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT: 348940 B - Difference: 40004 B
MALLOC_CAP_DEFAULT: 348940 B - Difference: 40004 B
MALLOC_CAP_RTCRAM: 7812 B - Difference: 0 B
MALLOC_CAP_EXEC|MALLOC_CAP_INTERNAL: 328012 B - Difference: 40004 B
I am using the ESP32-S3