|
|
@@ -1,8 +1,8 @@
|
|
|
/**************************************************************************//**
|
|
|
* @file core_cm3.h
|
|
|
* @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File
|
|
|
- * @version V5.1.0
|
|
|
- * @date 13. March 2019
|
|
|
+ * @version V5.1.1
|
|
|
+ * @date 19. August 2019
|
|
|
******************************************************************************/
|
|
|
/*
|
|
|
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
|
|
|
@@ -62,7 +62,7 @@
|
|
|
|
|
|
#include "cmsis_version.h"
|
|
|
|
|
|
-/* CMSIS CM3 definitions */
|
|
|
+/* CMSIS CM3 definitions */
|
|
|
#define __CM3_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */
|
|
|
#define __CM3_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */
|
|
|
#define __CM3_CMSIS_VERSION ((__CM3_CMSIS_VERSION_MAIN << 16U) | \
|
|
|
@@ -1443,7 +1443,7 @@ typedef struct
|
|
|
|
|
|
#ifdef CMSIS_VECTAB_VIRTUAL
|
|
|
#ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
|
|
- #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
|
|
|
+ #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
|
|
|
#endif
|
|
|
#include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
|
|
#else
|
|
|
@@ -1478,7 +1478,7 @@ __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
|
|
|
reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */
|
|
|
reg_value = (reg_value |
|
|
|
((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
|
|
|
- (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
|
|
|
+ (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
|
|
|
SCB->AIRCR = reg_value;
|
|
|
}
|
|
|
|
|
|
@@ -1729,8 +1729,8 @@ __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGr
|
|
|
*/
|
|
|
__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
|
|
|
{
|
|
|
- uint32_t vectors = (uint32_t )SCB->VTOR;
|
|
|
- (* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector;
|
|
|
+ uint32_t *vectors = (uint32_t *)SCB->VTOR;
|
|
|
+ vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
|
|
|
/* ARM Application Note 321 states that the M3 does not require the architectural barrier */
|
|
|
}
|
|
|
|
|
|
@@ -1745,8 +1745,8 @@ __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
|
|
|
*/
|
|
|
__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
|
|
|
{
|
|
|
- uint32_t vectors = (uint32_t )SCB->VTOR;
|
|
|
- return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4));
|
|
|
+ uint32_t *vectors = (uint32_t *)SCB->VTOR;
|
|
|
+ return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1771,6 +1771,7 @@ __NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
|
|
|
|
|
|
/*@} end of CMSIS_Core_NVICFunctions */
|
|
|
|
|
|
+
|
|
|
/* ########################## MPU functions #################################### */
|
|
|
|
|
|
#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
|