diff options
author | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-05-17 11:16:22 +0100 |
---|---|---|
committer | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-05-17 11:16:22 +0100 |
commit | 8c61c0a3cb8d6b534d1e423211e06b89f45bf223 (patch) | |
tree | 24895ed5f20d4cad92fbcd679fb9637637931e18 /scripts/cmake/toolchains | |
parent | b76b855448d58b85f53642532375c9b7808ab14d (diff) | |
download | ml-embedded-evaluation-kit-8c61c0a3cb8d6b534d1e423211e06b89f45bf223.tar.gz |
MLECO-2985 Adding Corstone-310 support
Change-Id: Ifa4b11154478355c10cb3e747b9938a74afd242b
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com>
Diffstat (limited to 'scripts/cmake/toolchains')
-rw-r--r-- | scripts/cmake/toolchains/bare-metal-armclang.cmake | 22 | ||||
-rw-r--r-- | scripts/cmake/toolchains/bare-metal-gcc.cmake | 24 |
2 files changed, 37 insertions, 9 deletions
diff --git a/scripts/cmake/toolchains/bare-metal-armclang.cmake b/scripts/cmake/toolchains/bare-metal-armclang.cmake index d0b0824..97da76f 100644 --- a/scripts/cmake/toolchains/bare-metal-armclang.cmake +++ b/scripts/cmake/toolchains/bare-metal-armclang.cmake @@ -31,7 +31,7 @@ set(MIN_ARM_CLANG_VERSION 6.16) set(CMAKE_C_COMPILER_WORKS 1) set(CMAKE_CXX_COMPILER_WORKS 1) -if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR AND NOT DEFINED CMAKE_SYSTEM_ARCH) set(CMAKE_SYSTEM_PROCESSOR cortex-m55) endif() @@ -39,13 +39,27 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m55) # Flags for cortex-m55 set(CPU_ID M55) set(CPU_COMPILE_DEF CPU_CORTEX_${CPU_ID}) - set(CPU_NAME ${CMAKE_SYSTEM_PROCESSOR}) set(ARM_CPU "ARMC${CPU_ID}") set(FLOAT_ABI hard) set(ARM_MATH_DSP 1) set(ARM_MATH_LOOPUNROLL 1) set(CPU_HEADER_FILE "${ARM_CPU}.h") + set(CPU_COMPILE_OPTION "-mcpu=${CMAKE_SYSTEM_PROCESSOR}") set(CPU_LINK_OPT "--cpu=Cortex-${CPU_ID}") +elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m85 OR CMAKE_SYSTEM_ARCH STREQUAL armv8.1-m.main) + # Flags for Cortex-M85 + set(CPU_ID ARMv81MML_DSP_DP_MVE_FP) + set(ARM_CPU "ARMv81MML") + set(CPU_COMPILE_DEF ${CPU_ID}) + set(FLOAT_ABI hard) + set(ARM_MATH_DSP 1) + set(ARM_MATH_LOOPUNROLL 1) + + # @TODO: Revise once we have the CPU file in CMSIS and CPU flags + # are supported by toolchains. + set(CPU_HEADER_FILE "${CPU_ID}.h") + set(CPU_COMPILE_OPTION "-march=armv8.1-m.main+mve.fp+fp.dp") + set(CPU_LINK_OPT "--cpu=8.1-M.Main.mve.fp") elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m33) # Flags for cortex-m33 to go here endif() @@ -67,11 +81,11 @@ add_compile_options( # Arch compile options: add_compile_options( -mthumb - -mcpu=${CPU_NAME} -mfloat-abi=${FLOAT_ABI} --target=arm-arm-non-eabi -mlittle-endian - -MD) + -MD + ${CPU_COMPILE_OPTION}) # Compile definitions: add_compile_definitions( diff --git a/scripts/cmake/toolchains/bare-metal-gcc.cmake b/scripts/cmake/toolchains/bare-metal-gcc.cmake index a5688d6..a6d6c0e 100644 --- a/scripts/cmake/toolchains/bare-metal-gcc.cmake +++ b/scripts/cmake/toolchains/bare-metal-gcc.cmake @@ -29,7 +29,7 @@ set(MIN_GCC_VERSION 10.2.1) set(CMAKE_C_COMPILER_WORKS 1) set(CMAKE_CXX_COMPILER_WORKS 1) -if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR AND NOT DEFINED CMAKE_SYSTEM_ARCH) set(CMAKE_SYSTEM_PROCESSOR cortex-m55) endif() @@ -37,13 +37,27 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m55) # Flags for cortex-m55 set(CPU_ID M55) set(CPU_COMPILE_DEF CPU_CORTEX_${CPU_ID}) - set(CPU_NAME ${CMAKE_SYSTEM_PROCESSOR}) set(ARM_CPU "ARMC${CPU_ID}") set(FLOAT_ABI hard) set(ARM_MATH_DSP 1) set(ARM_MATH_LOOPUNROLL 1) set(CPU_HEADER_FILE "${ARM_CPU}.h") + set(CPU_COMPILE_OPTION "-mcpu=${CMAKE_SYSTEM_PROCESSOR}") set(CPU_LINK_OPT "--cpu=Cortex-${CPU_ID}") +elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m85 OR CMAKE_SYSTEM_ARCH STREQUAL armv8.1-m.main) + # Flags for Cortex-M85 + set(CPU_ID ARMv81MML_DSP_DP_MVE_FP) + set(ARM_CPU "ARMv81MML") + set(CPU_COMPILE_DEF ${CPU_ID}) + set(FLOAT_ABI hard) + set(ARM_MATH_DSP 1) + set(ARM_MATH_LOOPUNROLL 1) + + # @TODO: Revise once we have the CPU file in CMSIS and CPU flags + # are supported by toolchains. + set(CPU_HEADER_FILE "${CPU_ID}.h") + set(CPU_COMPILE_OPTION "-march=armv8.1-m.main+mve.fp+fp.dp") + set(CPU_LINK_OPT "--cpu=8.1-M.Main.mve.fp") elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m33) # Flags for cortex-m33 to go here endif() @@ -67,10 +81,10 @@ add_compile_options( # Arch compile options: add_compile_options( -mthumb - -mcpu=${CPU_NAME} -mfloat-abi=${FLOAT_ABI} -mlittle-endian - -MD) + -MD + ${CPU_COMPILE_OPTION}) # Compile definitions: add_compile_definitions( @@ -82,7 +96,7 @@ add_compile_definitions( # Link options: add_link_options( -mthumb - -mcpu=${CPU_NAME} + ${CPU_COMPILE_OPTION} -mfloat-abi=${FLOAT_ABI} -mlittle-endian --stats |