summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksims Svecovs <maksims.svecovs@arm.com>2022-08-30 12:58:02 +0100
committerMaksims Svecovs <maksims.svecovs@arm.com>2022-08-31 10:00:45 +0100
commit254853c767f05d2770df5b2122824cffd7aec04c (patch)
tree2dfa0d70a092d27eb5443633a434d5477629defb
parentc9f1717d227e21ebfab72cceee90b1f8f8522867 (diff)
downloadml-embedded-evaluation-kit-254853c767f05d2770df5b2122824cffd7aec04c.tar.gz
MLECO-3449: Update dependancies to 22.08 tags
Update dependencies to be aligned with 22.08 release of mlplatform according to: https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u/+/refs/heads/master/22.08.json CMSIS-DSP is moved to a separate repository, this patch adds a new repository along with user build parameter. Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com> Change-Id: I356fb19b5dac87a21adfc34c67f9699131666074
-rw-r--r--.gitmodules3
m---------dependencies/cmsis0
m---------dependencies/cmsis-dsp0
m---------dependencies/core-platform0
-rw-r--r--docs/sections/building.md7
-rwxr-xr-xdownload_dependencies.py11
-rw-r--r--scripts/cmake/cmsis-dsp.cmake15
-rw-r--r--scripts/cmake/common_user_options.cmake4
8 files changed, 26 insertions, 14 deletions
diff --git a/.gitmodules b/.gitmodules
index 2fc7c1a..fb89583 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,3 +10,6 @@
[submodule "dependencies/core-platform"]
path = dependencies/core-platform
url = https://review.mlplatform.org/ml/ethos-u/ethos-u-core-platform
+[submodule "dependencies/cmsis-dsp"]
+ path = dependencies/cmsis-dsp
+ url = https://github.com/ARM-software/CMSIS-DSP.git
diff --git a/dependencies/cmsis b/dependencies/cmsis
-Subproject 6a18a74b46ac1501a7a750dd83b8bfb06fb2450
+Subproject ed78d6b78766d71cfe0431149f2f261d1c7277a
diff --git a/dependencies/cmsis-dsp b/dependencies/cmsis-dsp
new file mode 160000
+Subproject 305b12c4a7b6519fdb979d1ca6850582c7dfcad
diff --git a/dependencies/core-platform b/dependencies/core-platform
-Subproject 089b31e3482549b32792d03d256aec17ccb8f08
+Subproject fc42c71353d15c564558249bd4f13350119ab6a
diff --git a/docs/sections/building.md b/docs/sections/building.md
index 973b644..5cfb1a1 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -192,9 +192,10 @@ The build parameters are:
`dependencies/core-driver` git submodule. Repository is hosted here:
[ethos-u-core-driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver).
-- `CMSIS_SRC_PATH`: The path to the CMSIS sources to be used to build TensorFlow Lite Micro library. This parameter is
- optional and is only valid for Arm® *Cortex®-M* CPU targeted configurations. The default value points to the
- `dependencies/cmsis` git submodule. Repository is hosted here: [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
+- `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`: Paths to the CMSIS sources to be used to build TensorFlow Lite Micro library.
+ These parameters are optional and are only valid for Arm® *Cortex®-M* CPU targeted configurations. The default values
+ points to the `dependencies/cmsis` and `dependencies/cmsis-dsp` git submodules. Repositories are hosted here:
+ [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git) and [CMSIS-DPS](https://github.com/ARM-software/CMSIS-DSP).
- `ETHOS_U_NPU_ENABLED`: Sets whether the use of *Ethos-U* NPU is available for the deployment target. By default, this
is set and therefore application is built with *Ethos-U* NPU supported.
diff --git a/download_dependencies.py b/download_dependencies.py
index d2abdbc..2a81cfb 100755
--- a/download_dependencies.py
+++ b/download_dependencies.py
@@ -24,10 +24,11 @@ from urllib.request import urlopen
from zipfile import ZipFile
from pathlib import Path
-TF = "https://github.com/tensorflow/tflite-micro/archive/02715237c1fc0a23f465226364d206277f54ebce.zip"
-CMSIS = "https://github.com/ARM-software/CMSIS_5/archive/29615088b12e3ba8ce50d316cf7f38c1bd7fc620.zip"
-ETHOS_U_CORE_DRIVER = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.05.tar.gz"
-ETHOS_U_CORE_PLATFORM = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.05.tar.gz"
+TF = "https://github.com/tensorflow/tflite-micro/archive/286aeb5ff20d3571556e48a5c1af8527f84d3456.zip"
+CMSIS = "https://github.com/ARM-software/CMSIS_5/archive/ed78d6b78766d71cfe0431149f2f261d1c7277a1.zip"
+CMSIS_DSP = "https://github.com/ARM-software/CMSIS-DSP/archive/refs/tags/v1.11.0.zip"
+ETHOS_U_CORE_DRIVER = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.08.tar.gz"
+ETHOS_U_CORE_PLATFORM = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.08.tar.gz"
def download(url_file: str, post_process=None):
@@ -67,6 +68,8 @@ def main(dependencies_path: Path):
download(CMSIS,
lambda file: unzip(file.name, to_path=dependencies_path / "cmsis"))
+ download(CMSIS_DSP,
+ lambda file: unzip(file.name, to_path=dependencies_path / "cmsis-dsp"))
download(ETHOS_U_CORE_DRIVER,
lambda file: untar(file.name, to_path=dependencies_path / "core-driver"))
download(ETHOS_U_CORE_PLATFORM,
diff --git a/scripts/cmake/cmsis-dsp.cmake b/scripts/cmake/cmsis-dsp.cmake
index f22d5ef..fb2c43a 100644
--- a/scripts/cmake/cmsis-dsp.cmake
+++ b/scripts/cmake/cmsis-dsp.cmake
@@ -18,17 +18,18 @@
# CMSIS-DSP library CMake helper script.
# Check if CMSIS sources have been defined
+if (NOT DEFINED CMSIS_DSP_SRC_PATH)
+ message(FATAL_ERROR "CMSIS-DSP path should be defined for CMSIS-DSP library to be built")
+endif()
if (NOT DEFINED CMSIS_SRC_PATH)
- message(FATAL_ERROR "CMSIS path should be defined for CMSIS-DSP library to be built")
+ message(FATAL_ERROR "CMSIS-5 path should be defined to include CMSIS-CORE")
endif()
# 3. Form a list of all the sources we need in CSMS-DSP library
-set(CMSIS_DSP_PATH_SUFFIX "CMSIS/DSP")
-set(CMSIS_CORE_PATH_SUFFIX "CMSIS/Core")
-set(CMSIS_DSP_SRC_DIR "${CMSIS_SRC_PATH}/${CMSIS_DSP_PATH_SUFFIX}/Source")
-set(CMSIS_DSP_INC_DIR "${CMSIS_SRC_PATH}/${CMSIS_DSP_PATH_SUFFIX}/Include")
-set(CMSIS_DSP_PRI_INC_DIR "${CMSIS_SRC_PATH}/${CMSIS_DSP_PATH_SUFFIX}/PrivateInclude")
-set(CMSIS_CORE_INC_DIR "${CMSIS_SRC_PATH}/${CMSIS_CORE_PATH_SUFFIX}/Include")
+set(CMSIS_DSP_SRC_DIR "${CMSIS_DSP_SRC_PATH}/Source")
+set(CMSIS_DSP_INC_DIR "${CMSIS_DSP_SRC_PATH}/Include")
+set(CMSIS_DSP_PRI_INC_DIR "${CMSIS_DSP_SRC_PATH}/PrivateInclude")
+set(CMSIS_CORE_INC_DIR "${CMSIS_SRC_PATH}/CMSIS/Core/Include")
file(GLOB_RECURSE
CMSIS_DSP_SRC
diff --git a/scripts/cmake/common_user_options.cmake b/scripts/cmake/common_user_options.cmake
index 7981068..36426a8 100644
--- a/scripts/cmake/common_user_options.cmake
+++ b/scripts/cmake/common_user_options.cmake
@@ -83,6 +83,10 @@ if (NOT TARGET_PLATFORM STREQUAL native)
"Path to CMSIS-5 sources"
"${DEPENDENCY_ROOT_DIR}/cmsis"
PATH)
+ USER_OPTION(CMSIS_DSP_SRC_PATH
+ "Path to CMSIS-5 DSP sources"
+ "${DEPENDENCY_ROOT_DIR}/cmsis-dsp"
+ PATH)
# If we need NPU libraries:
if (ETHOS_U_NPU_ENABLED)