From bcec675a9239ea021ad08dc937f0b7487eb62dba Mon Sep 17 00:00:00 2001 From: Richard Burton Date: Fri, 3 Nov 2023 16:21:58 +0000 Subject: MLECO-3640 MLECO-3678: Adding support for M85 in GCC Signed-off-by: Richard Burton Change-Id: I087e23f43b41fa0ef97ec7dcaeba807f6cba17e7 --- scripts/cmake/toolchains/bare-metal-gcc.cmake | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'scripts') 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 +# SPDX-FileCopyrightText: Copyright 2021-2023 Arm Limited and/or its affiliates # 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 -- cgit v1.2.1