External RAM cannot be used as task stack memory
) unless SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
esp-idf option is enabled (which should not be enabled for MicroPython).
Because some bits of the ESP32 code environment cannot be recompiled with the cache workaround, normally
tasks cannot be safely run with their stack residing in external memory; for this reason xTaskCreate and
friends always allocate stack in internal memory and xTaskCreateStatic will check if the memory passed
to it is in internal memory. If you have a task that needs a large amount of stack and does not call on
ROM code in any way (no direct calls, but also no Bluetooth/WiFi), you can try to disable this and use
xTaskCreateStatic to create the tasks stack in external memory.
I'm not shure about official MicroPython ESP32 port, but I'm using threads with SPI-RAM in my MicroPython port
from the beginning without issues.