From b03ce4e2f2f3d40db655e485816a458badfeba35 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Mon, 27 Jul 2015 12:06:59 +0000 Subject: [PATCH] Cortex-M7 support in RT and NIL. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8115 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/nil/ports/ARMCMx/nilcore.h | 8 +++++--- os/nil/ports/ARMCMx/nilcore_v7m.h | 11 ++++++++++- os/rt/ports/ARMCMx/chcore.h | 4 +++- os/rt/ports/ARMCMx/chcore_v7m.h | 11 ++++++++++- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/os/nil/ports/ARMCMx/nilcore.h b/os/nil/ports/ARMCMx/nilcore.h index 8cd0d117a..20a43fadf 100644 --- a/os/nil/ports/ARMCMx/nilcore.h +++ b/os/nil/ports/ARMCMx/nilcore.h @@ -180,9 +180,11 @@ struct port_intctx {}; /* Includes the sub-architecture-specific part.*/ #if (CORTEX_MODEL == 0) || (CORTEX_MODEL == 1) -#include "nilcore_v6m.h" -#elif (CORTEX_MODEL == 3) || (CORTEX_MODEL == 4) -#include "nilcore_v7m.h" +#include "chcore_v6m.h" +#elif (CORTEX_MODEL == 3) || (CORTEX_MODEL == 4) || (CORTEX_MODEL == 7) +#include "chcore_v7m.h" +#else +#error "unknown Cortex-M variant" #endif #if !defined(_FROM_ASM_) diff --git a/os/nil/ports/ARMCMx/nilcore_v7m.h b/os/nil/ports/ARMCMx/nilcore_v7m.h index d6317024e..ae030c273 100644 --- a/os/nil/ports/ARMCMx/nilcore_v7m.h +++ b/os/nil/ports/ARMCMx/nilcore_v7m.h @@ -157,12 +157,21 @@ #elif (CORTEX_MODEL == 4) #define PORT_ARCHITECTURE_ARM_v7ME -#define PORT_ARCHITECTURE_NAME "ARMv7-ME" +#define PORT_ARCHITECTURE_NAME "ARMv7E-M" #if CORTEX_USE_FPU #define PORT_CORE_VARIANT_NAME "Cortex-M4F" #else #define PORT_CORE_VARIANT_NAME "Cortex-M4" #endif + +#elif (CORTEX_MODEL == 7) +#define PORT_ARCHITECTURE_ARM_v7ME +#define PORT_ARCHITECTURE_NAME "ARMv7E-M" +#if CORTEX_USE_FPU +#define PORT_CORE_VARIANT_NAME "Cortex-M7F" +#else +#define PORT_CORE_VARIANT_NAME "Cortex-M7" +#endif #endif /** diff --git a/os/rt/ports/ARMCMx/chcore.h b/os/rt/ports/ARMCMx/chcore.h index 11d14234e..d1b2dc4fb 100644 --- a/os/rt/ports/ARMCMx/chcore.h +++ b/os/rt/ports/ARMCMx/chcore.h @@ -191,8 +191,10 @@ struct context { /* Includes the sub-architecture-specific part.*/ #if (CORTEX_MODEL == 0) || (CORTEX_MODEL == 1) #include "chcore_v6m.h" -#elif (CORTEX_MODEL == 3) || (CORTEX_MODEL == 4) +#elif (CORTEX_MODEL == 3) || (CORTEX_MODEL == 4) || (CORTEX_MODEL == 7) #include "chcore_v7m.h" +#else +#error "unknown Cortex-M variant" #endif #if !defined(_FROM_ASM_) diff --git a/os/rt/ports/ARMCMx/chcore_v7m.h b/os/rt/ports/ARMCMx/chcore_v7m.h index 37e087102..7898e4e74 100644 --- a/os/rt/ports/ARMCMx/chcore_v7m.h +++ b/os/rt/ports/ARMCMx/chcore_v7m.h @@ -157,12 +157,21 @@ #elif (CORTEX_MODEL == 4) #define PORT_ARCHITECTURE_ARM_v7ME -#define PORT_ARCHITECTURE_NAME "ARMv7-ME" +#define PORT_ARCHITECTURE_NAME "ARMv7E-M" #if CORTEX_USE_FPU #define PORT_CORE_VARIANT_NAME "Cortex-M4F" #else #define PORT_CORE_VARIANT_NAME "Cortex-M4" #endif + +#elif (CORTEX_MODEL == 7) +#define PORT_ARCHITECTURE_ARM_v7ME +#define PORT_ARCHITECTURE_NAME "ARMv7E-M" +#if CORTEX_USE_FPU +#define PORT_CORE_VARIANT_NAME "Cortex-M7F" +#else +#define PORT_CORE_VARIANT_NAME "Cortex-M7" +#endif #endif /**