]> git.sur5r.net Git - freertos/commitdiff
Minor updates only.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 6 Dec 2008 13:35:43 +0000 (13:35 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sat, 6 Dec 2008 13:35:43 +0000 (13:35 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@596 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/IAR/AtmelSAM9XE/port.c

index 32eef0e7631ad8db09b602a00046e6f56f54693d..0ecb0ebfce31b0fdb7e5a0b6c7ad34288eb64a6c 100644 (file)
@@ -72,7 +72,8 @@
 /*-----------------------------------------------------------*/\r
 \r
 /* Constants required to setup the initial stack. */\r
-#define portINITIAL_SPSR                               ( ( portSTACK_TYPE ) 0x3f ) /* System mode, THUMB mode, interrupts enabled. */\r
+#define portINITIAL_SPSR                               ( ( portSTACK_TYPE ) 0x1f ) /* System mode, ARM mode, interrupts enabled. */\r
+#define portTHUMB_MODE_BIT                             ( ( portSTACK_TYPE ) 0x20 )\r
 #define portINSTRUCTION_SIZE                   ( ( portSTACK_TYPE ) 4 )\r
 \r
 /* Constants required to setup the PIT. */\r
@@ -158,6 +159,14 @@ portSTACK_TYPE *pxOriginalTOS;
 \r
        /* The status register is set for system mode, with interrupts enabled. */\r
        *pxTopOfStack = ( portSTACK_TYPE ) portINITIAL_SPSR;\r
+       \r
+       #ifdef THUMB_INTERWORK\r
+       {\r
+               /* We want the task to start in thumb mode. */\r
+               *pxTopOfStack |= portTHUMB_MODE_BIT;\r
+       }\r
+       #endif\r
+       \r
        pxTopOfStack--;\r
 \r
        /* Interrupt flags cannot always be stored on the stack and will\r