Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.6 KiB

# Copyright (c) 2025 IAR Systems AB
#
# SPDX-License-Identifier: Apache-2.0
# Determines what argument to give to --cpu= based on the
# KConfig'uration and sets this to ICCARM_CPU
if("${ARCH}" STREQUAL "arm")
if(CONFIG_CPU_CORTEX_M0)
set(ICCARM_CPU Cortex-M0)
elseif(CONFIG_CPU_CORTEX_M0PLUS)
set(ICCARM_CPU Cortex-M0+)
elseif(CONFIG_CPU_CORTEX_M1)
set(ICCARM_CPU Cortex-M1)
elseif(CONFIG_CPU_CORTEX_M3)
set(ICCARM_CPU Cortex-M3)
elseif(CONFIG_CPU_CORTEX_M4)
set(ICCARM_CPU Cortex-M4)
elseif(CONFIG_CPU_CORTEX_M7)
set(ICCARM_CPU Cortex-M7)
elseif(CONFIG_CPU_CORTEX_M23)
set(ICCARM_CPU Cortex-M23)
elseif(CONFIG_CPU_CORTEX_M33)
if(CONFIG_ARMV8_M_DSP)
set(ICCARM_CPU Cortex-M33)
else()
set(ICCARM_CPU Cortex-M33.no_dsp)
endif()
elseif(CONFIG_CPU_CORTEX_M55)
if(CONFIG_ARMV8_1_M_MVEF)
set(ICCARM_CPU Cortex-M55)
elseif(CONFIG_ARMV8_1_M_MVEI)
set(ICCARM_CPU Cortex-M55.no_mve)
elseif(CONFIG_ARMV8_M_DSP)
set(ICCARM_CPU Cortex-M55.no_mve)
else()
set(ICCARM_CPU Cortex-M55.no_dsp)
endif()
elseif(CONFIG_CPU_CORTEX_R4)
if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP)
set(ICCARM_CPU Cortex-R4F)
else()
set(ICCARM_CPU Cortex-R4)
endif()
elseif(CONFIG_CPU_CORTEX_R5)
set(ICCARM_CPU Cortex-R5)
if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP)
if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION)
set(ICCARM_CPU ${ICCARM_CPU}+fp.sp)
endif()
else()
set(ICCARM_CPU ${ICCARM_CPU}+fp.dp)
endif()
elseif(CONFIG_CPU_CORTEX_R7)
set(ICCARM_CPU Cortex-R7)
if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP)
if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION)
set(ICCARM_CPU ${ICCARM_CPU}+fp.sp)
endif()
else()
set(ICCARM_CPU ${ICCARM_CPU}+fp.dp)
endif()
elseif(CONFIG_CPU_CORTEX_R52)
set(ICCARM_CPU Cortex-R52)
if(CONFIG_FPU AND CONFIG_CPU_HAS_VFP)
if(NOT CONFIG_VFP_FEATURE_DOUBLE_PRECISION)
set(ICCARM_CPU ${ICCARM_CPU}+fp.sp)
endif()
endif()
elseif(CONFIG_CPU_CORTEX_A9)
set(ICCARM_CPU Cortex-A9)
else()
message(FATAL_ERROR "Expected CONFIG_CPU_CORTEX_x to be defined")
endif()
elseif("${ARCH}" STREQUAL "arm64")
if(CONFIG_CPU_CORTEX_A53)
set(ICCARM_CPU Cortex-A53)
elseif(CONFIG_CPU_CORTEX_A55)
set(ICCARM_CPU Cortex-A55)
elseif(CONFIG_CPU_CORTEX_A76)
set(ICCARM_CPU cortex-a76)
elseif(CONFIG_CPU_CORTEX_A76_A55)
set(ICCARM_CPU cortex-a76)
elseif(CONFIG_CPU_CORTEX_A72)
set(ICCARM_CPU Cortex-A72)
elseif(CONFIG_CPU_CORTEX_R82)
set(ICCARM_CPU Cortex-R82)
endif()
endif()