git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7810 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
e54e465a69
commit
a3e2fd3089
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M4
|
#define CORTEX_MODEL 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Systick unit presence.
|
* @brief Systick unit presence.
|
||||||
|
@ -67,6 +67,10 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "mk20d5.h"
|
#include "mk20d5.h"
|
||||||
|
|
||||||
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
||||||
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M0PLUS
|
#define CORTEX_MODEL 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Systick unit presence.
|
* @brief Systick unit presence.
|
||||||
|
@ -67,6 +67,10 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "kl25z.h"
|
#include "kl25z.h"
|
||||||
|
|
||||||
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
||||||
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M0
|
#define CORTEX_MODEL 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Floating Point unit presence.
|
* @brief Floating Point unit presence.
|
||||||
|
@ -74,6 +74,10 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "stm32f0xx.h"
|
#include "stm32f0xx.h"
|
||||||
|
|
||||||
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
||||||
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M3
|
#define CORTEX_MODEL 3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Floating Point unit presence.
|
* @brief Floating Point unit presence.
|
||||||
|
@ -65,8 +65,8 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "stm32f10x.h"
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
#if !CORTEX_HAS_FPU != !__FPU_PRESENT
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
#error "CMSIS __FPU_PRESENT mismatch"
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M4
|
#define CORTEX_MODEL 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Floating Point unit presence.
|
* @brief Floating Point unit presence.
|
||||||
|
@ -74,6 +74,10 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "stm32f3xx.h"
|
#include "stm32f3xx.h"
|
||||||
|
|
||||||
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CORTEX_HAS_FPU != __FPU_PRESENT
|
#if CORTEX_HAS_FPU != __FPU_PRESENT
|
||||||
#error "CMSIS __FPU_PRESENT mismatch"
|
#error "CMSIS __FPU_PRESENT mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M4
|
#define CORTEX_MODEL 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Floating Point unit presence.
|
* @brief Floating Point unit presence.
|
||||||
|
@ -74,6 +74,10 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "stm32f4xx.h"
|
#include "stm32f4xx.h"
|
||||||
|
|
||||||
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CORTEX_HAS_FPU != __FPU_PRESENT
|
#if CORTEX_HAS_FPU != __FPU_PRESENT
|
||||||
#error "CMSIS __FPU_PRESENT mismatch"
|
#error "CMSIS __FPU_PRESENT mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M0PLUS
|
#define CORTEX_MODEL 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Floating Point unit presence.
|
* @brief Floating Point unit presence.
|
||||||
|
@ -71,6 +71,10 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "stm32l0xx.h"
|
#include "stm32l0xx.h"
|
||||||
|
|
||||||
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
||||||
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
#error "CMSIS __NVIC_PRIO_BITS mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief Cortex core model.
|
* @brief Cortex core model.
|
||||||
*/
|
*/
|
||||||
#define CORTEX_MODEL CORTEX_M3
|
#define CORTEX_MODEL 3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Floating Point unit presence.
|
* @brief Floating Point unit presence.
|
||||||
|
@ -69,8 +69,8 @@
|
||||||
assembler source files. We verify that the info matches instead.*/
|
assembler source files. We verify that the info matches instead.*/
|
||||||
#include "stm32l1xx.h"
|
#include "stm32l1xx.h"
|
||||||
|
|
||||||
#if !CORTEX_HAS_FPU != !__FPU_PRESENT
|
#if CORTEX_MODEL != __CORTEX_M
|
||||||
#error "CMSIS __FPU_PRESENT mismatch"
|
#error "CMSIS __CORTEX_M mismatch"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS
|
||||||
|
|
|
@ -109,6 +109,21 @@
|
||||||
#endif
|
#endif
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name IRQ-related constants
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Total priority levels.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_PRIORITY_LEVELS CORTEX_PRIORITY_LEVELS
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Highest IRQ priority for HAL drivers.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_MAXIMUM_PRIORITY CORTEX_MAX_KERNEL_PRIORITY
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module pre-compile time settings. */
|
/* Module pre-compile time settings. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -277,6 +292,11 @@ typedef struct {
|
||||||
* @name IRQ service routines wrappers
|
* @name IRQ service routines wrappers
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Priority level verification macro.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_IS_VALID_PRIORITY(n) CORTEX_IS_VALID_KERNEL_PRIORITY(n)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief IRQ prologue code.
|
* @brief IRQ prologue code.
|
||||||
* @details This macro must be inserted at the start of all IRQ handlers.
|
* @details This macro must be inserted at the start of all IRQ handlers.
|
||||||
|
|
|
@ -368,7 +368,7 @@ msg_t osalThreadEnqueueTimeoutS(threads_queue_t *tqp, systime_t timeout) {
|
||||||
|
|
||||||
osalDbgCheck(tqp != NULL);
|
osalDbgCheck(tqp != NULL);
|
||||||
|
|
||||||
(void)time;
|
(void)timeout;
|
||||||
|
|
||||||
return MSG_OK;
|
return MSG_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,6 +99,25 @@
|
||||||
#define OSAL_ST_MODE OSAL_ST_MODE_PERIODIC
|
#define OSAL_ST_MODE OSAL_ST_MODE_PERIODIC
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name IRQ-related constants
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Total priority levels.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_PRIORITY_LEVELS (1U << CORTEX_PRIORITY_BITS)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Highest IRQ priority for HAL drivers.
|
||||||
|
*/
|
||||||
|
#if (CORTEX_MODEL == 0) || defined(__DOXYGEN__)
|
||||||
|
#define OSAL_IRQ_MAXIMUM_PRIORITY 0
|
||||||
|
#else
|
||||||
|
#define OSAL_IRQ_MAXIMUM_PRIORITY 1
|
||||||
|
#endif
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module pre-compile time settings. */
|
/* Module pre-compile time settings. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -333,6 +352,12 @@ typedef struct {
|
||||||
* @name IRQ service routines wrappers
|
* @name IRQ service routines wrappers
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Priority level verification macro.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_IS_VALID_PRIORITY(n) \
|
||||||
|
(((n) >= OSAL_IRQ_MAXIMUM_PRIORITY) && ((n) < OSAL_IRQ_PRIORITY_LEVELS))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief IRQ prologue code.
|
* @brief IRQ prologue code.
|
||||||
* @details This macro must be inserted at the start of all IRQ handlers.
|
* @details This macro must be inserted at the start of all IRQ handlers.
|
||||||
|
@ -510,10 +535,10 @@ static inline void osalSysEnable(void) {
|
||||||
*/
|
*/
|
||||||
static inline void osalSysLock(void) {
|
static inline void osalSysLock(void) {
|
||||||
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
#if CORTEX_MODEL == 0
|
||||||
__disable_irq();
|
__disable_irq();
|
||||||
#else
|
#else
|
||||||
__set_BASEPRI(CORTEX_BASEPRI_KERNEL);
|
__set_BASEPRI(OSAL_IRQ_MAXIMUM_PRIORITY);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -525,7 +550,7 @@ static inline void osalSysLock(void) {
|
||||||
*/
|
*/
|
||||||
static inline void osalSysUnlock(void) {
|
static inline void osalSysUnlock(void) {
|
||||||
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
#if CORTEX_MODEL == 0
|
||||||
__enable_irq();
|
__enable_irq();
|
||||||
#else
|
#else
|
||||||
__set_BASEPRI(0);
|
__set_BASEPRI(0);
|
||||||
|
@ -540,10 +565,10 @@ static inline void osalSysUnlock(void) {
|
||||||
*/
|
*/
|
||||||
static inline void osalSysLockFromISR(void) {
|
static inline void osalSysLockFromISR(void) {
|
||||||
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
#if CORTEX_MODEL == 0
|
||||||
__disable_irq();
|
__disable_irq();
|
||||||
#else
|
#else
|
||||||
__set_BASEPRI(CORTEX_BASEPRI_KERNEL);
|
__set_BASEPRI(OSAL_IRQ_MAXIMUM_PRIORITY);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -555,7 +580,7 @@ static inline void osalSysLockFromISR(void) {
|
||||||
*/
|
*/
|
||||||
static inline void osalSysUnlockFromISR(void) {
|
static inline void osalSysUnlockFromISR(void) {
|
||||||
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
#if CORTEX_MODEL == 0
|
||||||
__enable_irq();
|
__enable_irq();
|
||||||
#else
|
#else
|
||||||
__set_BASEPRI(0);
|
__set_BASEPRI(0);
|
||||||
|
@ -578,12 +603,12 @@ static inline void osalSysUnlockFromISR(void) {
|
||||||
static inline syssts_t osalSysGetStatusAndLockX(void) {
|
static inline syssts_t osalSysGetStatusAndLockX(void) {
|
||||||
syssts_t sts;
|
syssts_t sts;
|
||||||
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
#if CORTEX_MODEL == 0
|
||||||
sts = (syssts_t)__get_PRIMASK();
|
sts = (syssts_t)__get_PRIMASK();
|
||||||
__disable_irq();
|
__disable_irq();
|
||||||
#else
|
#else
|
||||||
sts = (syssts_t)__get_BASEPRI();
|
sts = (syssts_t)__get_BASEPRI();
|
||||||
__set_BASEPRI(CORTEX_BASEPRI_KERNEL);
|
__set_BASEPRI(OSAL_IRQ_MAXIMUM_PRIORITY);
|
||||||
#endif
|
#endif
|
||||||
return sts;
|
return sts;
|
||||||
}
|
}
|
||||||
|
@ -599,7 +624,7 @@ static inline syssts_t osalSysGetStatusAndLockX(void) {
|
||||||
*/
|
*/
|
||||||
static inline void osalSysRestoreStatusX(syssts_t sts) {
|
static inline void osalSysRestoreStatusX(syssts_t sts) {
|
||||||
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
#if CORTEX_MODEL == 0
|
||||||
if ((sts & (syssts_t)1) == (syssts_t)0) {
|
if ((sts & (syssts_t)1) == (syssts_t)0) {
|
||||||
__enable_irq();
|
__enable_irq();
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,6 +105,21 @@
|
||||||
#endif
|
#endif
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name IRQ-related constants
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Total priority levels.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_PRIORITY_LEVELS CORTEX_PRIORITY_LEVELS
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Highest IRQ priority for HAL drivers.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_MAXIMUM_PRIORITY CORTEX_MAX_KERNEL_PRIORITY
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module pre-compile time settings. */
|
/* Module pre-compile time settings. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -269,6 +284,11 @@ typedef struct {
|
||||||
* @name IRQ service routines wrappers
|
* @name IRQ service routines wrappers
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Priority level verification macro.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_IS_VALID_PRIORITY(n) CORTEX_IS_VALID_KERNEL_PRIORITY(n)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief IRQ prologue code.
|
* @brief IRQ prologue code.
|
||||||
* @details This macro must be inserted at the start of all IRQ handlers.
|
* @details This macro must be inserted at the start of all IRQ handlers.
|
||||||
|
|
|
@ -96,6 +96,21 @@
|
||||||
#define OSAL_ST_MODE OSAL_ST_MODE_PERIODIC
|
#define OSAL_ST_MODE OSAL_ST_MODE_PERIODIC
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name IRQ-related constants
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Total priority levels.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_PRIORITY_LEVELS 16U
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Highest IRQ priority for HAL drivers.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_MAXIMUM_PRIORITY 0U
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module pre-compile time settings. */
|
/* Module pre-compile time settings. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -272,6 +287,12 @@ typedef struct {
|
||||||
* @name IRQ service routines wrappers
|
* @name IRQ service routines wrappers
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Priority level verification macro.
|
||||||
|
*/
|
||||||
|
#define OSAL_IRQ_IS_VALID_PRIORITY(n) \
|
||||||
|
(((n) >= OSAL_IRQ_MAXIMUM_PRIORITY) && ((n) < OSAL_IRQ_PRIORITY_LEVELS))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief IRQ prologue code.
|
* @brief IRQ prologue code.
|
||||||
* @details This macro must be inserted at the start of all IRQ handlers.
|
* @details This macro must be inserted at the start of all IRQ handlers.
|
||||||
|
|
|
@ -66,17 +66,6 @@
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Cortex-M variants
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
#define CORTEX_M0 0 /**< @brief Cortex-M0 variant. */
|
|
||||||
#define CORTEX_M0PLUS 1 /**< @brief Cortex-M0+ variant. */
|
|
||||||
#define CORTEX_M1 10 /**< @brief Cortex-M1 variant. */
|
|
||||||
#define CORTEX_M3 30 /**< @brief Cortex-M3 variant. */
|
|
||||||
#define CORTEX_M4 40 /**< @brief Cortex-M4 variant. */
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/* Inclusion of the Cortex-Mx implementation specific parameters.*/
|
/* Inclusion of the Cortex-Mx implementation specific parameters.*/
|
||||||
#include "cmparams.h"
|
#include "cmparams.h"
|
||||||
|
|
||||||
|
@ -98,27 +87,6 @@
|
||||||
/* Derived constants and error checks. */
|
/* Derived constants and error checks. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* The following code is not processed when the file is included from an
|
|
||||||
asm module.*/
|
|
||||||
#if !defined(_FROM_ASM_)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Inclusion of the appropriate CMSIS header for the selected device.
|
|
||||||
*/
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
|
||||||
#include "core_cm0.h"
|
|
||||||
#elif CORTEX_MODEL == CORTEX_M0PLUS
|
|
||||||
#include "core_cm0plus.h"
|
|
||||||
#elif CORTEX_MODEL == CORTEX_M3
|
|
||||||
#include "core_cm3.h"
|
|
||||||
#elif CORTEX_MODEL == CORTEX_M4
|
|
||||||
#include "core_cm4.h"
|
|
||||||
#else
|
|
||||||
#error "unknown or unsupported Cortex-M model"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* !defined(_FROM_ASM_) */
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module data structures and types. */
|
/* Module data structures and types. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -211,10 +179,9 @@ struct port_intctx {};
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* Includes the sub-architecture-specific part.*/
|
/* Includes the sub-architecture-specific part.*/
|
||||||
#if (CORTEX_MODEL == CORTEX_M0) || (CORTEX_MODEL == CORTEX_M0PLUS) || \
|
#if (CORTEX_MODEL == 0) || (CORTEX_MODEL == 1)
|
||||||
(CORTEX_MODEL == CORTEX_M1)
|
|
||||||
#include "nilcore_v6m.h"
|
#include "nilcore_v6m.h"
|
||||||
#elif (CORTEX_MODEL == CORTEX_M3) || (CORTEX_MODEL == CORTEX_M4)
|
#elif (CORTEX_MODEL == 3) || (CORTEX_MODEL == 4)
|
||||||
#include "nilcore_v7m.h"
|
#include "nilcore_v7m.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,8 @@
|
||||||
* @name Architecture and Compiler
|
* @name Architecture and Compiler
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#if (CORTEX_MODEL == CORTEX_M0) || defined(__DOXYGEN__)
|
#if ((CORTEX_MODEL == 0) && !defined(__CORE_CM0PLUS_H_DEPENDANT)) || \
|
||||||
|
defined(__DOXYGEN__)
|
||||||
/**
|
/**
|
||||||
* @brief Macro defining the specific ARM architecture.
|
* @brief Macro defining the specific ARM architecture.
|
||||||
*/
|
*/
|
||||||
|
@ -115,7 +116,7 @@
|
||||||
*/
|
*/
|
||||||
#define PORT_CORE_VARIANT_NAME "Cortex-M0"
|
#define PORT_CORE_VARIANT_NAME "Cortex-M0"
|
||||||
|
|
||||||
#elif (CORTEX_MODEL == CORTEX_M0PLUS)
|
#elif (CORTEX_MODEL == 0) && defined(__CORE_CM0PLUS_H_DEPENDANT)
|
||||||
#define PORT_ARCHITECTURE_ARM_v6M
|
#define PORT_ARCHITECTURE_ARM_v6M
|
||||||
#define PORT_ARCHITECTURE_NAME "ARMv6-M"
|
#define PORT_ARCHITECTURE_NAME "ARMv6-M"
|
||||||
#define PORT_CORE_VARIANT_NAME "Cortex-M0+"
|
#define PORT_CORE_VARIANT_NAME "Cortex-M0+"
|
||||||
|
|
|
@ -139,7 +139,7 @@
|
||||||
* @name Architecture and Compiler
|
* @name Architecture and Compiler
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#if (CORTEX_MODEL == CORTEX_M3) || defined(__DOXYGEN__)
|
#if (CORTEX_MODEL == 3) || defined(__DOXYGEN__)
|
||||||
/**
|
/**
|
||||||
* @brief Macro defining the specific ARM architecture.
|
* @brief Macro defining the specific ARM architecture.
|
||||||
*/
|
*/
|
||||||
|
@ -155,7 +155,7 @@
|
||||||
*/
|
*/
|
||||||
#define PORT_CORE_VARIANT_NAME "Cortex-M3"
|
#define PORT_CORE_VARIANT_NAME "Cortex-M3"
|
||||||
|
|
||||||
#elif (CORTEX_MODEL == CORTEX_M4)
|
#elif (CORTEX_MODEL == 4)
|
||||||
#define PORT_ARCHITECTURE_ARM_v7ME
|
#define PORT_ARCHITECTURE_ARM_v7ME
|
||||||
#define PORT_ARCHITECTURE_NAME "ARMv7-ME"
|
#define PORT_ARCHITECTURE_NAME "ARMv7-ME"
|
||||||
#if CORTEX_USE_FPU
|
#if CORTEX_USE_FPU
|
||||||
|
|
|
@ -66,17 +66,6 @@
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Cortex-M variants
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
#define CORTEX_M0 0 /**< @brief Cortex-M0 variant. */
|
|
||||||
#define CORTEX_M0PLUS 1 /**< @brief Cortex-M0+ variant. */
|
|
||||||
#define CORTEX_M1 10 /**< @brief Cortex-M1 variant. */
|
|
||||||
#define CORTEX_M3 30 /**< @brief Cortex-M3 variant. */
|
|
||||||
#define CORTEX_M4 40 /**< @brief Cortex-M4 variant. */
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/* Inclusion of the Cortex-Mx implementation specific parameters.*/
|
/* Inclusion of the Cortex-Mx implementation specific parameters.*/
|
||||||
#include "cmparams.h"
|
#include "cmparams.h"
|
||||||
|
|
||||||
|
@ -98,27 +87,6 @@
|
||||||
/* Derived constants and error checks. */
|
/* Derived constants and error checks. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* The following code is not processed when the file is included from an
|
|
||||||
asm module.*/
|
|
||||||
#if !defined(_FROM_ASM_)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Inclusion of the appropriate CMSIS header for the selected device.
|
|
||||||
*/
|
|
||||||
#if CORTEX_MODEL == CORTEX_M0
|
|
||||||
#include "core_cm0.h"
|
|
||||||
#elif CORTEX_MODEL == CORTEX_M0PLUS
|
|
||||||
#include "core_cm0plus.h"
|
|
||||||
#elif CORTEX_MODEL == CORTEX_M3
|
|
||||||
#include "core_cm3.h"
|
|
||||||
#elif CORTEX_MODEL == CORTEX_M4
|
|
||||||
#include "core_cm4.h"
|
|
||||||
#else
|
|
||||||
#error "unknown or unsupported Cortex-M model"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* !defined(_FROM_ASM_) */
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module data structures and types. */
|
/* Module data structures and types. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -221,10 +189,9 @@ struct context {
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
/* Includes the sub-architecture-specific part.*/
|
/* Includes the sub-architecture-specific part.*/
|
||||||
#if (CORTEX_MODEL == CORTEX_M0) || (CORTEX_MODEL == CORTEX_M0PLUS) || \
|
#if (CORTEX_MODEL == 0) || (CORTEX_MODEL == 1)
|
||||||
(CORTEX_MODEL == CORTEX_M1)
|
|
||||||
#include "chcore_v6m.h"
|
#include "chcore_v6m.h"
|
||||||
#elif (CORTEX_MODEL == CORTEX_M3) || (CORTEX_MODEL == CORTEX_M4)
|
#elif (CORTEX_MODEL == 3) || (CORTEX_MODEL == 4)
|
||||||
#include "chcore_v7m.h"
|
#include "chcore_v7m.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,8 @@
|
||||||
* @name Architecture and Compiler
|
* @name Architecture and Compiler
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#if (CORTEX_MODEL == CORTEX_M0) || defined(__DOXYGEN__)
|
#if ((CORTEX_MODEL == 0) && !defined(__CORE_CM0PLUS_H_DEPENDANT)) || \
|
||||||
|
defined(__DOXYGEN__)
|
||||||
/**
|
/**
|
||||||
* @brief Macro defining the specific ARM architecture.
|
* @brief Macro defining the specific ARM architecture.
|
||||||
*/
|
*/
|
||||||
|
@ -115,7 +116,7 @@
|
||||||
*/
|
*/
|
||||||
#define PORT_CORE_VARIANT_NAME "Cortex-M0"
|
#define PORT_CORE_VARIANT_NAME "Cortex-M0"
|
||||||
|
|
||||||
#elif (CORTEX_MODEL == CORTEX_M0PLUS)
|
#elif (CORTEX_MODEL == 0) && defined(__CORE_CM0PLUS_H_DEPENDANT)
|
||||||
#define PORT_ARCHITECTURE_ARM_v6M
|
#define PORT_ARCHITECTURE_ARM_v6M
|
||||||
#define PORT_ARCHITECTURE_NAME "ARMv6-M"
|
#define PORT_ARCHITECTURE_NAME "ARMv6-M"
|
||||||
#define PORT_CORE_VARIANT_NAME "Cortex-M0+"
|
#define PORT_CORE_VARIANT_NAME "Cortex-M0+"
|
||||||
|
|
|
@ -139,7 +139,7 @@
|
||||||
* @name Architecture and Compiler
|
* @name Architecture and Compiler
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#if (CORTEX_MODEL == CORTEX_M3) || defined(__DOXYGEN__)
|
#if (CORTEX_MODEL == 3) || defined(__DOXYGEN__)
|
||||||
/**
|
/**
|
||||||
* @brief Macro defining the specific ARM architecture.
|
* @brief Macro defining the specific ARM architecture.
|
||||||
*/
|
*/
|
||||||
|
@ -155,7 +155,7 @@
|
||||||
*/
|
*/
|
||||||
#define PORT_CORE_VARIANT_NAME "Cortex-M3"
|
#define PORT_CORE_VARIANT_NAME "Cortex-M3"
|
||||||
|
|
||||||
#elif (CORTEX_MODEL == CORTEX_M4)
|
#elif (CORTEX_MODEL == 4)
|
||||||
#define PORT_ARCHITECTURE_ARM_v7ME
|
#define PORT_ARCHITECTURE_ARM_v7ME
|
||||||
#define PORT_ARCHITECTURE_NAME "ARMv7-ME"
|
#define PORT_ARCHITECTURE_NAME "ARMv7-ME"
|
||||||
#if CORTEX_USE_FPU
|
#if CORTEX_USE_FPU
|
||||||
|
|
Loading…
Reference in New Issue