]> git.sur5r.net Git - freertos/commitdiff
Change the function that sets up the initial stack on CM3 ports to account for the...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 14 Nov 2009 19:02:12 +0000 (19:02 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 14 Nov 2009 19:02:12 +0000 (19:02 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@933 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/GCC/ARM_CM3/port.c
Source/portable/GCC/ARM_CM3_MPU/port.c
Source/portable/IAR/ARM_CM3/port.c
Source/portable/RVDS/ARM_CM3/port.c

index 146efa7eac54096431b9752b4ddf02837d8feec8..c9f317d3482a28b2cb175f703fffd831a4f7a086 100644 (file)
@@ -115,6 +115,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
 {\r
        /* Simulate the stack frame as it would be created by a context switch\r
        interrupt. */\r
+       pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */\r
        *pxTopOfStack = portINITIAL_XPSR;       /* xPSR */\r
        pxTopOfStack--;\r
        *pxTopOfStack = ( portSTACK_TYPE ) pxCode;      /* PC */\r
index 859fc5b836eaf932c36710fa49cb2296319fc9c1..7b2d7254a521d426662b53cc8d7b7d3cdc09b79d 100644 (file)
@@ -164,6 +164,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
 {\r
        /* Simulate the stack frame as it would be created by a context switch\r
        interrupt. */\r
+       pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */\r
        *pxTopOfStack = portINITIAL_XPSR;       /* xPSR */\r
        pxTopOfStack--;\r
        *pxTopOfStack = ( portSTACK_TYPE ) pxCode;      /* PC */\r
index ff794e4b3f1629da295d8a04d92c277597043506..e2ce7fca14bdcaf343baac86b57300936ea363bd 100644 (file)
@@ -116,6 +116,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
 {\r
        /* Simulate the stack frame as it would be created by a context switch\r
        interrupt. */\r
+       pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */\r
        *pxTopOfStack = portINITIAL_XPSR;       /* xPSR */\r
        pxTopOfStack--;\r
        *pxTopOfStack = ( portSTACK_TYPE ) pxCode;      /* PC */\r
index 6bee97c46f7a170ef659d6345b82edba273d4a32..11e7d1874bb5a4939328c118b9a8b5d51ba40314 100644 (file)
@@ -108,6 +108,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
 {\r
        /* Simulate the stack frame as it would be created by a context switch\r
        interrupt. */\r
+       pxTopOfStack--; /* Offset added to account for the way the MCU uses the stack on entry/exit of interrupts. */\r
        *pxTopOfStack = portINITIAL_XPSR;       /* xPSR */\r
        pxTopOfStack--;\r
        *pxTopOfStack = ( portSTACK_TYPE ) pxCode;      /* PC */\r