summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2023-12-11 12:01:09 +1100
committerDamien George <damien@micropython.org>2023-12-11 12:59:51 +1100
commitb4b77c17b551e103e45bcfe55df819c636b8617c (patch)
tree9bafce95d8a1276af5b780b5f992b13931c0c172
parent3069fee3866190806fa8e258f07d8557e5842f5e (diff)
downloadmicropython-b4b77c17b551e103e45bcfe55df819c636b8617c.tar.gz
micropython-b4b77c17b551e103e45bcfe55df819c636b8617c.zip
esp32/mpconfigport: Keep some funcs out of IRAM for ESP32-SPIRAM builds.
To make sure the build fits. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/esp32/mpconfigport.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/ports/esp32/mpconfigport.h b/ports/esp32/mpconfigport.h
index fbed7706b9..91ee3188ca 100644
--- a/ports/esp32/mpconfigport.h
+++ b/ports/esp32/mpconfigport.h
@@ -214,7 +214,11 @@ void *esp_native_code_commit(void *, size_t, void *);
#endif
// Functions that should go in IRAM
+// For ESP32 with SPIRAM workaround, firmware is larger and uses more static IRAM,
+// so in that configuration don't put too many functions in IRAM.
+#if !(CONFIG_IDF_TARGET_ESP32 && CONFIG_SPIRAM && CONFIG_SPIRAM_CACHE_WORKAROUND)
#define MICROPY_WRAP_MP_BINARY_OP(f) IRAM_ATTR f
+#endif
#define MICROPY_WRAP_MP_EXECUTE_BYTECODE(f) IRAM_ATTR f
#define MICROPY_WRAP_MP_LOAD_GLOBAL(f) IRAM_ATTR f
#define MICROPY_WRAP_MP_LOAD_NAME(f) IRAM_ATTR f