I’m working on a project needing a large array. As it’s developed using the ESP32 platform, I need to use the external RAM available. I’ve been reading posts and tried different switches in project platformio.ini but I could’t find a way to make it work, as the variable stays in low memory.
This is my environment:
PlatformIO Core 5.0.4/Home 3.3.1
VS Code 1.52.1
Platform: Espressif32 2.1.0
Board: AZ Delivery ESP32 V4
Framework: ESP-IDF
I’m also unable to use menuconfig from a command window inside platformIO, so I’m wondering if there’s a way to set environment variables to make it work.
You want that a variable is allocated in external RAM if you e.g. declare it globally? With what exact code and platformio.ini are you currently testing this?
My “doesn’t work” about menuconfig is that I tried different paths, but I couldn’t find the correct command not giving a “file not found” or “can’t open file”
Well foremost in order for this placement macro to work the SPIRAM needs to configured properly. If you can’t access the menuconfig that is probably not the case.
Per docs you should be able to open a PIO CLI and run pio run -t menuconfig.
I included the directive -D CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY
in project build_flags with no luck. I also see the error undefined reference to '_ext_ram_bss_end'
Are there any other flags I should include in platformio.ini? Or should i go thru menuconfig only?
I tried the above command to run menuconfig, but I have the error
Do not know how to make File target 'menuconfig'
as it was expected to have menuconfig in project folder (and it’s not there). Could it be a problem with the OS environment setup (I’m using Windows10)?
I reloaded PltaformIO and I was able to run menuconfig! First time… What I did in between was uninstalling the Espressif IDF extension I installed few days ago in trying to see if my setup was working.
I then configured my project according to documentation, and variable has been correctly placed in external RAM.