Cannot declare array into the External PSRAM?
Posted: Tue Jan 01, 2019 4:17 am
Hello there and Happy New Year to all the ESP32 crew!
I have a program that I'm porting as an experiment, and found out that it doesn't fit the memory, so I tried to move some of the declarations into the external PSRAM (I have the WROVER).
My attempts:
1.) Menuconfig -> I have set this -
* SPI RAM access Method: Integrate RAM into ESP32 memory map
* Allow .bss segment placed in external memory
2.) In the code -
But all it does is this:
The ESP32-IDF I'm using is obtained at November 2018.
I have a program that I'm porting as an experiment, and found out that it doesn't fit the memory, so I tried to move some of the declarations into the external PSRAM (I have the WROVER).
My attempts:
1.) Menuconfig -> I have set this -
* SPI RAM access Method: Integrate RAM into ESP32 memory map
* Allow .bss segment placed in external memory
2.) In the code -
Code: Select all
static uint32_t bigArray[......] EXT_RAM_ATTR;
I checked the *.map file, but it doesn't allocate anything to the external RAM. What have I missed out?c:/msys32/opt/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: <elf name> section `.dram0.bss' will not fit in region `dram0_0_seg'
c:/msys32/opt/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit.
c:/msys32/opt/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: region `dram0_0_seg' overflowed by 240344 bytes
collect2.exe: error: ld returned 1 exit status
The ESP32-IDF I'm using is obtained at November 2018.