diff options
author | Bhavik Patel <bhavik.patel@arm.com> | 2020-07-27 17:23:31 +0200 |
---|---|---|
committer | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2020-08-17 11:48:46 +0200 |
commit | 50aa51d64dee7047cd72443ce5c494b8dd735893 (patch) | |
tree | 95e8e29261786043b9afc7ba78fbc7ba66745220 | |
parent | 61fc6dc48d1e6e02c2a999ff470d15011559b9b5 (diff) | |
download | ethos-u-core-software-50aa51d64dee7047cd72443ce5c494b8dd735893.tar.gz |
Add install target & GCC support
Add install target for libraries.
Minor changes to enable GCC support.
Change-Id: I6adab92cb997c1edc2729f02a4f10406463e0a9b
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmsis.cmake | 32 | ||||
-rw-r--r-- | tensorflow.cmake | 10 |
3 files changed, 35 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 22a039b..a59231f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,4 +55,4 @@ endif() include(tensorflow.cmake) # Merge libraries into static library -target_link_libraries(ethosu_core INTERFACE tflu cmsis_device) +target_link_libraries(ethosu_core INTERFACE tflu cmsis_core cmsis_device) diff --git a/cmsis.cmake b/cmsis.cmake index 5806692..74987cb 100644 --- a/cmsis.cmake +++ b/cmsis.cmake @@ -25,16 +25,32 @@ string(REGEX REPLACE "^cortex-m([0-9]+)$" "\\1" CPU_NUMBER ${CMAKE_SYSTEM_PROCES set(ARM_CPU "ARMCM${CPU_NUMBER}") -# CMSIS core library +# Set CPU specific features +if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "cortex-m33") + set(ARM_FEATURES "_DSP_FP") +elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "cortex-m4") + set(ARM_FEATURES "_FP") +elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "cortex-m7") + set(ARM_FEATURES "_DP") +else() + set(ARM_FEATURES "") +endif() + +# CMSIS core add_library(cmsis_core INTERFACE) target_include_directories(cmsis_core INTERFACE ${CMSIS_PATH}/CMSIS/Core/Include) -# CMSIS device library -add_library(cmsis_device OBJECT) -target_sources(cmsis_device PRIVATE +# CMSIS device +add_library(cmsis_device INTERFACE) +target_include_directories(cmsis_device INTERFACE ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Include) +target_compile_options(cmsis_device INTERFACE -include${ARM_CPU}${ARM_FEATURES}.h) + +# CMSIS startup +add_library(cmsis_startup STATIC ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Source/startup_${ARM_CPU}.c ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Source/system_${ARM_CPU}.c) -target_compile_definitions(cmsis_device PRIVATE ${ARM_CPU}) -target_compile_options(cmsis_device INTERFACE -include${ARM_CPU}.h) -target_include_directories(cmsis_device PUBLIC ${CMSIS_PATH}/Device/ARM/${ARM_CPU}/Include) -target_link_libraries(cmsis_device PUBLIC cmsis_core) +target_compile_definitions(cmsis_startup PRIVATE ${ARM_CPU}${ARM_FEATURES}) +target_link_libraries(cmsis_startup PRIVATE cmsis_device cmsis_core) + +# Install libraries +install(TARGETS cmsis_startup LIBRARY DESTINATION "lib") diff --git a/tensorflow.cmake b/tensorflow.cmake index c593c1d..691ee53 100644 --- a/tensorflow.cmake +++ b/tensorflow.cmake @@ -31,6 +31,12 @@ else () message(FATAL_ERROR "No compiler ID is set") endif() +# Set floating point +if (FLOAT) + set(TFLU_CC "${TFLU_CC} -mfloat-abi=${FLOAT}") + set(TFLU_CXX "${TFLU_CXX} -mfloat-abi=${FLOAT}") +endif() + set(TFLU_PATH "${TENSORFLOW_PATH}/tensorflow/lite/micro") set(TFLU_GENDIR ${CMAKE_CURRENT_BINARY_DIR}/tensorflow/) set(TFLU_TARGET "lib") @@ -58,3 +64,7 @@ add_library(tflu STATIC IMPORTED) set_property(TARGET tflu PROPERTY IMPORTED_LOCATION ${TFLU_GENDIR}/lib/libtensorflow-microlite.a) add_dependencies(tflu tflu_gen) target_include_directories(tflu INTERFACE ${TENSORFLOW_PATH}) + +# Install libraries and header files +get_target_property(TFLU_IMPORTED_LOCATION tflu IMPORTED_LOCATION) +install(FILES ${TFLU_IMPORTED_LOCATION} DESTINATION "lib") |