From e439cfdf388b703a8f922185e341b676902a76ab Mon Sep 17 00:00:00 2001 From: Bradley Bolen Date: Mon, 5 Aug 2019 08:32:07 -0400 Subject: [PATCH] arch: arm: Add Cortex-R4 support Pass the correct -march and -mcpu flags to the compiler when building for the Cortex-R4. Signed-off-by: Bradley Bolen --- arch/arm/CMakeLists.txt | 1 + arch/arm/core/cortex_r/Kconfig | 8 ++++++++ cmake/gcc-m-cpu.cmake | 2 ++ 3 files changed, 11 insertions(+) diff --git a/arch/arm/CMakeLists.txt b/arch/arm/CMakeLists.txt index 456150e1f8e..b869b036e0d 100644 --- a/arch/arm/CMakeLists.txt +++ b/arch/arm/CMakeLists.txt @@ -7,6 +7,7 @@ set(ARCH_FOR_cortex-m4 armv7e-m ) set(ARCH_FOR_cortex-m23 armv8-m.base ) set(ARCH_FOR_cortex-m33 armv8-m.main+dsp) set(ARCH_FOR_cortex-m33+nodsp armv8-m.main ) +set(ARCH_FOR_cortex-r4 armv7-r ) if(ARCH_FOR_${GCC_M_CPU}) set(ARCH_FLAG -march=${ARCH_FOR_${GCC_M_CPU}}) diff --git a/arch/arm/core/cortex_r/Kconfig b/arch/arm/core/cortex_r/Kconfig index 45ad42db023..fb85f27139f 100644 --- a/arch/arm/core/cortex_r/Kconfig +++ b/arch/arm/core/cortex_r/Kconfig @@ -14,6 +14,14 @@ # if one selects a different ARM Cortex Family (Cortex-A or Cortex-M) +config CPU_CORTEX_R4 + bool + select CPU_CORTEX_R + select ARMV7_R + select ARMV7_R_FP if CPU_HAS_FPU + help + This option signifies the use of a Cortex-R4 CPU + if CPU_CORTEX_R config ARMV7_R diff --git a/cmake/gcc-m-cpu.cmake b/cmake/gcc-m-cpu.cmake index 8ae884301e7..98c5792881a 100644 --- a/cmake/gcc-m-cpu.cmake +++ b/cmake/gcc-m-cpu.cmake @@ -22,6 +22,8 @@ if("${ARCH}" STREQUAL "arm") else() set(GCC_M_CPU cortex-m33+nodsp) endif() + elseif(CONFIG_CPU_CORTEX_R4) + set(GCC_M_CPU cortex-r4) else() message(FATAL_ERROR "Expected CONFIG_CPU_CORTEX_x to be defined") endif()