summaryrefslogtreecommitdiff
path: root/Source/portable/GCC/ARM7_LPC2000/portmacro.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/portable/GCC/ARM7_LPC2000/portmacro.h')
-rw-r--r--Source/portable/GCC/ARM7_LPC2000/portmacro.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/Source/portable/GCC/ARM7_LPC2000/portmacro.h b/Source/portable/GCC/ARM7_LPC2000/portmacro.h
index 53fc77d0c..9ec48a238 100644
--- a/Source/portable/GCC/ARM7_LPC2000/portmacro.h
+++ b/Source/portable/GCC/ARM7_LPC2000/portmacro.h
@@ -47,6 +47,9 @@
+ The assembler statements are now included in a single asm block rather
than each line having its own asm block.
+
+ + The macro portENTER_SWITCHING_ISR() no longer attempts to use the frame
+ pointer. Variables declared within ISRs must now be declared static.
*/
#ifndef PORTMACRO_H
@@ -190,12 +193,6 @@ extern volatile unsigned portLONG ulCriticalNesting; \
#define portENTER_SWITCHING_ISR() \
/* Save the context of the interrupted task. */ \
portSAVE_CONTEXT(); \
- \
- /* We don't know the stack requirements for the ISR, so the frame */\
- /* pointer will be set to the top of the task stack, and the stack*/\
- /* pointer left where it is. The IRQ stack will get used for any */\
- /* functions calls made by this ISR. */ \
- asm volatile ( "SUB R11, LR, #4" ); \
{
#define portEXIT_SWITCHING_ISR( SwitchRequired ) \