add cortex-m4 cortex-m33 build
This commit is contained in:
parent
c560c78272
commit
a8ff783c0a
|
@ -13,7 +13,7 @@ set(MSLITE_GPU_BACKEND "" CACHE STRING "enable gpu backend, \
|
|||
set(MSLITE_REGISTRY_DEVICE "off" CACHE STRING "Compile Mindspore Lite that supports specific devices, \
|
||||
currently supported devices: Hi3516D/Hi3519A/Hi3559A/SD3403")
|
||||
set(MSLITE_MICRO_PLATFORM "auto" CACHE STRING "Platform of micro static library micro static, \
|
||||
currently supported : cortex-m7/auto")
|
||||
currently supported : cortex-m7/cortex-m4/cortex-m33/auto")
|
||||
option(MSLITE_ENABLE_NPU "enable npu, only arm64 or arm32 support" off)
|
||||
option(MSLITE_ENABLE_TRAIN "enable train" on)
|
||||
option(MSLITE_ENABLE_SSE "enable SSE instruction set, only x86_64 support" off)
|
||||
|
@ -532,9 +532,7 @@ elseif(WIN32)
|
|||
set(RUNTIME_COMPONENT_NAME "win-x64")
|
||||
endif()
|
||||
elseif(PLATFORM_MCU)
|
||||
if(TOOLCHAIN_NAME STREQUAL "cortex-m7")
|
||||
set(RUNTIME_COMPONENT_NAME "none-cortex-m7")
|
||||
endif()
|
||||
set(RUNTIME_COMPONENT_NAME "none-${TOOLCHAIN_NAME}")
|
||||
else()
|
||||
if((CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") AND MSLITE_ENABLE_ACL)
|
||||
set(RUNTIME_COMPONENT_NAME "linux-aarch64")
|
||||
|
|
|
@ -270,7 +270,7 @@ build_lite() {
|
|||
elif [[ ("${MSLITE_ENABLE_NNIE}" == "on" || "${MSLITE_REGISTRY_DEVICE}" == "Hi3516D") && "${local_lite_platform}" == "x86_64" ]]; then
|
||||
MSLITE_REGISTRY_DEVICE=Hi3516D
|
||||
elif [[ "${MSLITE_MICRO_PLATFORM}" == cortex-m* && "${local_lite_platform}" == "x86_64" ]]; then
|
||||
TOOLCHAIN_NAME="cortex-m7"
|
||||
TOOLCHAIN_NAME=${MSLITE_MICRO_PLATFORM}
|
||||
fi
|
||||
|
||||
machine=`uname -m`
|
||||
|
@ -353,9 +353,9 @@ build_lite() {
|
|||
echo "Use the '-I arm64' command when compiling MindSpore Lite on an aarch64 architecture system."
|
||||
exit 1
|
||||
fi
|
||||
if [[ "${TOOLCHAIN_NAME}" == "cortex-m7" ]]; then
|
||||
CMAKE_TOOLCHAIN_FILE=${BASEPATH}/mindspore/lite/cmake/cortex-m7.toolchain.cmake
|
||||
LITE_CMAKE_ARGS="${LITE_CMAKE_ARGS} -DTOOLCHAIN_NAME=cortex-m7"
|
||||
if [[ "${TOOLCHAIN_NAME}" == cortex-m* ]]; then
|
||||
CMAKE_TOOLCHAIN_FILE=${BASEPATH}/mindspore/lite/cmake/${TOOLCHAIN_NAME}.toolchain.cmake
|
||||
LITE_CMAKE_ARGS="${LITE_CMAKE_ARGS} -DTOOLCHAIN_NAME=${TOOLCHAIN_NAME}"
|
||||
LITE_CMAKE_ARGS="${LITE_CMAKE_ARGS} -DPLATFORM_MCU=on"
|
||||
LITE_CMAKE_ARGS="${LITE_CMAKE_ARGS} -DMSLITE_MINDDATA_IMPLEMENT=off -DMSLITE_ENABLE_TRAIN=off -DMSLITE_GPU_BACKEND=off -DMSLITE_ENABLE_TOOLS=off"
|
||||
else
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
find_program(arm-none-eabi-gcc_EXE arm-none-eabi-gcc)
|
||||
if(NOT arm-none-eabi-gcc_EXE)
|
||||
message(FATAL_ERROR "Required C COMPILER arm-none-eabi-gcc not found, "
|
||||
"please install the package and try building MindSpore again.")
|
||||
else()
|
||||
message("Find C COMPILER PATH: ${arm-none-eabi-gcc_EXE}")
|
||||
endif()
|
||||
|
||||
find_program(arm-none-eabi-g++_EXE arm-none-eabi-g++)
|
||||
if(NOT arm-none-eabi-g++_EXE)
|
||||
message(FATAL_ERROR "Required CXX COMPILER arm-none-eabi-g++ not found, "
|
||||
"please install the package and try building MindSpore again.")
|
||||
else()
|
||||
message("Find CXX COMPILER PATH: ${arm-none-eabi-g++_EXE}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-mcpu=cortex-m33 -mthumb -mfpu=fpv5-sp-d16 -mfloat-abi=hard -std=gnu11 \
|
||||
-specs=nosys.specs -specs=nano.specs")
|
||||
set(CMAKE_C_FLAGS "-mcpu=cortex-m33 -mthumb -mfpu=fpv5-sp-d16 -mfloat-abi=hard -std=gnu11 \
|
||||
-specs=nosys.specs -specs=nano.specs")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(CROSS_COMPILATION_ARM contex-m33)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
|
||||
|
||||
SET(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
SET(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
SET(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
|
|
@ -0,0 +1,37 @@
|
|||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
find_program(arm-none-eabi-gcc_EXE arm-none-eabi-gcc)
|
||||
if(NOT arm-none-eabi-gcc_EXE)
|
||||
message(FATAL_ERROR "Required C COMPILER arm-none-eabi-gcc not found, "
|
||||
"please install the package and try building MindSpore again.")
|
||||
else()
|
||||
message("Find C COMPILER PATH: ${arm-none-eabi-gcc_EXE}")
|
||||
endif()
|
||||
|
||||
find_program(arm-none-eabi-g++_EXE arm-none-eabi-g++)
|
||||
if(NOT arm-none-eabi-g++_EXE)
|
||||
message(FATAL_ERROR "Required CXX COMPILER arm-none-eabi-g++ not found, "
|
||||
"please install the package and try building MindSpore again.")
|
||||
else()
|
||||
message("Find CXX COMPILER PATH: ${arm-none-eabi-g++_EXE}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nosys.specs -specs=nano.specs")
|
||||
set(CMAKE_C_FLAGS "-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nosys.specs -specs=nano.specs")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(CROSS_COMPILATION_ARM contex-m4)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
|
||||
|
||||
SET(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
SET(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
SET(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
|
Loading…
Reference in New Issue