From 181d67c6323eee72a46956d1fb094cad771395a5 Mon Sep 17 00:00:00 2001 From: rtel Date: Fri, 10 Jan 2014 10:38:02 +0000 Subject: [PATCH] Add additional NOP after EINT instruction in MSP430 ports. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2166 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h | 6 +++--- FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h | 2 +- FreeRTOS/Source/portable/IAR/MSP430/portmacro.h | 2 +- FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h b/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h index a80412bf2..6dff6d872 100644 --- a/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h +++ b/FreeRTOS/Source/portable/CCS/MSP430X/portmacro.h @@ -110,7 +110,7 @@ typedef unsigned short UBaseType_t; /* Interrupt control macros. */ #define portDISABLE_INTERRUPTS() _disable_interrupt(); _nop() -#define portENABLE_INTERRUPTS() _enable_interrupt() +#define portENABLE_INTERRUPTS() _enable_interrupt(); _nop() /*-----------------------------------------------------------*/ /* Critical section control macros. */ @@ -118,7 +118,7 @@ typedef unsigned short UBaseType_t; #define portENTER_CRITICAL() \ { \ -extern volatile uint16_t usCriticalNesting; \ +extern volatile uint16_t usCriticalNesting; \ \ portDISABLE_INTERRUPTS(); \ \ @@ -130,7 +130,7 @@ extern volatile uint16_t usCriticalNesting; \ #define portEXIT_CRITICAL() \ { \ -extern volatile uint16_t usCriticalNesting; \ +extern volatile uint16_t usCriticalNesting; \ \ if( usCriticalNesting > portNO_CRITICAL_SECTION_NESTING ) \ { \ diff --git a/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h b/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h index 0c87007ec..cd28cbd9b 100644 --- a/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h +++ b/FreeRTOS/Source/portable/GCC/MSP430F449/portmacro.h @@ -104,7 +104,7 @@ typedef unsigned short UBaseType_t; /* Interrupt control macros. */ #define portDISABLE_INTERRUPTS() asm volatile ( "DINT" ); asm volatile ( "NOP" ) -#define portENABLE_INTERRUPTS() asm volatile ( "EINT" ) +#define portENABLE_INTERRUPTS() asm volatile ( "EINT" ); asm volatile ( "NOP" ) /*-----------------------------------------------------------*/ /* Critical section control macros. */ diff --git a/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h b/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h index cb7ebe871..e19b9180b 100644 --- a/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h +++ b/FreeRTOS/Source/portable/IAR/MSP430/portmacro.h @@ -102,7 +102,7 @@ typedef unsigned short UBaseType_t; /* Interrupt control macros. */ #define portDISABLE_INTERRUPTS() _DINT(); _NOP() -#define portENABLE_INTERRUPTS() _EINT(); +#define portENABLE_INTERRUPTS() _EINT(); _NOP() /*-----------------------------------------------------------*/ /* Critical section control macros. */ diff --git a/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h b/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h index b6c7ab72c..2873e9355 100644 --- a/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h +++ b/FreeRTOS/Source/portable/IAR/MSP430X/portmacro.h @@ -110,7 +110,7 @@ typedef unsigned short UBaseType_t; /* Interrupt control macros. */ #define portDISABLE_INTERRUPTS() _DINT();_NOP() -#define portENABLE_INTERRUPTS() _EINT() +#define portENABLE_INTERRUPTS() _EINT(); _NOP() /*-----------------------------------------------------------*/ /* Critical section control macros. */ @@ -118,7 +118,7 @@ typedef unsigned short UBaseType_t; #define portENTER_CRITICAL() \ { \ -extern volatile uint16_t usCriticalNesting; \ +extern volatile uint16_t usCriticalNesting; \ \ portDISABLE_INTERRUPTS(); \ \ @@ -130,7 +130,7 @@ extern volatile uint16_t usCriticalNesting; \ #define portEXIT_CRITICAL() \ { \ -extern volatile uint16_t usCriticalNesting; \ +extern volatile uint16_t usCriticalNesting; \ \ if( usCriticalNesting > portNO_CRITICAL_SECTION_NESTING ) \ { \ -- 2.39.5