diff --git a/examples/arm/ethos-u-setup/core_software/0001-Do-not-include-tflite-micro-and-rtos-projects-as-the.patch b/examples/arm/ethos-u-setup/core_software/0001-Do-not-include-tflite-micro-and-rtos-projects-as-the.patch new file mode 100644 index 00000000000..baf5e2baed1 --- /dev/null +++ b/examples/arm/ethos-u-setup/core_software/0001-Do-not-include-tflite-micro-and-rtos-projects-as-the.patch @@ -0,0 +1,30 @@ +From 03e33214c52fd98b2adf87b2ff1c01ff91eceb52 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5ns=20Nilsson?= +Date: Fri, 13 Jun 2025 20:12:28 +0200 +Subject: [PATCH] Do not include tflite micro and rtos projects as they are not + needed + +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6faad8..7c205e0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,10 +76,10 @@ if (CORE_SOFTWARE_ACCELERATOR STREQUAL "NPU") + endif() + + # Build Tensorflow Lite Micro library +-include(tflite_micro.cmake) ++#include(tflite_micro.cmake) + + # Build RTOS +-add_subdirectory(rtos) ++#add_subdirectory(rtos) + + # Build EventRecorder + include(event_recorder.cmake) +-- +2.34.1 + diff --git a/examples/arm/ethos-u-setup/ethos-u/0001-Remove-unused-projects-from-25.05-manifest.patch b/examples/arm/ethos-u-setup/ethos-u/0001-Remove-unused-projects-from-25.05-manifest.patch new file mode 100644 index 00000000000..f006a41be8c --- /dev/null +++ b/examples/arm/ethos-u-setup/ethos-u/0001-Remove-unused-projects-from-25.05-manifest.patch @@ -0,0 +1,65 @@ +From 31a3be0c97093dbd70777c644d47ce8a7a9f57b3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5ns=20Nilsson?= +Date: Fri, 13 Jun 2025 18:25:37 +0200 +Subject: [PATCH] Remove unused projects from 25.05 manifest + +--- + 25.05.json | 42 ------------------------------------------ + 1 file changed, 42 deletions(-) + +diff --git a/25.05.json b/25.05.json +index 6a2697a..d248548 100644 +--- a/25.05.json ++++ b/25.05.json +@@ -38,48 +38,6 @@ + "path": "core_software/cmsis-view", + "fetchurl": "https://github.com/ARM-software/CMSIS-View.git", + "revision": "486ca2726d4a5de4895c9d3c273781d141b4a5b3" +- }, +- { +- "path": "core_software/openamp/libmetal", +- "fetchurl": "https://github.com/OpenAMP/libmetal", +- "revision": "36f87f9335f5afc3ce3a56c1069346df591094e1" +- }, +- { +- "path": "core_software/openamp/openamp", +- "fetchurl": "https://github.com/OpenAMP/open-amp", +- "revision": "3737f8b18ad24a3b091a11cc6ea320d8b0576da5" +- }, +- { +- "path": "core_software/rtos/freertos/freertos_kernel", +- "fetchurl": "https://github.com/FreeRTOS/FreeRTOS-Kernel.git", +- "revision": "2615dcde13d953dbe60ae1ee0cf9312458984c3a" +- }, +- { +- "path": "core_software/rtos/threadx", +- "fetchurl": "https://github.com/eclipse-threadx/threadx", +- "revision": "7ad78c40e9702917264a9b722890110fdb909ebc" +- }, +- { +- "path": "core_software/tflite_micro", +- "fetchurl": "https://github.com/tensorflow/tflite-micro", +- "revision": "9d35a74b03fa313026982abb4d2c4ffe29de88bc" +- }, +- { +- "path": "linux_driver_stack", +- "fetchurl": "https://git.gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u-linux-driver-stack.git", +- "pushurl": "ssh://git@git.gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u-linux-driver-stack.git", +- "revision": "25.05" +- }, +- { +- "path": "linux_driver_stack/thirdparty/tensorflow", +- "fetchurl": "https://github.com/tensorflow/tensorflow.git", +- "revision": "v2.18.1" +- }, +- { +- "path": "vela", +- "fetchurl": "https://git.gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u-vela.git", +- "pushurl": "ssh://git@git.gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u-vela.git", +- "revision": "4.3.0" + } + ] + } +-- +2.34.1 + diff --git a/examples/arm/executor_runner/CMakeLists.txt b/examples/arm/executor_runner/CMakeLists.txt index b3bae768996..f7bc3a5eb78 100644 --- a/examples/arm/executor_runner/CMakeLists.txt +++ b/examples/arm/executor_runner/CMakeLists.txt @@ -52,11 +52,11 @@ if(FETCH_ETHOS_U_CONTENT) file(MAKE_DIRECTORY ${ETHOS_SDK_PATH}/../ethos_u) include(FetchContent) - set(ethos_u_base_rev "25.02") + set(ethos_u_base_tag "25.05") FetchContent_Declare( ethos_u GIT_REPOSITORY https://git.gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u.git - GIT_TAG ${ethos_u_base_rev} + GIT_TAG ${ethos_u_base_tag} SOURCE_DIR ${ETHOS_SDK_PATH} BINARY_DIR ${ETHOS_SDK_PATH} SUBBUILD_DIR ${ETHOS_SDK_PATH}/../ethos_u-subbuild @@ -65,17 +65,31 @@ if(FETCH_ETHOS_U_CONTENT) FetchContent_MakeAvailable(ethos_u) + # Patch manifest to remove unused projects. + set(patch_dir "${ET_DIR_PATH}/examples/arm/ethos-u-setup") + set(ethos_u_base_rev "24950bd4381b6c51db0349a229f8ba86b8e1093f") + execute_process(COMMAND bash -c "pwd && source backends/arm/scripts/utils.sh && patch_repo ${ETHOS_SDK_PATH} ${ethos_u_base_rev} ${patch_dir}" + WORKING_DIRECTORY ${ET_DIR_PATH} + COMMAND_ECHO STDOUT + ) + # Get ethos_u externals only if core_platform folder does not already exist. if(NOT EXISTS "${ETHOS_SDK_PATH}/core_platform") - execute_process(COMMAND ${PYTHON_EXECUTABLE} fetch_externals.py -c ${ethos_u_base_rev}.json fetch + execute_process(COMMAND ${PYTHON_EXECUTABLE} fetch_externals.py -c ${ethos_u_base_tag}.json fetch WORKING_DIRECTORY ${ETHOS_SDK_PATH} COMMAND_ECHO STDOUT ) endif() + # Patch core_software to remove unused projects. + set(core_software_base_rev "55904c3da73c876c6d6c58290938ae217a8b94bd") + execute_process(COMMAND bash -c "pwd && source backends/arm/scripts/utils.sh && patch_repo ${ETHOS_SDK_PATH}/core_software ${core_software_base_rev} ${patch_dir}" + WORKING_DIRECTORY ${ET_DIR_PATH} + COMMAND_ECHO STDOUT + ) + # Always patch the core_platform repo since this is fast enough. set(core_platform_base_rev "1916a9c984819c35b19c9e5c4c80d47e4e866420") - set(patch_dir "${ET_DIR_PATH}/examples/arm/ethos-u-setup") execute_process(COMMAND bash -c "pwd && source backends/arm/scripts/utils.sh && patch_repo ${ETHOS_SDK_PATH}/core_platform ${core_platform_base_rev} ${patch_dir}" WORKING_DIRECTORY ${ET_DIR_PATH} COMMAND_ECHO STDOUT