# Copyright (c) 2026 Eclipse ThreadX contributors # SPDX-License-Identifier: MIT # Portions of this file were generated with AI assistance. # # Toolchain file for Arm Cortex-M52 using GNU tools. # # The FPU and the MVE unit come with the core, so the hard float ABI # is selected here rather than left to the caller. scripts/check_clang.sh # builds this core the same way. # Name of the target set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR cortex-m52) set(THREADX_ARCH "cortex_m52") set(THREADX_TOOLCHAIN "gnu") # The hard float ABI is not optional here: -mcpu=cortex-m52 implies Helium, and # the soft-float variant has no matching library. set(MCPU_FLAGS "-mthumb -mcpu=cortex-m52") set(VFP_FLAGS "-mfloat-abi=hard") set(SPEC_FLAGS "--specs=nosys.specs") include(${CMAKE_CURRENT_LIST_DIR}/arm-none-eabi.cmake) # Pin the reference cross toolchain, as cmake/cortex_r52.cmake does. This core # needs it rather than merely preferring it: arm-none-eabi-gcc only learned # -mcpu=cortex-m52 in GCC 14, so a distribution compiler on PATH is likely to # reject the port outright. Override with -DARM_TOOLCHAIN_PATH=