summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorKshitij Sisodia <kshitij.sisodia@arm.com>2022-05-20 14:30:02 +0100
committerKshitij Sisodia <kshitij.sisodia@arm.com>2022-05-23 16:11:45 +0100
commit9c6f9f8afcb003fd72944918d6b6e200d68c0918 (patch)
treeb1237909970ac74232f4ed81a26edc0847204269 /source
parent6f6df0934f991b64fef494b86643b3f5074fca0e (diff)
downloadml-embedded-evaluation-kit-9c6f9f8afcb003fd72944918d6b6e200d68c0918.tar.gz
MLECO-3225: Using official support for Arm Cortex-M85 CPU.
* CMake version requirement bumped up to 3.21.0 * CMake 3.22.4 installed in the local Python virtualenv * CPU flags updated in toolchain files. * Using __ARM_FEATURE_DSP instead of potentially defining ARM_MATH_DSP wrongly. * CMake project version bumped up to 22.05.0 Changes also made for MLECO-3107 (pack generation): * TensorFlow Lite Micro CMSIS-pack version updated to 1.22.02. * Change to using __ARM_FEATURE_DSP will also help the generated pack. Partial changes for MLECO-3095: * CMSIS updated to version post 5.9.0 * TensorFlow Lite Micro updated to latest available * Ethos-U driver and core-platform repositories updated to 20.05_rc2 tags. Change-Id: I012c9e65897aed8ce589cff9bfe3a19efc3edeb9 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Diffstat (limited to 'source')
-rw-r--r--source/application/api/common/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/ad/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/asr/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/img_class/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/inference_runner/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/kws/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/noise_reduction/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/object_detection/CMakeLists.txt2
-rw-r--r--source/application/api/use_case/vww/CMakeLists.txt2
-rw-r--r--source/hal/CMakeLists.txt3
-rw-r--r--source/hal/source/components/cmsis_device/CMakeLists.txt3
-rw-r--r--source/hal/source/components/lcd/CMakeLists.txt4
-rw-r--r--source/hal/source/components/npu/CMakeLists.txt2
-rw-r--r--source/hal/source/components/npu_ta/CMakeLists.txt2
-rw-r--r--source/hal/source/components/platform_pmu/CMakeLists.txt2
-rw-r--r--source/hal/source/components/stdout/CMakeLists.txt2
-rw-r--r--source/hal/source/platform/mps3/CMakeLists.txt3
-rw-r--r--source/hal/source/platform/native/CMakeLists.txt3
-rw-r--r--source/hal/source/platform/simple/CMakeLists.txt3
-rw-r--r--source/log/CMakeLists.txt3
-rw-r--r--source/math/CMakeLists.txt3
-rw-r--r--source/math/PlatformMath.cc60
-rw-r--r--source/math/include/PlatformMath.hpp18
-rw-r--r--source/profiler/CMakeLists.txt1
24 files changed, 61 insertions, 69 deletions
diff --git a/source/application/api/common/CMakeLists.txt b/source/application/api/common/CMakeLists.txt
index 5078adc..1d72eef 100644
--- a/source/application/api/common/CMakeLists.txt
+++ b/source/application/api/common/CMakeLists.txt
@@ -20,7 +20,7 @@
# NOTE: this library should not depend on HAL. #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(COMMON_UC_UTILS_TARGET common_api)
project(${COMMON_UC_UTILS_TARGET}
diff --git a/source/application/api/use_case/ad/CMakeLists.txt b/source/application/api/use_case/ad/CMakeLists.txt
index 224816f..8cd703d 100644
--- a/source/application/api/use_case/ad/CMakeLists.txt
+++ b/source/application/api/use_case/ad/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# ANOMALY DETECTION API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(AD_API_TARGET ad_api)
project(${AD_API_TARGET}
diff --git a/source/application/api/use_case/asr/CMakeLists.txt b/source/application/api/use_case/asr/CMakeLists.txt
index 77e3d6a..dcd4bec 100644
--- a/source/application/api/use_case/asr/CMakeLists.txt
+++ b/source/application/api/use_case/asr/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# AUTOMATIC SPEECH RECOGNITION API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(ASR_API_TARGET asr_api)
project(${ASR_API_TARGET}
diff --git a/source/application/api/use_case/img_class/CMakeLists.txt b/source/application/api/use_case/img_class/CMakeLists.txt
index f4818d8..e8ec5f4 100644
--- a/source/application/api/use_case/img_class/CMakeLists.txt
+++ b/source/application/api/use_case/img_class/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# IMG CLASS API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(IMG_CLASS_API_TARGET img_class_api)
project(${IMG_CLASS_API_TARGET}
diff --git a/source/application/api/use_case/inference_runner/CMakeLists.txt b/source/application/api/use_case/inference_runner/CMakeLists.txt
index d0fe629..728330f 100644
--- a/source/application/api/use_case/inference_runner/CMakeLists.txt
+++ b/source/application/api/use_case/inference_runner/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# INFERENCE RUNNER API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(INFERENCE_RUNNER_API_TARGET inference_runner_api)
project(${INFERENCE_RUNNER_API_TARGET}
diff --git a/source/application/api/use_case/kws/CMakeLists.txt b/source/application/api/use_case/kws/CMakeLists.txt
index 3256d03..517a35a 100644
--- a/source/application/api/use_case/kws/CMakeLists.txt
+++ b/source/application/api/use_case/kws/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# KEYWORD SPOTTING API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(KWS_API_TARGET kws_api)
project(${KWS_API_TARGET}
diff --git a/source/application/api/use_case/noise_reduction/CMakeLists.txt b/source/application/api/use_case/noise_reduction/CMakeLists.txt
index 5fa9a73..1c19009 100644
--- a/source/application/api/use_case/noise_reduction/CMakeLists.txt
+++ b/source/application/api/use_case/noise_reduction/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# NOISE REDUCTION API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(NOISE_REDUCTION_API_TARGET noise_reduction_api)
project(${NOISE_REDUCTION_API_TARGET}
diff --git a/source/application/api/use_case/object_detection/CMakeLists.txt b/source/application/api/use_case/object_detection/CMakeLists.txt
index 797ff55..f3438e4 100644
--- a/source/application/api/use_case/object_detection/CMakeLists.txt
+++ b/source/application/api/use_case/object_detection/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# OBJECT DETECTION API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(OBJECT_DETECTION_API_TARGET object_detection_api)
project(${OBJECT_DETECTION_API_TARGET}
diff --git a/source/application/api/use_case/vww/CMakeLists.txt b/source/application/api/use_case/vww/CMakeLists.txt
index b933d32..4d7257b 100644
--- a/source/application/api/use_case/vww/CMakeLists.txt
+++ b/source/application/api/use_case/vww/CMakeLists.txt
@@ -17,7 +17,7 @@
#########################################################
# VISUAL WAKE WORD API library #
#########################################################
-cmake_minimum_required(VERSION 3.15.6)
+cmake_minimum_required(VERSION 3.21.0)
set(VWW_API_TARGET vww_api)
project(${VWW_API_TARGET}
diff --git a/source/hal/CMakeLists.txt b/source/hal/CMakeLists.txt
index b8c115c..018e970 100644
--- a/source/hal/CMakeLists.txt
+++ b/source/hal/CMakeLists.txt
@@ -19,7 +19,7 @@
# HAL library #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(HAL_TARGET hal)
project(${HAL_TARGET}
@@ -67,5 +67,4 @@ message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "*******************************************************")
message(STATUS "Library : " ${HAL_TARGET})
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/hal/source/components/cmsis_device/CMakeLists.txt b/source/hal/source/components/cmsis_device/CMakeLists.txt
index 5615506..d2173ec 100644
--- a/source/hal/source/components/cmsis_device/CMakeLists.txt
+++ b/source/hal/source/components/cmsis_device/CMakeLists.txt
@@ -18,7 +18,7 @@
#########################################################
# Generic CMSIS Start up library for Cortex-M targets #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(CMSIS_DEVICE_TARGET cmsis_device)
set(CPU_HEADER_TARGET rte_components)
@@ -86,5 +86,4 @@ message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "*******************************************************")
message(STATUS "Library : " ${CMSIS_DEVICE_TARGET})
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/hal/source/components/lcd/CMakeLists.txt b/source/hal/source/components/lcd/CMakeLists.txt
index 7262618..fead814 100644
--- a/source/hal/source/components/lcd/CMakeLists.txt
+++ b/source/hal/source/components/lcd/CMakeLists.txt
@@ -19,7 +19,7 @@
# LCD library #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
project(lcd_component
DESCRIPTION "LCD support library"
@@ -95,4 +95,4 @@ target_link_libraries(${LCD_STUBS_COMPONENT_TARGET} PUBLIC
message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "*******************************************************")
message(STATUS "Library : " ${LCD_STUBS_COMPONENT_TARGET})
-message(STATUS "*******************************************************") \ No newline at end of file
+message(STATUS "*******************************************************")
diff --git a/source/hal/source/components/npu/CMakeLists.txt b/source/hal/source/components/npu/CMakeLists.txt
index f94d0f9..299fe45 100644
--- a/source/hal/source/components/npu/CMakeLists.txt
+++ b/source/hal/source/components/npu/CMakeLists.txt
@@ -19,7 +19,7 @@
# Ethos-U NPU initialization library #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(ETHOS_U_NPU_COMPONENT ethos_u_npu)
project(${ETHOS_U_NPU_COMPONENT}
DESCRIPTION "Ethos-U NPU initialization library"
diff --git a/source/hal/source/components/npu_ta/CMakeLists.txt b/source/hal/source/components/npu_ta/CMakeLists.txt
index 358dab9..a3f98d8 100644
--- a/source/hal/source/components/npu_ta/CMakeLists.txt
+++ b/source/hal/source/components/npu_ta/CMakeLists.txt
@@ -24,7 +24,7 @@
# sweeps on the Arm Ethos-U NPUs. The wrapper library here provides an
# easy way to add initialisation of the timing adapter block.
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(ETHOS_U_NPU_TA_COMPONENT ethos_u_ta)
project(${ETHOS_U_NPU_TA_COMPONENT}
DESCRIPTION "Ethos-U NPU timing adapter initialization library"
diff --git a/source/hal/source/components/platform_pmu/CMakeLists.txt b/source/hal/source/components/platform_pmu/CMakeLists.txt
index df375c3..a25363f 100644
--- a/source/hal/source/components/platform_pmu/CMakeLists.txt
+++ b/source/hal/source/components/platform_pmu/CMakeLists.txt
@@ -18,7 +18,7 @@
#####################################################################
# Interface library for platform performance monitoring unit #
#####################################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
project(platform_pmu
DESCRIPTION "Header/interface for platform PMU"
diff --git a/source/hal/source/components/stdout/CMakeLists.txt b/source/hal/source/components/stdout/CMakeLists.txt
index 9e60e36..7bc2c92 100644
--- a/source/hal/source/components/stdout/CMakeLists.txt
+++ b/source/hal/source/components/stdout/CMakeLists.txt
@@ -22,7 +22,7 @@
# and PL011 UART drivers with retarget functions. #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
project(stdout
DESCRIPTION "Standard output and err redirection over UART"
diff --git a/source/hal/source/platform/mps3/CMakeLists.txt b/source/hal/source/platform/mps3/CMakeLists.txt
index b90f6b7..57394f4 100644
--- a/source/hal/source/platform/mps3/CMakeLists.txt
+++ b/source/hal/source/platform/mps3/CMakeLists.txt
@@ -19,7 +19,7 @@
# MPS3 platform support library #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(PLATFORM_DRIVERS_TARGET platform_drivers)
project(${PLATFORM_DRIVERS_TARGET}
DESCRIPTION "Platform drivers library for MPS3 FPGA/FVP targets"
@@ -160,5 +160,4 @@ message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "*******************************************************")
message(STATUS "Library : " ${PLATFORM_DRIVERS_TARGET})
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/hal/source/platform/native/CMakeLists.txt b/source/hal/source/platform/native/CMakeLists.txt
index 41d68e9..cb95c88 100644
--- a/source/hal/source/platform/native/CMakeLists.txt
+++ b/source/hal/source/platform/native/CMakeLists.txt
@@ -19,7 +19,7 @@
# Native target platform support library #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(PLATFORM_DRIVERS_TARGET platform_drivers)
@@ -73,5 +73,4 @@ target_link_libraries(${PLATFORM_DRIVERS_TARGET}
message(STATUS "*******************************************************")
message(STATUS "Library : " ${PLATFORM_DRIVERS_TARGET})
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/hal/source/platform/simple/CMakeLists.txt b/source/hal/source/platform/simple/CMakeLists.txt
index 1ab8e25..7cdfe9a 100644
--- a/source/hal/source/platform/simple/CMakeLists.txt
+++ b/source/hal/source/platform/simple/CMakeLists.txt
@@ -19,7 +19,7 @@
# A generic (simple) platform support library #
#########################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(PLATFORM_DRIVERS_TARGET platform_drivers)
project(${PLATFORM_DRIVERS_TARGET}
DESCRIPTION "Platform drivers library for a generic target"
@@ -124,5 +124,4 @@ message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "*******************************************************")
message(STATUS "Library : " ${PLATFORM_DRIVERS_TARGET})
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/log/CMakeLists.txt b/source/log/CMakeLists.txt
index 79ebc2d..88789b5 100644
--- a/source/log/CMakeLists.txt
+++ b/source/log/CMakeLists.txt
@@ -18,7 +18,7 @@
#######################################################
# Header-only logging definitions as an interface lib.#
#######################################################
-cmake_minimum_required(VERSION 3.16.3)
+cmake_minimum_required(VERSION 3.21.0)
set(BSP_LOGGING_TARGET log)
@@ -40,5 +40,4 @@ target_include_directories(${BSP_LOGGING_TARGET} INTERFACE include)
message(STATUS "*******************************************************")
message(STATUS "Library : " ${BSP_LOGGING_TARGET})
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/math/CMakeLists.txt b/source/math/CMakeLists.txt
index eee8f75..462ffb3 100644
--- a/source/math/CMakeLists.txt
+++ b/source/math/CMakeLists.txt
@@ -33,7 +33,7 @@ target_include_directories(arm_math PUBLIC include)
target_link_libraries(arm_math PRIVATE log)
-if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "cortex-m55" OR "${CMAKE_SYSTEM_ARCH}" STREQUAL "armv8.1-m.main")
+if (${CMAKE_CROSSCOMPILING})
include(${CMAKE_SCRIPTS_DIR}/cmsis-dsp.cmake)
target_link_libraries(arm_math PUBLIC cmsis-dsp)
endif ()
@@ -41,5 +41,4 @@ endif ()
message(STATUS "*******************************************************")
message(STATUS "Library : " arm_math)
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")
diff --git a/source/math/PlatformMath.cc b/source/math/PlatformMath.cc
index b666d29..8950941 100644
--- a/source/math/PlatformMath.cc
+++ b/source/math/PlatformMath.cc
@@ -24,31 +24,31 @@ namespace math {
float MathUtils::CosineF32(float radians)
{
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
return arm_cos_f32(radians);
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
return cosf(radians);
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
}
float MathUtils::SineF32(float radians)
{
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
return arm_sin_f32(radians);
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
return sinf(radians);
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
}
float MathUtils::SqrtF32(float input)
{
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
float output = 0.f;
arm_sqrt_f32(input, &output);
return output;
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
return sqrtf(input);
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
}
float MathUtils::MeanF32(float* ptrSrc, const uint32_t srcLen)
@@ -57,14 +57,14 @@ namespace math {
return 0.f;
}
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
float result = 0.f;
arm_mean_f32(ptrSrc, srcLen, &result);
return result;
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
float acc = std::accumulate(ptrSrc, ptrSrc + srcLen, 0.0);
return acc/srcLen;
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
}
float MathUtils::StdDevF32(float* ptrSrc, const uint32_t srcLen,
@@ -73,7 +73,7 @@ namespace math {
if (!srcLen) {
return 0.f;
}
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
/**
* Note Standard deviation calculation can be off
* by > 0.01 but less than < 0.1, according to
@@ -83,7 +83,7 @@ namespace math {
float stdDev = 0;
arm_std_f32(ptrSrc, srcLen, &stdDev);
return stdDev;
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
auto VarianceFunction = [=](float acc, const float value) {
return acc + (((value - mean) * (value - mean))/ srcLen);
};
@@ -92,7 +92,7 @@ namespace math {
VarianceFunction);
return sqrtf(acc);
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
}
void MathUtils::FftInitF32(const uint16_t fftLen,
@@ -104,7 +104,7 @@ namespace math {
fftInstance.m_optimisedOptionAvailable = false;
fftInstance.m_type = type;
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
arm_status status = ARM_MATH_ARGUMENT_ERROR;
switch (fftInstance.m_type) {
case FftType::real:
@@ -125,7 +125,7 @@ namespace math {
} else {
fftInstance.m_optimisedOptionAvailable = true;
}
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
debug("Optimised FFT will be used: %s.\n", fftInstance.m_optimisedOptionAvailable? "yes": "no");
@@ -203,12 +203,12 @@ namespace math {
switch (fftInstance.m_type) {
case FftType::real:
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
if (fftInstance.m_optimisedOptionAvailable) {
arm_rfft_fast_f32(&fftInstance.m_instanceReal, input.data(), fftOutput.data(), 0);
return;
}
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
FftRealF32(input, fftOutput);
return;
@@ -217,13 +217,13 @@ namespace math {
printf_err("Complex FFT instance should have input size >= (FFT len x 2)");
return;
}
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
if (fftInstance.m_optimisedOptionAvailable) {
fftOutput = input; /* Complex function works in-place */
arm_cfft_f32(&fftInstance.m_instanceComplex, fftOutput.data(), 0, 1);
return;
}
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
FftComplexF32(input, fftOutput);
return;
@@ -236,15 +236,15 @@ namespace math {
void MathUtils::VecLogarithmF32(std::vector <float>& input,
std::vector <float>& output)
{
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
arm_vlog_f32(input.data(), output.data(),
output.size());
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
for (auto in = input.begin(), out = output.begin();
in != input.end() && out != output.end(); ++in, ++out) {
*out = logf(*in);
}
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
}
float MathUtils::DotProductF32(float* srcPtrA, float* srcPtrB,
@@ -252,13 +252,13 @@ namespace math {
{
float output = 0.f;
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
arm_dot_prod_f32(srcPtrA, srcPtrB, srcLen, &output);
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
for (uint32_t i = 0; i < srcLen; ++i) {
output += *srcPtrA++ * *srcPtrB++;
}
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
return output;
}
@@ -273,15 +273,15 @@ namespace math {
return false;
}
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
arm_cmplx_mag_squared_f32(ptrSrc, ptrDst, srcLen/2);
-#else /* ARM_MATH_DSP */
+#else /* __ARM_FEATURE_DSP */
for (uint32_t j = 0; j < srcLen/2; ++j) {
const float real = *ptrSrc++;
const float im = *ptrSrc++;
*ptrDst++ = real*real + im*im;
}
-#endif /* ARM_MATH_DSP */
+#endif /* __ARM_FEATURE_DSP */
return true;
}
diff --git a/source/math/include/PlatformMath.hpp b/source/math/include/PlatformMath.hpp
index 2bf7733..859716f 100644
--- a/source/math/include/PlatformMath.hpp
+++ b/source/math/include/PlatformMath.hpp
@@ -18,12 +18,12 @@
#define PLATFORM_MATH_HPP
/* See if ARM DSP functions can be used. */
-#if defined(ARM_MATH_DSP)
- #include "arm_math.h"
- #define M_PI (PI)
-#else
- #include <cmath>
-#endif
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
+#include "arm_math.h"
+#define M_PI (PI)
+#else /* (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) */
+#include <cmath>
+#endif /* (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) */
#include <vector>
#include <cstdint>
@@ -39,10 +39,10 @@ namespace math {
};
struct FftInstance {
-#if ARM_MATH_DSP
+#if (defined(__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
arm_rfft_fast_instance_f32 m_instanceReal;
arm_cfft_instance_f32 m_instanceComplex;
-#endif
+#endif /* (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1)) */
uint16_t m_fftLen{0};
FftType m_type{FftType::real};
bool m_optimisedOptionAvailable{false};
@@ -177,4 +177,4 @@ namespace math {
} /* namespace app */
} /* namespace arm */
-#endif /* PLATFORM_MATH_HPP */ \ No newline at end of file
+#endif /* PLATFORM_MATH_HPP */
diff --git a/source/profiler/CMakeLists.txt b/source/profiler/CMakeLists.txt
index 7e3db3e..0a9c338 100644
--- a/source/profiler/CMakeLists.txt
+++ b/source/profiler/CMakeLists.txt
@@ -39,5 +39,4 @@ message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "*******************************************************")
message(STATUS "Library : " profiler)
message(STATUS "CMAKE_SYSTEM_PROCESSOR : " ${CMAKE_SYSTEM_PROCESSOR})
-message(STATUS "CMAKE_SYSTEM_ARCH : " ${CMAKE_SYSTEM_ARCH})
message(STATUS "*******************************************************")