summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniël van de Giessen <daniel@dvdgiessen.nl>2024-02-29 13:05:00 +0100
committerDamien George <damien@micropython.org>2024-03-08 14:05:39 +1100
commit27279e69b4d74b255bd8d8c5dd6668c97c942776 (patch)
tree6afef00898e30b7152e907be2b984cac9beec4a4
parentd6176c1f5e5556e25944ce52874ea2f2d82ccde5 (diff)
esp32: Add IDF-version-specific sdkconfig.
The new IDF v5.2 deprecated the task cleanup callback we use, so support for the new option has been implemented in the previous commit. This also requires a change in the sdkconfig, via a new variable ${SDKCONFIG_IDF_VERSION_SPECIFIC} which is used in all mpconfigboard.cmake files to include an extra sdkconfig file based on the IDF version in use. Signed-off-by: Daniël van de Giessen <daniel@dvdgiessen.nl>
-rw-r--r--ports/esp32/CMakeLists.txt10
-rw-r--r--ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/ESP32_GENERIC/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/ESP32_GENERIC_C3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/LILYGO_TTGO_LORA32/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/LOLIN_C3_MINI/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/M5STACK_ATOM/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/OLIMEX_ESP32_POE/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/SIL_WESP32/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_PROS3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake1
-rw-r--r--ports/esp32/boards/sdkconfig.idf522
23 files changed, 33 insertions, 0 deletions
diff --git a/ports/esp32/CMakeLists.txt b/ports/esp32/CMakeLists.txt
index 94047a048..1537c1d72 100644
--- a/ports/esp32/CMakeLists.txt
+++ b/ports/esp32/CMakeLists.txt
@@ -2,6 +2,10 @@
cmake_minimum_required(VERSION 3.12)
+# Retrieve IDF version
+include($ENV{IDF_PATH}/tools/cmake/version.cmake)
+set(IDF_VERSION "${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}.${IDF_VERSION_PATCH}")
+
# Set the board if it's not already set.
if(NOT MICROPY_BOARD)
set(MICROPY_BOARD ESP32_GENERIC)
@@ -21,6 +25,12 @@ set(SDKCONFIG ${CMAKE_BINARY_DIR}/sdkconfig)
# Save the manifest file set from the cmake command line.
set(MICROPY_USER_FROZEN_MANIFEST ${MICROPY_FROZEN_MANIFEST})
+# Specific options for IDF v5.2 and later
+set(SDKCONFIG_IDF_VERSION_SPECIFIC "")
+if (IDF_VERSION VERSION_GREATER_EQUAL "5.2.0")
+ set(SDKCONFIG_IDF_VERSION_SPECIFIC boards/sdkconfig.idf52)
+endif()
+
# Include board config; this is expected to set (among other options):
# - SDKCONFIG_DEFAULTS
# - IDF_TARGET
diff --git a/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake b/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake
index 7ae4b3818..40456f7c0 100644
--- a/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake
+++ b/ports/esp32/boards/ARDUINO_NANO_ESP32/mpconfigboard.cmake
@@ -6,6 +6,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.240mhz
diff --git a/ports/esp32/boards/ESP32_GENERIC/mpconfigboard.cmake b/ports/esp32/boards/ESP32_GENERIC/mpconfigboard.cmake
index 0e1945dd8..a3e8f616b 100644
--- a/ports/esp32/boards/ESP32_GENERIC/mpconfigboard.cmake
+++ b/ports/esp32/boards/ESP32_GENERIC/mpconfigboard.cmake
@@ -1,5 +1,6 @@
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
)
diff --git a/ports/esp32/boards/ESP32_GENERIC_C3/mpconfigboard.cmake b/ports/esp32/boards/ESP32_GENERIC_C3/mpconfigboard.cmake
index 429366afa..8c9d7c27a 100644
--- a/ports/esp32/boards/ESP32_GENERIC_C3/mpconfigboard.cmake
+++ b/ports/esp32/boards/ESP32_GENERIC_C3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32c3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
boards/ESP32_GENERIC_C3/sdkconfig.c3usb
)
diff --git a/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake b/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake
index 76d185d90..c9bc60d4c 100644
--- a/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake
+++ b/ports/esp32/boards/ESP32_GENERIC_S2/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s2)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.spiram_sx
)
diff --git a/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake b/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake
index 36b4fe562..c60f1c280 100644
--- a/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake
+++ b/ports/esp32/boards/ESP32_GENERIC_S3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.spiram_sx
diff --git a/ports/esp32/boards/LILYGO_TTGO_LORA32/mpconfigboard.cmake b/ports/esp32/boards/LILYGO_TTGO_LORA32/mpconfigboard.cmake
index 5bbac10e2..42c431681 100644
--- a/ports/esp32/boards/LILYGO_TTGO_LORA32/mpconfigboard.cmake
+++ b/ports/esp32/boards/LILYGO_TTGO_LORA32/mpconfigboard.cmake
@@ -1,5 +1,6 @@
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
)
diff --git a/ports/esp32/boards/LOLIN_C3_MINI/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_C3_MINI/mpconfigboard.cmake
index 0ce7f85e5..7767e3b84 100644
--- a/ports/esp32/boards/LOLIN_C3_MINI/mpconfigboard.cmake
+++ b/ports/esp32/boards/LOLIN_C3_MINI/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32c3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
boards/LOLIN_C3_MINI/sdkconfig.board
)
diff --git a/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake
index dc9abd747..8be4a69d7 100644
--- a/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake
+++ b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s2)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.spiram_sx
boards/sdkconfig.usb
)
diff --git a/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake
index dc9abd747..8be4a69d7 100644
--- a/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake
+++ b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s2)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.spiram_sx
boards/sdkconfig.usb
)
diff --git a/ports/esp32/boards/M5STACK_ATOM/mpconfigboard.cmake b/ports/esp32/boards/M5STACK_ATOM/mpconfigboard.cmake
index f0355e2b0..19b55d165 100644
--- a/ports/esp32/boards/M5STACK_ATOM/mpconfigboard.cmake
+++ b/ports/esp32/boards/M5STACK_ATOM/mpconfigboard.cmake
@@ -1,5 +1,6 @@
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
boards/sdkconfig.240mhz
boards/M5STACK_ATOM/sdkconfig.board
diff --git a/ports/esp32/boards/OLIMEX_ESP32_POE/mpconfigboard.cmake b/ports/esp32/boards/OLIMEX_ESP32_POE/mpconfigboard.cmake
index c460b07d5..59d2831b3 100644
--- a/ports/esp32/boards/OLIMEX_ESP32_POE/mpconfigboard.cmake
+++ b/ports/esp32/boards/OLIMEX_ESP32_POE/mpconfigboard.cmake
@@ -1,5 +1,6 @@
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
boards/OLIMEX_ESP32_POE/sdkconfig.board
)
diff --git a/ports/esp32/boards/SIL_WESP32/mpconfigboard.cmake b/ports/esp32/boards/SIL_WESP32/mpconfigboard.cmake
index a1460397b..9caef1123 100644
--- a/ports/esp32/boards/SIL_WESP32/mpconfigboard.cmake
+++ b/ports/esp32/boards/SIL_WESP32/mpconfigboard.cmake
@@ -1,5 +1,6 @@
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
boards/sdkconfig.240mhz
boards/SIL_WESP32/sdkconfig.board
diff --git a/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake
index 5e570d513..e3bcba9f5 100644
--- a/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_FEATHERS2/mpconfigboard.cmake
@@ -1,6 +1,7 @@
set(IDF_TARGET esp32s2)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.spiram_sx
boards/sdkconfig.usb
boards/UM_FEATHERS2/sdkconfig.board
diff --git a/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake
index c98ef6917..fc7f246a7 100644
--- a/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_FEATHERS2NEO/mpconfigboard.cmake
@@ -1,6 +1,7 @@
set(IDF_TARGET esp32s2)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.spiram_sx
boards/sdkconfig.usb
boards/UM_FEATHERS2NEO/sdkconfig.board
diff --git a/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake b/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake
index 63d1af1da..d7fcc3469 100644
--- a/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_FEATHERS3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.240mhz
diff --git a/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake b/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake
index 6c7f34009..9030d8372 100644
--- a/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_NANOS3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.240mhz
diff --git a/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake b/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake
index 41a96f26e..8bd67567f 100644
--- a/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_PROS3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.240mhz
diff --git a/ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake
index 58b42b55e..c85fb9d72 100644
--- a/ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake
@@ -1,5 +1,6 @@
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.ble
boards/sdkconfig.240mhz
boards/sdkconfig.spiram
diff --git a/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake
index 70cb4a814..1c794baee 100644
--- a/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_TINYS2/mpconfigboard.cmake
@@ -1,6 +1,7 @@
set(IDF_TARGET esp32s2)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.spiram_sx
boards/sdkconfig.usb
boards/UM_TINYS2/sdkconfig.board
diff --git a/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake
index 6c7f34009..9030d8372 100644
--- a/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_TINYS3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.240mhz
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake
index 089149c44..e788dc965 100644
--- a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake
+++ b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake
@@ -2,6 +2,7 @@ set(IDF_TARGET esp32s3)
set(SDKCONFIG_DEFAULTS
boards/sdkconfig.base
+ ${SDKCONFIG_IDF_VERSION_SPECIFIC}
boards/sdkconfig.usb
boards/sdkconfig.ble
boards/sdkconfig.240mhz
diff --git a/ports/esp32/boards/sdkconfig.idf52 b/ports/esp32/boards/sdkconfig.idf52
new file mode 100644
index 000000000..49b7317d4
--- /dev/null
+++ b/ports/esp32/boards/sdkconfig.idf52
@@ -0,0 +1,2 @@
+CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP=n
+CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK=y