diff options
Diffstat (limited to 'scripts/cmake/tensorflow.cmake')
-rw-r--r-- | scripts/cmake/tensorflow.cmake | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/scripts/cmake/tensorflow.cmake b/scripts/cmake/tensorflow.cmake index 9d72405..284c70a 100644 --- a/scripts/cmake/tensorflow.cmake +++ b/scripts/cmake/tensorflow.cmake @@ -45,24 +45,19 @@ set(TENSORFLOW_LITE_MICRO_PATH "${TENSORFLOW_SRC_PATH}/tensorflow/lite/micro") set(TENSORFLOW_LITE_MICRO_GENDIR ${CMAKE_CURRENT_BINARY_DIR}/tensorflow/) set(TENSORFLOW_LITE_MICRO_PLATFORM_LIB_NAME "libtensorflow-microlite.a") -set(ETHOS_EVAL_TARGET_MAKEFILE_INC ${CMAKE_CURRENT_SOURCE_DIR}/scripts/make/cortex_m_ethos_eval_makefile.inc) - if (TARGET_PLATFORM STREQUAL native) set(TENSORFLOW_LITE_MICRO_TARGET "linux") set(TENSORFLOW_LITE_MICRO_TARGET_ARCH x86_64) else() - set(TENSORFLOW_LITE_MICRO_TARGET "cortex_m_ethos_eval") + set(TENSORFLOW_LITE_MICRO_TARGET "cortex_m_generic") set(TENSORFLOW_LITE_MICRO_TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR}${CPU_FEATURES}) if(ETHOS_U_NPU_ENABLED) # Arm Ethos-U55 NPU is the co-processor for ML workload: set(TENSORFLOW_LITE_MICRO_CO_PROCESSOR "ethos_u") + string(TOLOWER ${ETHOS_U_NPU_ID} ETHOSU_ARCH) endif() set(TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL "cmsis_nn") - - # Copy over the target helper (cortex_m_ethos_eval) - file(COPY ${ETHOS_EVAL_TARGET_MAKEFILE_INC} - DESTINATION ${TENSORFLOW_LITE_MICRO_PATH}/tools/make/targets/) endif() if (TENSORFLOW_LITE_MICRO_CLEAN_DOWNLOADS) @@ -92,11 +87,12 @@ add_custom_target(tensorflow_build ALL TARGET=${TENSORFLOW_LITE_MICRO_TARGET} TARGET_ARCH=${TENSORFLOW_LITE_MICRO_TARGET_ARCH} BUILD_TYPE=${TENSORFLOW_LITE_MICRO_BUILD_TYPE} - ETHOSU_ARCH=${ETHOSU_ARCH} - ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH} CMSIS_PATH=${CMSIS_SRC_PATH} # Conditional arguments - $<$<BOOL:${ARMCLANG_DEBUG_DWARF_LEVEL}>:ARMCLANG_DEBUG_DWARF_LEVEL=${ARMCLANG_DEBUG_DWARF_LEVEL}> + $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_ARCH=${ETHOSU_ARCH}> + $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH}> + $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:ETHOSU_DRIVER_LIBS=$<TARGET_FILE:ethosu_core_driver>> + $<$<BOOL:${TENSORFLOW_LITE_MICRO_CORE_OPTIMIZATION_LEVEL}>:CORE_OPTIMIZATION_LEVEL=${TENSORFLOW_LITE_MICRO_CORE_OPTIMIZATION_LEVEL}> $<$<BOOL:${TENSORFLOW_LITE_MICRO_KERNEL_OPTIMIZATION_LEVEL}>:KERNEL_OPTIMIZATION_LEVEL=${TENSORFLOW_LITE_MICRO_KERNEL_OPTIMIZATION_LEVEL}> $<$<BOOL:${TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL}>:OPTIMIZED_KERNEL_DIR=${TENSORFLOW_LITE_MICRO_OPTIMIZED_KERNEL}> @@ -116,7 +112,13 @@ add_custom_target(tensorflow_build ALL # Create library -add_library(tensorflow-lite-micro STATIC IMPORTED) + +set(TENSORFLOW_LITE_MICRO_TARGET tensorflow-lite-micro) +add_library(${TENSORFLOW_LITE_MICRO_TARGET} STATIC IMPORTED) + +if(ETHOS_U_NPU_ENABLED) + add_dependencies(tensorflow_build ethosu_core_driver) +endif() add_dependencies(tensorflow-lite-micro tensorflow_build) @@ -129,4 +131,4 @@ target_include_directories(tensorflow-lite-micro target_compile_definitions(tensorflow-lite-micro INTERFACE - TF_LITE_STATIC_MEMORY) + TF_LITE_STATIC_MEMORY)
\ No newline at end of file |