summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRichard Burton <richard.burton@arm.com>2023-11-03 16:21:58 +0000
committerRichard <richard.burton@arm.com>2023-11-03 16:25:43 +0000
commitbcec675a9239ea021ad08dc937f0b7487eb62dba (patch)
tree96a0dc8cd1ec65c649c0c835c98b760c9864d0d3 /scripts
parentdaba3cf2e3633cbd0e4f8aabe7578b97e88deee1 (diff)
downloadml-embedded-evaluation-kit-bcec675a9239ea021ad08dc937f0b7487eb62dba.tar.gz
MLECO-3640 MLECO-3678: Adding support for M85 in GCC
Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I087e23f43b41fa0ef97ec7dcaeba807f6cba17e7
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/toolchains/bare-metal-gcc.cmake23
1 files changed, 15 insertions, 8 deletions
diff --git a/scripts/cmake/toolchains/bare-metal-gcc.cmake b/scripts/cmake/toolchains/bare-metal-gcc.cmake
index d693fc6..015f962 100644
--- a/scripts/cmake/toolchains/bare-metal-gcc.cmake
+++ b/scripts/cmake/toolchains/bare-metal-gcc.cmake
@@ -1,5 +1,5 @@
#----------------------------------------------------------------------------
-# SPDX-FileCopyrightText: Copyright 2021 - 2022 Arm Limited and/or its affiliates <open-source-office@arm.com>
+# SPDX-FileCopyrightText: Copyright 2021-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,8 +23,6 @@ set(CMAKE_CXX_COMPILER ${TRIPLET}-g++)
set(CMAKE_CROSSCOMPILING true)
set(CMAKE_SYSTEM_NAME Generic)
-set(MIN_GCC_VERSION 10.2.1)
-
# Skip compiler test execution
set(CMAKE_C_COMPILER_WORKS 1)
set(CMAKE_CXX_COMPILER_WORKS 1)
@@ -35,6 +33,7 @@ endif()
if (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m55)
# Flags for cortex-m55
+ set(MIN_GCC_VERSION 10.2.1)
set(CPU_ID M55)
set(CPU_COMPILE_DEF CPU_CORTEX_${CPU_ID})
set(ARM_CPU "ARMC${CPU_ID}")
@@ -44,13 +43,17 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m55)
set(CPU_LINK_OPT "--cpu=Cortex-${CPU_ID}")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m85)
# Flags for cortex-m85
- # @TODO: Current versions of GNU compiler do not support Cortex-M85, we compile for Cortex-M55 instead.
- message(WARNING "Arm GNU Toolchain does not support Arm Cortex-M85 yet, switching to Cortex-M55.")
- set(CMAKE_SYSTEM_PROCESSOR cortex-m55 CACHE STRING "Cortex-M CPU to use" FORCE)
- # No need to duplicate the definitions here.
- # Flags from Cortex-M55 will be added as this toolchain file will be read by CMake again.
+ set(MIN_GCC_VERSION 13.2.1)
+ set(CPU_ID M85)
+ set(CPU_COMPILE_DEF CPU_CORTEX_${CPU_ID})
+ set(ARM_CPU "ARMC${CPU_ID}")
+ set(CPU_HEADER_FILE "${ARM_CPU}.h")
+ set(CPU_COMPILE_OPTION "-mcpu=${CMAKE_SYSTEM_PROCESSOR}")
+ set(FLOAT_ABI_COMPILE_OPTION "-mfloat-abi=hard")
+ set(CPU_LINK_OPT "--cpu=Cortex-${CPU_ID}")
elseif (CMAKE_SYSTEM_ARCH STREQUAL armv8.1-m.main)
# Flags for generic target armv8.1-m.main (will work for cortex-m55 and cortex-m85
+ set(MIN_GCC_VERSION 10.2.1)
set(CPU_ID ARMv81MML_DSP_DP_MVE_FP)
set(ARM_CPU "ARMv81MML")
set(CPU_COMPILE_DEF ${CPU_ID})
@@ -63,6 +66,10 @@ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m33)
# Flags for cortex-m33 to go here
endif()
+if (NOT DEFINED MIN_GCC_VERSION)
+ set(MIN_GCC_VERSION 10.2.1)
+endif()
+
set(${CPU_COMPILE_DEF} 1)
# Warning options