]> git.sur5r.net Git - freertos/commitdiff
Tidy up, starting to get ready for next release.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 4 Oct 2009 17:59:49 +0000 (17:59 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 4 Oct 2009 17:59:49 +0000 (17:59 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@895 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/GCC/ARM7_LPC2000/port.c
Source/portable/GCC/ARM7_LPC23xx/port.c
Source/portable/GCC/STR75x/portmacro.h
Source/tasks.c

index 36310204e67bbcb8285d5c0d47347fa662f2d6e8..3b36bc07438840ec4dd7dfd8b4aa7a8a3b9259fe 100644 (file)
  * to ARM mode are contained in portISR.c.\r
  *----------------------------------------------------------*/\r
 \r
-/*\r
-       Changes from V2.5.2\r
-               \r
-       + ulCriticalNesting is now saved as part of the task context, as is \r
-         therefore added to the initial task stack during pxPortInitialiseStack.\r
-\r
-       Changes from V3.2.2\r
-\r
-       + Bug fix - The prescale value for the timer setup is now written to T0_PR \r
-         instead of T0_PC.  This bug would have had no effect unless a prescale \r
-         value was actually used.\r
-*/\r
-\r
 \r
 /* Standard includes. */\r
 #include <stdlib.h>\r
index 5b31906f20485e2e1492c0b52830243edaaf3061..111f4f9b42ef8449125d5ba0f4f3e99bed6753c0 100644 (file)
@@ -151,12 +151,11 @@ portSTACK_TYPE *pxOriginalTOS;
        system mode, with interrupts enabled. */\r
        *pxTopOfStack = ( portSTACK_TYPE ) portINITIAL_SPSR;\r
 \r
-       #ifdef THUMB_INTERWORK\r
+       if( ( ( unsigned long ) pxCode & 0x01UL ) != 0x00 )\r
        {\r
                /* We want the task to start in thumb mode. */\r
                *pxTopOfStack |= portTHUMB_MODE_BIT;\r
        }\r
-       #endif\r
 \r
        pxTopOfStack--;\r
 \r
index 4d9848919c2af3767bdf14c8ccbaebef3436ea2b..6af34226c0cb46af80bdaee4768a7e7c0cf436d8 100644 (file)
@@ -84,7 +84,7 @@ extern "C" {
 /* Hardware specifics. */\r
 #define portSTACK_GROWTH                       ( -1 )\r
 #define portTICK_RATE_MS                       ( ( portTickType ) 1000 / configTICK_RATE_HZ )          \r
-#define portBYTE_ALIGNMENT                     4\r
+#define portBYTE_ALIGNMENT                     8\r
 #define portYIELD()                                    asm volatile ( "SWI 0" )\r
 #define portNOP()                                      asm volatile ( "NOP" )\r
 /*-----------------------------------------------------------*/        \r
index 748b4621a8362260d46365cf2470a5dc106da685..306e60fa4e156e332ff29a80c43d4568019db43f 100644 (file)
@@ -192,7 +192,7 @@ PRIVILEGED_DATA static unsigned portBASE_TYPE uxTaskNumber                                          = ( unsigned po
        PRIVILEGED_DATA static signed portCHAR *pcTraceBufferStart;\r
        PRIVILEGED_DATA static signed portCHAR *pcTraceBufferEnd;\r
        PRIVILEGED_DATA static signed portBASE_TYPE xTracing = pdFALSE;\r
-       PRIVILEGED_DATA static unsigned portBASE_TYPE uxPreviousTask = 255;\r
+       static unsigned portBASE_TYPE uxPreviousTask = 255;\r
        PRIVILEGED_DATA static portCHAR pcStatusString[ 50 ];\r
 \r
 #endif\r
@@ -410,7 +410,8 @@ portBASE_TYPE xRunPrivileged;
                required by the port. */\r
                #if( portSTACK_GROWTH < 0 )\r
                {\r
-                       pxTopOfStack = pxNewTCB->pxStack + ( usStackDepth - 1 ) - ( ( usStackDepth - 1 ) % portBYTE_ALIGNMENT );\r
+                       pxTopOfStack = pxNewTCB->pxStack + ( usStackDepth - 1 );\r
+                       pxTopOfStack = ( portSTACK_TYPE * ) ( ( ( unsigned portLONG ) pxTopOfStack ) & ( ( unsigned portLONG ) ~portBYTE_ALIGNMENT_MASK  ) );\r
                }\r
                #else\r
                {\r