From 3d7c5c1f7863fec4662537d2d6971a6a6d943b13 Mon Sep 17 00:00:00 2001 From: Alexey Lapshin Date: Tue, 20 Jan 2026 14:18:21 +0700 Subject: [PATCH] feat(tools): update toolchain version to esp-14.2.0_20260121 --- components/esp_hw_support/CMakeLists.txt | 10 ++ tools/cmake/toolchain-esp32p4.cmake | 13 ++- tools/tools.json | 112 +++++++++++------------ 3 files changed, 74 insertions(+), 61 deletions(-) diff --git a/components/esp_hw_support/CMakeLists.txt b/components/esp_hw_support/CMakeLists.txt index 4382022d5ae..a1d2ba6e594 100644 --- a/components/esp_hw_support/CMakeLists.txt +++ b/components/esp_hw_support/CMakeLists.txt @@ -152,6 +152,16 @@ endif() set(public_include_dirs "include" "include/soc" "include/soc/${target}" "dma/include" "ldo/include" "debug_probe/include") +if(CONFIG_ESP32P4_SELECTS_REV_LESS_V3) + if(CMAKE_C_COMPILER_ID MATCHES "GNU") + idf_build_set_property(COMPILE_OPTIONS "-march=rv32imafc_zicsr_zifencei_xesppie" APPEND) + endif() +elseif(CONFIG_IDF_TARGET_ESP32P4) + if(CMAKE_C_COMPILER_ID MATCHES "Clang") # TODO: LLVM-478 + message(FATAL_ERROR "ESP32-P4 rev. 3.0 or higher is not supported in Clang-based toolchain") + endif() +endif() + idf_component_register(SRCS ${srcs} INCLUDE_DIRS ${public_include_dirs} PRIV_INCLUDE_DIRS port/include include/esp_private diff --git a/tools/cmake/toolchain-esp32p4.cmake b/tools/cmake/toolchain-esp32p4.cmake index d4b32308f27..69bf3406be7 100644 --- a/tools/cmake/toolchain-esp32p4.cmake +++ b/tools/cmake/toolchain-esp32p4.cmake @@ -7,14 +7,17 @@ set(CMAKE_CXX_COMPILER riscv32-esp-elf-g++) set(CMAKE_ASM_COMPILER riscv32-esp-elf-gcc) set(_CMAKE_TOOLCHAIN_PREFIX riscv32-esp-elf-) -remove_duplicated_flags("-march=rv32imafc_zicsr_zifencei_xesppie -mabi=ilp32f ${CMAKE_C_FLAGS}" UNIQ_CMAKE_C_FLAGS) +remove_duplicated_flags("-march=rv32imafc_zicsr_zifencei_xesploop_xespv -mabi=ilp32f ${CMAKE_C_FLAGS}" + UNIQ_CMAKE_C_FLAGS) set(CMAKE_C_FLAGS "${UNIQ_CMAKE_C_FLAGS}" CACHE STRING "C Compiler Base Flags" FORCE) -remove_duplicated_flags("-march=rv32imafc_zicsr_zifencei_xesppie -mabi=ilp32f ${CMAKE_CXX_FLAGS}" UNIQ_CMAKE_CXX_FLAGS) +remove_duplicated_flags("-march=rv32imafc_zicsr_zifencei_xesploop_xespv -mabi=ilp32f ${CMAKE_CXX_FLAGS}" + UNIQ_CMAKE_CXX_FLAGS) set(CMAKE_CXX_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}" CACHE STRING "C++ Compiler Base Flags" FORCE) -remove_duplicated_flags("-march=rv32imafc_zicsr_zifencei_xesppie -mabi=ilp32f ${CMAKE_ASM_FLAGS}" UNIQ_CMAKE_ASM_FLAGS) +remove_duplicated_flags("-march=rv32imafc_zicsr_zifencei_xesploop_xespv -mabi=ilp32f ${CMAKE_ASM_FLAGS}" + UNIQ_CMAKE_ASM_FLAGS) set(CMAKE_ASM_FLAGS "${UNIQ_CMAKE_CXX_FLAGS}" CACHE STRING "Asm Compiler Base Flags" FORCE) -remove_duplicated_flags("-nostartfiles -march=rv32imafc_zicsr_zifencei_xesppie -mabi=ilp32f --specs=nosys.specs \ - ${CMAKE_EXE_LINKER_FLAGS}" +remove_duplicated_flags("-nostartfiles -march=rv32imafc_zicsr_zifencei_xesploop_xespv -mabi=ilp32f \ + --specs=nosys.specs ${CMAKE_EXE_LINKER_FLAGS}" UNIQ_CMAKE_SAFE_EXE_LINKER_FLAGS) set(CMAKE_EXE_LINKER_FLAGS "${UNIQ_CMAKE_SAFE_EXE_LINKER_FLAGS}" CACHE STRING "Linker Base Flags" FORCE) diff --git a/tools/tools.json b/tools/tools.json index 1aa1c87399a..770a96df32f 100644 --- a/tools/tools.json +++ b/tools/tools.json @@ -180,51 +180,51 @@ "versions": [ { "linux-amd64": { - "sha256": "4fd6d2517f55161056b735cc53c7ccfa59c30a574a0f4decfad77cae4ca5f711", - "size": 175585776, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-x86_64-linux-gnu.tar.xz" + "sha256": "da31f36d79d4e99f24e55a90a71e65d5694714f16199960bf7885724b706a48c", + "size": 176559292, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-x86_64-linux-gnu.tar.xz" }, "linux-arm64": { - "sha256": "916a3007a75c6e4b252cb1857a00657cd0c90ebc60fc265cfa0f4cd7d18ace5c", - "size": 170915376, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-aarch64-linux-gnu.tar.xz" + "sha256": "80ae10ce3d6c02e8c06213f03cac343c4ef6f0fbd89f28530b918f7a1006f1eb", + "size": 171504672, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-aarch64-linux-gnu.tar.xz" }, "linux-armel": { - "sha256": "347f7bd53c45b568d25d0897b119c25e66f8487815fd3192d510c9bebea09d99", - "size": 170483528, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-arm-linux-gnueabi.tar.xz" + "sha256": "10d8279f286d205a508b97b5440e7ba402b57e48158c02fa18a4bfe1f183fe42", + "size": 172620104, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-arm-linux-gnueabi.tar.xz" }, "linux-armhf": { - "sha256": "9817f0cb2157c17f950ab7de9f8a1af05f4a4147a78c5ab9059cad1a9d2eaa5f", - "size": 170230704, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-arm-linux-gnueabihf.tar.xz" + "sha256": "f1d6296a1e263aa8de9bbcb6f80ebc609ed3385b2905441786ceb05e96de0606", + "size": 169985628, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-arm-linux-gnueabihf.tar.xz" }, "linux-i686": { - "sha256": "bf024e686913baa840f1d545d1c6fdc5d0e622bb79d3f3608648e01ee6170a30", - "size": 180427072, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-i586-linux-gnu.tar.xz" + "sha256": "c60f2991e3e59c1599fa4f03e9ca172958c23761e403c1015349bdd874cc73dd", + "size": 188758352, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-i586-linux-gnu.tar.xz" }, "macos": { - "sha256": "96d6d8388ba0710b99a0659c1dee29a16dbd0c6c5cc49a5baf91dca634167205", - "size": 183740740, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-x86_64-apple-darwin.tar.xz" + "sha256": "02e5e3421222c9a708b21eca7826acb137668b188cb46fbde46339b26d4b2eeb", + "size": 177355744, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-x86_64-apple-darwin.tar.xz" }, "macos-arm64": { - "sha256": "954d88961660e51599a98855cf9ed8550801e27ee10c2184a258b93c38a1edcc", - "size": 168900844, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-aarch64-apple-darwin.tar.xz" + "sha256": "a450db49cea5f191a96345c5b7f0e1a9671a9cf132fecfd9fb1faf6c2a30637e", + "size": 170666656, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-aarch64-apple-darwin.tar.xz" }, - "name": "esp-14.2.0_20250730", + "name": "esp-14.2.0_20260121", "status": "recommended", "win32": { - "sha256": "77020244927a0deaabb650ea1c56ee1d355ca9fdad78d0f53b1a80075ecabcba", - "size": 391479409, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-i686-w64-mingw32.zip" + "sha256": "d57eeb3783bce663cca312323ac9b305a22dfab479c642320c62aeefcc536ac0", + "size": 411000830, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-i686-w64-mingw32.zip" }, "win64": { - "sha256": "9ce39218884cfbf428f9f6b1cb6afd9341e327f5e1a8d1d0369c21ae6e3b0828", - "size": 396050234, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/xtensa-esp-elf-14.2.0_20250730-x86_64-w64-mingw32.zip" + "sha256": "82cbe0353c2e7c96acc8755c854aaa2d93d346c6a378fc692e60b3912c560108", + "size": 413859845, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/xtensa-esp-elf-14.2.0_20260121-x86_64-w64-mingw32.zip" } } ] @@ -328,51 +328,51 @@ "versions": [ { "linux-amd64": { - "sha256": "5c467d91a0ee58c2c08ce3950e00f512d93330fbc89d2a290fb37405fe805942", - "size": 303504168, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-x86_64-linux-gnu.tar.xz" + "sha256": "b3fce4b04dd15a9f0ed1c209b5a2f389c04eff92ed85e4cc0ebc275b7d95e95a", + "size": 292412032, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-x86_64-linux-gnu.tar.xz" }, "linux-arm64": { - "sha256": "aaa865a2d9a6b7a042af814d14c0d28f0b17dc30d83c2a5b32b96e7c2ba3bacb", - "size": 297413248, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-aarch64-linux-gnu.tar.xz" + "sha256": "61bea5c55a6a5a592b97a822e7ee5f75618a00d24441ce15e3a06f57da7188c9", + "size": 284818756, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-aarch64-linux-gnu.tar.xz" }, "linux-armel": { - "sha256": "7f93c6b5639b5c82e88792607bdcb98d43502abddf08e994db4dc9f7a7ee5271", - "size": 294484772, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-arm-linux-gnueabi.tar.xz" + "sha256": "42975e91924d9dd48a093438d672f26ace9e5d9088b66da1a60586c3cbadfdd5", + "size": 283603716, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-arm-linux-gnueabi.tar.xz" }, "linux-armhf": { - "sha256": "d6f20a1015b8c7e6ad2a3bcc94ca98cd121b5174bc448cb5191ab67a3d774c07", - "size": 299392852, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-arm-linux-gnueabihf.tar.xz" + "sha256": "61aab57ae4680acbfdef51d74e052b88dcccc2b664cb517a12eab190b7df547b", + "size": 284371840, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-arm-linux-gnueabihf.tar.xz" }, "linux-i686": { - "sha256": "867011b00a0697a0ddfa7a87f20d0579a6dc9323d48a16f34f6e851ebcfd779d", - "size": 301726272, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-i586-linux-gnu.tar.xz" + "sha256": "cf7e310079cde38b870a502775d97222348b02be577b2bcaced01e6d51cb7512", + "size": 296283596, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-i586-linux-gnu.tar.xz" }, "macos": { - "sha256": "6dbb7718d332f6a300fc85b2bdd87c7decae0739bdb1a73bfe57ad034053fbb3", - "size": 306775964, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-x86_64-apple-darwin.tar.xz" + "sha256": "a690ca49198a2181ea7212563ba356b1460f2f9f1b190bef401907bf90646b78", + "size": 296934608, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-x86_64-apple-darwin.tar.xz" }, "macos-arm64": { - "sha256": "f605c426966e58cfddd5bb86967dc63e15812dbf0118a28c97c7fef8178937e5", - "size": 286717400, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-aarch64-apple-darwin.tar.xz" + "sha256": "caa7103e014c61939eea4656cd4effdc34930da0b76cd59ad1adb7bfaeef923c", + "size": 289213048, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-aarch64-apple-darwin.tar.xz" }, - "name": "esp-14.2.0_20250730", + "name": "esp-14.2.0_20260121", "status": "recommended", "win32": { - "sha256": "ac8816920e0bc6c4032abc27f4962b2b2f59b231ed86e0002476196f9f1f0d35", - "size": 686131875, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-i686-w64-mingw32.zip" + "sha256": "6f2c8f95866bdd72a96d0823f902b3e7466220f57470b5070ed5d6e99cddfa99", + "size": 698364886, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-i686-w64-mingw32.zip" }, "win64": { - "sha256": "a41e5219f0ff66cde3da3ac096b55d60fef4a1fb746590893c4c47f5437f192a", - "size": 692761883, - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20250730/riscv32-esp-elf-14.2.0_20250730-x86_64-w64-mingw32.zip" + "sha256": "c2734714e59f684b74d1cb278f75b4ae9ec546aa1e55d73786ef039410e4a8f7", + "size": 705866147, + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20260121/riscv32-esp-elf-14.2.0_20260121-x86_64-w64-mingw32.zip" } } ]