summaryrefslogtreecommitdiff
path: root/docs/use_cases
diff options
context:
space:
mode:
authorKshitij Sisodia <kshitij.sisodia@arm.com>2021-05-07 16:08:14 +0100
committerKshitij Sisodia <kshitij.sisodia@arm.com>2021-05-07 17:28:51 +0100
commitf9c19eaa9ab11e4409679fc6d2862c89410493a7 (patch)
treeb791a4c03f1fe986a2ac32593a3dc817ae3f247a /docs/use_cases
parent2181d0ac35f30202985a877950c88325ff665f6b (diff)
downloadml-embedded-evaluation-kit-f9c19eaa9ab11e4409679fc6d2862c89410493a7.tar.gz
MLECO-1860: Support for Arm GNU Embedded Toolchain
This patch enables compilation of ML use cases bare-metal applications using Arm GNU Embedded Toolchain. The GNU toolchain can be used instead of the Arm Compiler that was already supported. The GNU toolchain is also set as the default toolchain when building applications for the MPS3 target. Note: The version of GNU toolchain must be 10.2.1 or higher. Change-Id: I5fff242f0f52d2db6c75d292f9fa990df1aec978 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Diffstat (limited to 'docs/use_cases')
-rw-r--r--docs/use_cases/ad.md86
-rw-r--r--docs/use_cases/asr.md109
-rw-r--r--docs/use_cases/img_class.md105
-rw-r--r--docs/use_cases/inference_runner.md97
-rw-r--r--docs/use_cases/kws.md108
-rw-r--r--docs/use_cases/kws_asr.md112
6 files changed, 151 insertions, 466 deletions
diff --git a/docs/use_cases/ad.md b/docs/use_cases/ad.md
index 5a37a0a..5f210b1 100644
--- a/docs/use_cases/ad.md
+++ b/docs/use_cases/ad.md
@@ -108,74 +108,26 @@ mkdir build_ad && cd build_ad
On Linux, execute the following command to build **only** Anomaly Detection application to run on the Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=ad ..
+cmake ../ -DUSE_CASE_BUILD=ad
```
-
-Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific
-parameters.
-
To configure a build that can be debugged using Arm-DS, we can just specify
-the build type as `Debug`:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DUSE_CASE_BUILD=ad ..
-```
-
-To configure a build that can be debugged using a tool that only supports
-DWARF format 3 (Modeldebugger for example), we can use:
+the build type as `Debug` and use the `Arm Compiler` toolchain file:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
+cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \
-DCMAKE_BUILD_TYPE=Debug \
- -DARMCLANG_DEBUG_DWARF_LEVEL=3 \
- -DUSE_CASE_BUILD=ad ..
+ -DUSE_CASE_BUILD=ad
```
-> **Note:** If building for different Ethos-U55 configurations, see
-[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations):
-
-If the TensorFlow source tree is not in its default expected location,
-set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the Ethos-U55 driver is not in the default location,
-`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \
- -DUSE_CASE_BUILD=ad ..
-```
-
-Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by
-default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \
- -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \
- -DUSE_CASE_BUILD=ad ..
-```
+Also see:
+- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies)
+- [Using Arm Compiler](../sections/building.md#using-arm-compiler)
+- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform)
+- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools)
-> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run the CMake command.
+> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run
+>the CMake command.
If the CMake command succeeded, build the application as follows:
@@ -239,12 +191,9 @@ or `<any>_<text>_02_<here>.wav` if it was from machine ID 02 etc.
Next set ad_FILE_PATH to the location of this folder when building:
```commandline
-cmake \
+cmake .. \
-Dad_FILE_PATH=/tmp/custom_files/ \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=ad ..
+ -DUSE_CASE_BUILD=ad
```
The audio flies found in the `ad_FILE_PATH` folder will be picked up and automatically converted to C++ files during the CMake
@@ -268,12 +217,9 @@ The application performs inference using the model pointed to by the CMake param
An example:
```commandline
-cmake \
+cmake .. \
-Dad_MODEL_TFLITE_PATH=<path/to/custom_ad_model_after_vela.tflite> \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=ad ..
+ -DUSE_CASE_BUILD=ad
```
> **Note:** Clean the build directory before re-running the CMake command.
diff --git a/docs/use_cases/asr.md b/docs/use_cases/asr.md
index d20dc5a..ec10fdb 100644
--- a/docs/use_cases/asr.md
+++ b/docs/use_cases/asr.md
@@ -1,19 +1,19 @@
# Automatic Speech Recognition Code Sample
-- [Introduction](#introduction)
- - [Prerequisites](#prerequisites)
-- [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
- - [Build options](#build-options)
- - [Build process](#build-process)
- - [Add custom input](#add-custom-input)
- - [Add custom model](#add-custom-model)
-- [Setting-up and running Ethos-U55 Code Sample](#setting-up-and-running-ethos-u55-code-sample)
- - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
- - [Starting Fast Model simulation](#starting-fast-model-simulation)
- - [Running Automatic Speech Recognition](#running-automatic-speech-recognition)
-- [Automatic Speech Recognition processing information](#automatic-speech-recognition-processing-information)
- - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction)
- - [Postprocessing](#postprocessing)
+- [Automatic Speech Recognition Code Sample](#automatic-speech-recognition-code-sample)
+ - [Introduction](#introduction)
+ - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction)
+ - [Postprocessing](#postprocessing)
+ - [Prerequisites](#prerequisites)
+ - [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
+ - [Build options](#build-options)
+ - [Build process](#build-process)
+ - [Add custom input](#add-custom-input)
+ - [Add custom model](#add-custom-model)
+ - [Setting-up and running Ethos-U55 Code Sample](#setting-up-and-running-ethos-u55-code-sample)
+ - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+ - [Starting Fast Model simulation](#starting-fast-model-simulation)
+ - [Running Automatic Speech Recognition](#running-automatic-speech-recognition)
## Introduction
@@ -148,72 +148,24 @@ On Linux, execute the following command to build **only** Automatic Speech Recog
Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=asr ..
+cmake ../ -DUSE_CASE_BUILD=asr
```
-Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific
-parameters.
-
To configure a build that can be debugged using Arm-DS, we can just specify
-the build type as `Debug`:
+the build type as `Debug` and use the `Arm Compiler` toolchain file:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
+cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \
-DCMAKE_BUILD_TYPE=Debug \
- -DUSE_CASE_BUILD=asr ..
-```
-
-To configure a build that can be debugged using a tool that only supports
-DWARF format 3 (Modeldebugger for example), we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARMCLANG_DEBUG_DWARF_LEVEL=3 \
- -DUSE_CASE_BUILD=asr ..
-```
-
-> **Note:** If building for different Ethos-U55 configurations, see
->[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations):
-
-If the TensorFlow source tree is not in its default expected location,
-set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the Ethos-U55 driver is not in the default location,
-`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \
- -DUSE_CASE_BUILD=asr ..
+ -DUSE_CASE_BUILD=asr
```
-Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by
-default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \
- -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \
- -DUSE_CASE_BUILD=asr ..
-```
+Also see:
+- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies)
+- [Using Arm Compiler](../sections/building.md#using-arm-compiler)
+- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform)
+- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools)
> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run
>the CMake command.
@@ -272,12 +224,9 @@ cp my_clip.wav /tmp/custom_wavs/
Next set `asr_FILE_PATH` to the location of this folder when building:
```commandline
-cmake \
+cmake .. \
-Dasr_FILE_PATH=/tmp/custom_wavs/ \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DUSE_CASE_BUILD=asr \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake ..
+ -DUSE_CASE_BUILD=asr
```
The audio clips found in the `asr_FILE_PATH` folder will be picked up and automatically converted to C++ files during the
@@ -317,12 +266,10 @@ the location of the associated labels file.
An example:
```commandline
-cmake \
+cmake .. \
-Dasr_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \
-Dasr_LABELS_TXT_FILE=<path/to/labels_custom_model.txt> \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake ..
+ -DUSE_CASE_BUILD=asr
```
> **Note:** Clean the build directory before re-running the CMake command.
diff --git a/docs/use_cases/img_class.md b/docs/use_cases/img_class.md
index 0102409..68a5285 100644
--- a/docs/use_cases/img_class.md
+++ b/docs/use_cases/img_class.md
@@ -1,16 +1,17 @@
# Image Classification Code Sample
-- [Introduction](#introduction)
- - [Prerequisites](#prerequisites)
-- [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
- - [Build options](#build-options)
- - [Build process](#build-process)
- - [Add custom input](#add-custom-input)
- - [Add custom model](#add-custom-model)
-- [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
- - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
- - [Starting Fast Model simulation](#starting-fast-model-simulation)
- - [Running Image Classification](#running-image-classification)
+- [Image Classification Code Sample](#image-classification-code-sample)
+ - [Introduction](#introduction)
+ - [Prerequisites](#prerequisites)
+ - [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
+ - [Build options](#build-options)
+ - [Build process](#build-process)
+ - [Add custom input](#add-custom-input)
+ - [Add custom model](#add-custom-model)
+ - [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
+ - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+ - [Starting Fast Model simulation](#starting-fast-model-simulation)
+ - [Running Image Classification](#running-image-classification)
## Introduction
@@ -76,72 +77,24 @@ On Linux, execute the following command to build **only** Image Classification a
Model when providing only the mandatory arguments for CMake configuration:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=img_class ..
+cmake ../ -DUSE_CASE_BUILD=img_class
```
-Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific
-parameters.
-
To configure a build that can be debugged using Arm-DS, we can just specify
-the build type as `Debug`:
+the build type as `Debug` and use the `Arm Compiler` toolchain file:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
+cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \
-DCMAKE_BUILD_TYPE=Debug \
- -DUSE_CASE_BUILD=img_class ..
-```
-
-To configure a build that can be debugged using a tool that only supports
-DWARF format 3 (Modeldebugger for example), we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARMCLANG_DEBUG_DWARF_LEVEL=3 \
- -DUSE_CASE_BUILD=img_class ..
-```
-
-> **Note:** If building for different Ethos-U55 configurations, see
->[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations):
-
-If the TensorFlow source tree is not in its default expected location,
-set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the Ethos-U55 driver is not in the default location,
-`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \
- -DUSE_CASE_BUILD=img_class ..
+ -DUSE_CASE_BUILD=img_class
```
-Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by
-default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \
- -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \
- -DUSE_CASE_BUILD=img_class ..
-```
+Also see:
+- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies)
+- [Using Arm Compiler](../sections/building.md#using-arm-compiler)
+- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform)
+- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools)
> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run
>the CMake command.
@@ -200,12 +153,9 @@ cp custom_image1.bmp /tmp/custom_images/
Next set `img_class_FILE_PATH` to the location of this folder when building:
```commandline
-cmake \
+cmake .. \
-Dimg_class_FILE_PATH=/tmp/custom_images/ \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=img_class ..
+ -DUSE_CASE_BUILD=img_class
```
The images found in the `img_class_FILE_PATH` folder will be picked up and automatically converted to C++ files during
@@ -249,13 +199,10 @@ Then, you must set `img_class_MODEL_TFLITE_PATH` to the location of the Vela pro
An example:
```commandline
-cmake \
+cmake .. \
-Dimg_class_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \
-Dimg_class_LABELS_TXT_FILE=<path/to/labels_custom_model.txt> \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=img_class ..
+ -DUSE_CASE_BUILD=img_class
```
> **Note:** Clean the build directory before re-running the CMake command.
diff --git a/docs/use_cases/inference_runner.md b/docs/use_cases/inference_runner.md
index ad47e7e..ebc4677 100644
--- a/docs/use_cases/inference_runner.md
+++ b/docs/use_cases/inference_runner.md
@@ -1,16 +1,16 @@
# Inference Runner Code Sample
-- [Introduction](#introduction)
- - [Prerequisites](#prerequisites)
-- [Building the Code Samples application from sources](#building-the-code-samples-application-from-sources)
- - [Build options](#build-options)
- - [Build process](#build-process)
- - [Add custom model](#add-custom-model)
-- [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
- - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
- - [Starting Fast Model simulation](#starting-fast-model-simulation)
- - [Running Inference Runner](#running-inference-runner)
-- [Inference Runner processing information](#inference-runner-processing-information)
+- [Inference Runner Code Sample](#inference-runner-code-sample)
+ - [Introduction](#introduction)
+ - [Prerequisites](#prerequisites)
+ - [Building the Code Samples application from sources](#building-the-code-samples-application-from-sources)
+ - [Build options](#build-options)
+ - [Build process](#build-process)
+ - [Add custom model](#add-custom-model)
+ - [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
+ - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+ - [Starting Fast Model simulation](#starting-fast-model-simulation)
+ - [Running Inference Runner](#running-inference-runner)
## Introduction
@@ -68,72 +68,23 @@ On Linux, execute the following command to build **only** Inference Runner appli
Model when providing only the mandatory arguments for CMake configuration:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=inference_runner ..
+cmake ../ -DUSE_CASE_BUILD=inference_runner
```
-
-Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific
-parameters.
-
To configure a build that can be debugged using Arm-DS, we can just specify
-the build type as `Debug`:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DUSE_CASE_BUILD=inference_runner ..
-```
-
-To configure a build that can be debugged using a tool that only supports
-DWARF format 3 (Modeldebugger for example), we can use:
+the build type as `Debug` and use the `Arm Compiler` toolchain file:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
+cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \
-DCMAKE_BUILD_TYPE=Debug \
- -DARMCLANG_DEBUG_DWARF_LEVEL=3 \
- -DUSE_CASE_BUILD=inference_runner ..
+ -DUSE_CASE_BUILD=inference_runner
```
-> **Note:** If building for different Ethos-U55 configurations, see
->[Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations):
-
-If the TensorFlow source tree is not in its default expected location,
-set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the Ethos-U55 driver is not in the default location,
-`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \
- -DUSE_CASE_BUILD=inference_runner ..
-```
-
-Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by
-default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \
- -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \
- -DUSE_CASE_BUILD=inference_runner ..
-```
+Also see:
+- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies)
+- [Using Arm Compiler](../sections/building.md#using-arm-compiler)
+- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform)
+- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools)
> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run
>the CMake command.
@@ -188,11 +139,9 @@ Then, you must set `inference_runner_MODEL_TFLITE_PATH` to the location of the V
An example:
```commandline
-cmake \
+cmake .. \
-Dinference_runner_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake ..
+ -DUSE_CASE_BUILD=inference_runner
```
> **Note:** Clean the build directory before re-running the CMake command.
diff --git a/docs/use_cases/kws.md b/docs/use_cases/kws.md
index baf813a..8811efb 100644
--- a/docs/use_cases/kws.md
+++ b/docs/use_cases/kws.md
@@ -1,19 +1,19 @@
# Keyword Spotting Code Sample
-- [Introduction](#introduction)
- - [Prerequisites](#prerequisites)
-- [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
- - [Build options](#build-options)
- - [Build process](#build-process)
- - [Add custom input](#add-custom-input)
- - [Add custom model](#add-custom-model)
-- [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
- - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
- - [Starting Fast Model simulation](#starting-fast-model-simulation)
- - [Running Keyword Spotting](#running-keyword-spotting)
-- [Keyword Spotting processing information](#keyword-spotting-processing-information)
- - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction)
- - [Postprocessing](#postprocessing)
+- [Keyword Spotting Code Sample](#keyword-spotting-code-sample)
+ - [Introduction](#introduction)
+ - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction)
+ - [Postprocessing](#postprocessing)
+ - [Prerequisites](#prerequisites)
+ - [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
+ - [Build options](#build-options)
+ - [Build process](#build-process)
+ - [Add custom input](#add-custom-input)
+ - [Add custom model](#add-custom-model)
+ - [Setting-up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
+ - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+ - [Starting Fast Model simulation](#starting-fast-model-simulation)
+ - [Running Keyword Spotting](#running-keyword-spotting)
## Introduction
@@ -117,70 +117,24 @@ mkdir build_kws && cd build_kws
On Linux, execute the following command to build Keyword Spotting application to run on the Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=kws ..
+cmake ../ -DUSE_CASE_BUILD=kws
```
-Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific
-parameters.
-
To configure a build that can be debugged using Arm-DS, we can just specify
-the build type as `Debug`:
+the build type as `Debug` and use the `Arm Compiler` toolchain file:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
+cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \
-DCMAKE_BUILD_TYPE=Debug \
- -DUSE_CASE_BUILD=kws ..
-```
-
-To configure a build that can be debugged using a tool that only supports
-DWARF format 3 (Modeldebugger for example), we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARMCLANG_DEBUG_DWARF_LEVEL=3 \
- -DUSE_CASE_BUILD=kws ..
-```
-
-> **Note:** If building for different Ethos-U55 configurations, see [Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations):
-
-If the TensorFlow source tree is not in its default expected location,
-set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the Ethos-U55 driver is not in the default location,
-`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \
- -DUSE_CASE_BUILD=kws ..
+ -DUSE_CASE_BUILD=kws
```
-Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \
- -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \
- -DUSE_CASE_BUILD=kws ..
-```
+Also see:
+- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies)
+- [Using Arm Compiler](../sections/building.md#using-arm-compiler)
+- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform)
+- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools)
> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run the CMake command.
@@ -237,12 +191,9 @@ cp my_clip.wav /tmp/custom_wavs/
Next set `kws_FILE_PATH` to the location of this folder when building:
```commandline
-cmake \
+cmake .. \
-Dkws_FILE_PATH=/tmp/custom_wavs/ \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DUSE_CASE_BUILD=kws \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake..
+ -DUSE_CASE_BUILD=kws
```
The audio clips found in the `kws_FILE_PATH` folder will be picked up and automatically converted to C++ files during the
@@ -281,13 +232,10 @@ to the location of the associated labels file.
An example:
```commandline
-cmake \
+cmake .. \
-Dkws_MODEL_TFLITE_PATH=<path/to/custom_model_after_vela.tflite> \
-Dkws_LABELS_TXT_FILE=<path/to/labels_custom_model.txt> \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DUSE_CASE_BUILD=kws \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake ..
+ -DUSE_CASE_BUILD=kws
```
> **Note:** Clean the build directory before re-running the CMake command.
diff --git a/docs/use_cases/kws_asr.md b/docs/use_cases/kws_asr.md
index a347b16..b63ee3a 100644
--- a/docs/use_cases/kws_asr.md
+++ b/docs/use_cases/kws_asr.md
@@ -1,21 +1,21 @@
# Keyword Spotting and Automatic Speech Recognition Code Sample
-- [Introduction](#introduction)
- - [Prerequisites](#prerequisites)
-- [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
- - [Build options](#build-options)
- - [Build process](#build-process)
- - [Add custom input](#add-custom-input)
- - [Add custom model](#add-custom-model)
-- [Setting-up and running Ethos-U55 Code Samples](#setting-up-and-running-ethos-u55-code-samples)
- - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
- - [Starting Fast Model simulation](#starting-fast-model-simulation)
- - [Running Keyword Spotting and Automatic Speech Recognition](#running-keyword-spotting-and-automatic-speech-recognition)
-- [Keyword Spotting and Automatic Speech Recognition processing information](#keyword-spotting-and-automatic-speech-recognition-processing-information)
- - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction)
- - [Keyword Spotting Preprocessing](#keyword-spotting-preprocessing)
- - [Automatic Speech Recognition Preprocessing](#automatic-speech-recognition-preprocessing)
- - [Postprocessing](#postprocessing)
+- [Keyword Spotting and Automatic Speech Recognition Code Sample](#keyword-spotting-and-automatic-speech-recognition-code-sample)
+ - [Introduction](#introduction)
+ - [Preprocessing and feature extraction](#preprocessing-and-feature-extraction)
+ - [Keyword Spotting Preprocessing](#keyword-spotting-preprocessing)
+ - [Automatic Speech Recognition Preprocessing](#automatic-speech-recognition-preprocessing)
+ - [Postprocessing](#postprocessing)
+ - [Prerequisites](#prerequisites)
+ - [Building the code sample application from sources](#building-the-code-sample-application-from-sources)
+ - [Build options](#build-options)
+ - [Build process](#build-process)
+ - [Add custom input](#add-custom-input)
+ - [Add custom model](#add-custom-model)
+ - [Setting-up and running Ethos-U55 Code Samples](#setting-up-and-running-ethos-u55-code-samples)
+ - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+ - [Starting Fast Model simulation](#starting-fast-model-simulation)
+ - [Running Keyword Spotting and Automatic Speech Recognition](#running-keyword-spotting-and-automatic-speech-recognition)
## Introduction
@@ -188,70 +188,24 @@ mkdir build_kws_asr && cd build_kws_asr
On Linux, execute the following command to build the application to run on the Ethos-U55 Fast Model when providing only the mandatory arguments for CMake configuration:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=./scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=kws_asr ..
+cmake ../ -DUSE_CASE_BUILD=kws_asr
```
-Toolchain option `CMAKE_TOOLCHAIN_FILE` points to the toolchain specific file to set the compiler and platform specific
-parameters.
-
To configure a build that can be debugged using Arm-DS, we can just specify
-the build type as `Debug`:
+the build type as `Debug` and use the `Arm Compiler` toolchain file:
```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
+cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-armclang.cmake \
-DCMAKE_BUILD_TYPE=Debug \
- -DUSE_CASE_BUILD=kws_asr ..
-```
-
-To configure a build that can be debugged using a tool that only supports
-DWARF format 3 (Modeldebugger for example), we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DARMCLANG_DEBUG_DWARF_LEVEL=3 \
- -DUSE_CASE_BUILD=kws_asr ..
-```
-
-> **Note:** If building for different Ethos-U55 configurations, see [Configuring build for different Arm Ethos-U55 configurations](../sections/building.md#Configuring-build-for-different-Arm-Ethos-U55-configurations):
-
-If the TensorFlow source tree is not in its default expected location,
-set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the Ethos-U55 driver is not in the default location,
-`ETHOS_U55_DRIVER_SRC_PATH` can be used to configure the location. For example:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core_driver \
- -DUSE_CASE_BUILD=kws_asr ..
+ -DUSE_CASE_BUILD=kws_asr
```
-Also, `CMSIS_SRC_PATH` parameter can be used to override the CMSIS sources used for compilation used by TensorFlow by default. For example, to use the CMSIS sources fetched by the ethos-u helper script, we can use:
-
-```commandline
-cmake \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DTENSORFLOW_SRC_PATH=../ethos-u/core_software/tensorflow \
- -DETHOS_U55_DRIVER_SRC_PATH=../ethos-u/core_software/core_driver \
- -DCMSIS_SRC_PATH=../ethos-u/core_software/cmsis \
- -DUSE_CASE_BUILD=kws_asr ..
-```
+Also see:
+- [Configuring with custom TPIP dependencies](../sections/building.md#Configuring-with-custom-TPIP-dependencies)
+- [Using Arm Compiler](../sections/building.md#using-arm-compiler)
+- [Configuring the build for simple_platform](../sections/building.md#Configuring-the-build-for-simple_platform)
+- [Working with model debugger from Arm FastModel Tools](../sections/building.md#Working-with-model-debugger-from-Arm-FastModel-Tools)
> **Note:** If re-building with changed parameters values, it is highly advised to clean the build directory and re-run the CMake command.
@@ -309,12 +263,9 @@ cp custom_audio1.wav /tmp/custom_files/
Next set `kws_asr_FILE_PATH` to the location of this folder when building:
```commandline
-cmake \
+cmake .. \
-Dkws_asr_FILE_PATH=/tmp/custom_files/ \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=kws_asr- ..
+ -DUSE_CASE_BUILD=kws_asr
```
The files found in the `kws_asr_FILE_PATH` folder will be picked up and automatically converted to C++ files during the
@@ -348,13 +299,10 @@ Then, you must set `kws_asr_MODEL_TFLITE_PATH_ASR` to the location of the Vela p
An example:
```commandline
-cmake \
+cmake .. \
-Dkws_asr_MODEL_TFLITE_PATH_ASR=<path/to/custom_asr_model_after_vela.tflite> \
-Dkws_asr_LABELS_TXT_FILE_ASR=<path/to/labels_custom_model.txt> \
- -DTARGET_PLATFORM=mps3 \
- -DTARGET_SUBSYSTEM=sse-300 \
- -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/bare-metal-toolchain.cmake \
- -DUSE_CASE_BUILD=kws_asr ..
+ -DUSE_CASE_BUILD=kws_asr
```
> **Note:** Clean the build directory before re-running the CMake command.