Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ These examples use the [Arm® Compiler for Embedded](https://developer.arm.com/T

- `AVH-FVP-CI.yml` implements the *AVH build and execution test* that runs on [Arm Virtual Hardware - Fixed Virtual Platforms (AVH FVP)](https://arm-software.github.io/AVH/main/simulation/html/index.html) simulation models. The directory `FVP` contains configuration files for the FVP simulation models.

- `Hardware-CI.yml` implmentes the *Hardware build test* that runs on evaluation boards. The output of this build test is stored as artifacts and can be downloaded to the evaluation board for execution.
- `Hardware-CI.yml` implements the *Hardware build test* that runs on evaluation boards. The output of this build test is stored as artifacts and can be downloaded to the evaluation board for execution.
144 changes: 67 additions & 77 deletions README.md

Large diffs are not rendered by default.

9 changes: 5 additions & 4 deletions common/common.clayer.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright 2022-2025 Arm Limited and/or its
# SPDX-FileCopyrightText: Copyright 2022-2026 Arm Limited and/or its
# affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
Expand Down Expand Up @@ -37,6 +37,7 @@ layer:
- component: tensorflow::Data Processing:Math:ruy
- component: tensorflow::Machine Learning:TensorFlow:Kernel Utils
- component: tensorflow::Machine Learning:TensorFlow:Testing
- component: ARM::ML Eval Kit:Common:API
- component: ARM::ML Eval Kit:Common:Log
- component: ARM::ML Eval Kit:Common:Math
- component: ARM::Machine Learning:MLEK:CommonUtils
- component: ARM::Machine Learning:MLEK:FwkInterface
- component: ARM::Machine Learning:MLEK:Log
- component: ARM::Machine Learning:MLEK:Math
5 changes: 3 additions & 2 deletions device/alif-ensemble/src/BoardInit.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2023-2024, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -22,14 +22,15 @@
extern "C" {
#endif // defined(__cplusplus)

#include "mlek/log/log_macros.h"

#include "RTE_Components.h"
#include "RTE_Device.h"
#include CMSIS_device_header
#include "pinconf.h"
#include "Driver_Common.h"
#include "ethosu_driver.h"
#include "uart_stdout.h"
#include "log_macros.h"
#include <stdio.h>

#if defined(M55_HP)
Expand Down
5 changes: 3 additions & 2 deletions device/alif-ensemble/src/CameraCapture.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2023-2024 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2023-2024, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand Down Expand Up @@ -35,12 +35,13 @@
extern "C" {
#endif /* __cplusplus */

#include "mlek/log/log_macros.h"

#include "RTE_Components.h"
#include CMSIS_device_header
#include "Driver_CPI.h"
#include "Driver_GPIO.h"
#include "pinconf.h"
#include "log_macros.h"

extern ARM_DRIVER_CPI Driver_CPI;

Expand Down
6 changes: 3 additions & 3 deletions device/alif-ensemble/src/GpioSignal.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2022-2023, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -18,7 +18,7 @@

#include "GpioSignal.hpp"

#include "log_macros.h"
#include "mlek/log/log_macros.h"

#include <inttypes.h>

Expand Down Expand Up @@ -67,4 +67,4 @@ namespace app {
}

} /* namespace app */
} /* namespace arm */
} /* namespace arm */
5 changes: 3 additions & 2 deletions device/alif-ensemble/src/LcdDisplay.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2024 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2022-2024, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -22,10 +22,11 @@
extern "C" {
#endif // defined(__cplusplus)

#include "mlek/log/log_macros.h"

#include "RTE_Components.h"
#include "RTE_Device.h"
#include CMSIS_device_header
#include "log_macros.h"
#include "Driver_Common.h"
#include "Driver_CDC200.h"

Expand Down
5 changes: 3 additions & 2 deletions device/alif-ensemble/src/gpio_wrapper.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2024 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2022-2024, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -22,12 +22,13 @@ extern "C" {

#include "gpio_wrapper.h"

#include "mlek/log/log_macros.h"

#include "RTE_Components.h"
#include "RTE_Device.h"
#include CMSIS_device_header

#include "Driver_GPIO.h"
#include "log_macros.h"

extern ARM_DRIVER_GPIO Driver_GPIO6;
extern ARM_DRIVER_GPIO Driver_GPIO7;
Expand Down
4 changes: 2 additions & 2 deletions device/corstone/src/BoardInit.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2024 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2022-2024, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -22,7 +22,7 @@
extern "C" {
#endif // defined(__cplusplus)

#include "log_macros.h"
#include "mlek/log/log_macros.h"
#include "uart_stdout.h"

/* Platform dependent files */
Expand Down
6 changes: 4 additions & 2 deletions device/stm32f746-discovery/src/BoardInit.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2021-2023 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2021-2023, 2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -21,9 +21,11 @@
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)

#include "mlek/log/log_macros.h"

#include "RTE_Components.h"
#include CMSIS_device_header
#include "log_macros.h"
#include "stm32746g_discovery.h"
#include "stm32746g_discovery_audio.h"
#include "stm32f7xx_hal.h"
Expand Down
7 changes: 3 additions & 4 deletions kws/kws.cproject.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright 2022-2025 Arm Limited and/or its
# SPDX-FileCopyrightText: Copyright 2022-2026 Arm Limited and/or its
# affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
Expand Down Expand Up @@ -145,6 +145,5 @@ project:
- +Alif-E7-M55-HE

components:
- component: ARM::ML Eval Kit:ML Framework:TFLM
- component: ARM::ML Eval Kit:Voice:Keyword spotting

- component: ARM::Machine Learning:MLEK:FwkImpl&TensorFlowLiteMicro
- component: ARM::Machine Learning:MLEK:UseCase&Keyword spotting
19 changes: 10 additions & 9 deletions kws/src/main_live.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2025 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2022-2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -23,22 +23,23 @@
* the memory requirements for TensorFlow Lite Micro framework and
* some heap for the API runtime.
*/
#include "AudioUtils.hpp" /* Generic audio utilities like sliding windows. */
#include "mlek/common/AudioSlidingWindow.hpp" /* Generic audio utilities like sliding windows. */
#include "mlek/common/Classifier.hpp" /* Classifier for the result. */
#include "mlek/use_case/kws/KwsProcessing.hpp" /* Pre and Post Process. */
#include "mlek/use_case/kws/KwsResult.hpp" /* KWS results class. */
#include "mlek/fwk/tflm/MicroNetKwsModel.hpp" /* Model API. */
#include "mlek/log/log_macros.h" /* Logging macros (optional) */

#include "BufAttributes.hpp" /* Buffer attributes to be applied. */
#include "Classifier.hpp" /* Classifier for the result. */
#include "KwsProcessing.hpp" /* Pre and Post Process. */
#include "KwsResult.hpp" /* KWS results class. */
#include "Labels.hpp" /* Label Data for the model. */
#include "MicroNetKwsModel.hpp" /* Model API. */

#include <string>
#include <vector>

/* Platform dependent files */
#include "RTE_Components.h" /* Provides definition for CMSIS_device_header */
#include CMSIS_device_header /* Gives us IRQ num, base addresses. */
#include "RTE_Components.h" /* Provides definition for CMSIS_device_header */
#include CMSIS_device_header /* Gives us IRQ num, base addresses. */
#include "BoardInit.hpp" /* Board initialisation */
#include "log_macros.h" /* Logging macros (optional) */

#include "BoardAudioUtils.hpp" /* Board specific audio utilities - recording audio. */
#include "BoardPlotUtils.hpp" /* Board specific display utilities. */
Expand Down
27 changes: 14 additions & 13 deletions kws/src/main_wav.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2025 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2022-2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -24,21 +24,22 @@
* the memory requirements for TensorFlow Lite Micro framework and
* some heap for the API runtime.
*/
#include "AudioUtils.hpp"
#include "BufAttributes.hpp" /* Buffer attributes to be applied */
#include "Classifier.hpp" /* Classifier for the result */
#include "InputFiles.hpp" /* Baked-in input (not needed for live data) */
#include "KwsProcessing.hpp" /* Pre and Post Process */
#include "KwsResult.hpp"
#include "Labels.hpp" /* Label Data for the model */
#include "MicroNetKwsMfcc.hpp"
#include "MicroNetKwsModel.hpp" /* Model API */
#include "mlek/common/AudioSlidingWindow.hpp"
#include "mlek/common/Classifier.hpp" /* Classifier for the result */
#include "mlek/use_case/kws/KwsProcessing.hpp" /* Pre and Post Process */
#include "mlek/use_case/kws/KwsResult.hpp"
#include "mlek/use_case/kws/MicroNetKwsMfcc.hpp"
#include "mlek/fwk/tflm/MicroNetKwsModel.hpp" /* Model API */
#include "mlek/log/log_macros.h" /* Logging macros (optional) */

#include "BufAttributes.hpp" /* Buffer attributes to be applied */
#include "InputFiles.hpp" /* Baked-in input (not needed for live data) */
#include "Labels.hpp" /* Label Data for the model */

/* Platform dependent files */
#include "RTE_Components.h" /* Provides definition for CMSIS_device_header */
#include CMSIS_device_header /* Gives us IRQ num, base addresses. */
#include "RTE_Components.h" /* Provides definition for CMSIS_device_header */
#include CMSIS_device_header /* Gives us IRQ num, base addresses. */
#include "BoardInit.hpp" /* Board initialisation */
#include "log_macros.h" /* Logging macros (optional) */

namespace arm {
namespace app {
Expand Down
22 changes: 11 additions & 11 deletions mlek.csolution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/2.12.0/tools/projmgr/schemas/csolution.schema.json
# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/2.14.0/tools/projmgr/schemas/csolution.schema.json

solution:
created-for: CMSIS-Toolbox@2.12.0
created-for: CMSIS-Toolbox@2.14.0
compiler: AC6
cdefault: # use default setup of toolchain specific controls.

packs:
- pack: ARM::CMSIS@6.2.0
- pack: ARM::CMSIS-DSP@1.16.2
- pack: ARM::CMSIS@6.3.0
- pack: ARM::CMSIS-DSP@1.17.0
- pack: ARM::CMSIS-NN@7.0.0

- pack: ARM::ethos-u-core-driver@1.25.2
- pack: tensorflow::flatbuffers@1.25.2
- pack: tensorflow::gemmlowp@1.25.2
- pack: tensorflow::kissfft@1.25.2
- pack: tensorflow::ruy@1.25.2
- pack: tensorflow::tensorflow-lite-micro@1.25.2
- pack: ARM::ethos-u-core-driver@1.26.2
- pack: tensorflow::flatbuffers@1.26.2
- pack: tensorflow::gemmlowp@1.26.2
- pack: tensorflow::kissfft@1.26.2
- pack: tensorflow::ruy@1.26.2
- pack: tensorflow::tensorflow-lite-micro@1.26.2

- pack: ARM::ml-embedded-eval-kit-uc-api@25.12.1
- pack: ARM::ml-embedded-eval-kit-uc-api@26.6.0

- pack: ARM::V2M_MPS3_SSE_300_BSP@1.5.0
- pack: ARM::V2M_MPS3_SSE_310_BSP@1.4.0
Expand Down
6 changes: 3 additions & 3 deletions object-detection/object-detection.clayer.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright 2022-2025 Arm Limited and/or its
# SPDX-FileCopyrightText: Copyright 2022-2026 Arm Limited and/or its
# affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
Expand Down Expand Up @@ -70,5 +70,5 @@ layer:
- ACTIVATION_BUF_SZ: 532480

components:
- component: ARM::ML Eval Kit:ML Framework:TFLM
- component: ARM::ML Eval Kit:Vision:Object detection
- component: ARM::Machine Learning:MLEK:FwkImpl&TensorFlowLiteMicro
- component: ARM::Machine Learning:MLEK:UseCase&Object detection
6 changes: 3 additions & 3 deletions object-detection/object-detection.cproject.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright 2022-2025 Arm Limited and/or its
# SPDX-FileCopyrightText: Copyright 2022-2026 Arm Limited and/or its
# affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
Expand Down Expand Up @@ -119,5 +119,5 @@ project:
- .VSI-enabled

components:
- component: ARM::ML Eval Kit:ML Framework:TFLM
- component: ARM::ML Eval Kit:Vision:Object detection
- component: ARM::Machine Learning:MLEK:FwkImpl&TensorFlowLiteMicro
- component: ARM::Machine Learning:MLEK:UseCase&Object detection
27 changes: 14 additions & 13 deletions object-detection/src/main_live.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2021-2025 Arm Limited and/or its
* SPDX-FileCopyrightText: Copyright 2021-2026 Arm Limited and/or its
* affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
Expand All @@ -24,21 +24,22 @@
* the memory requirements for TensorFlow Lite Micro framework and
* some heap for the API runtime.
*/
#include "BufAttributes.hpp" /* Buffer attributes to be applied */
#include "Classifier.hpp" /* Classifier for the result */
#include "DetectionResult.hpp"
#include "DetectorPostProcessing.hpp" /* Post Process */
#include "DetectorPreProcessing.hpp" /* Pre Process */
#include "YoloFastestModel.hpp" /* Model API */
#include "CameraCapture.hpp" /* Live camera capture API */
#include "LcdDisplay.hpp" /* LCD display */
#include "GpioSignal.hpp" /* GPIO signals to drive LEDs */
#include "mlek/common/Classifier.hpp" /* Classifier for the result */
#include "mlek/use_case/object_detection/DetectionResult.hpp"
#include "mlek/use_case/object_detection/DetectorPostProcessing.hpp" /* Post Process */
#include "mlek/use_case/object_detection/DetectorPreProcessing.hpp" /* Pre Process */
#include "mlek/fwk/tflm/YoloFastestModel.hpp" /* Model API */
#include "mlek/log/log_macros.h" /* Logging macros (optional) */

#include "BufAttributes.hpp" /* Buffer attributes to be applied */
#include "CameraCapture.hpp" /* Live camera capture API */
#include "LcdDisplay.hpp" /* LCD display */
#include "GpioSignal.hpp" /* GPIO signals to drive LEDs */

/* Platform dependent files */
#include "RTE_Components.h" /* Provides definition for CMSIS_device_header */
#include CMSIS_device_header /* Gives us IRQ num, base addresses. */
#include "RTE_Components.h" /* Provides definition for CMSIS_device_header */
#include CMSIS_device_header /* Gives us IRQ num, base addresses. */
#include "BoardInit.hpp" /* Board initialisation */
#include "log_macros.h" /* Logging macros (optional) */

#define CROPPED_IMAGE_WIDTH 192
#define CROPPED_IMAGE_HEIGHT 192
Expand Down
Loading