]> git.sur5r.net Git - freertos/commitdiff
Add an cpsie i before the SVC call that starts the scheduler. This is just in case...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 23 Dec 2010 10:39:02 +0000 (10:39 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 23 Dec 2010 10:39:02 +0000 (10:39 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1180 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/GCC/ARM_CM3/port.c
Source/portable/IAR/ARM_CM3/portasm.s
Source/portable/RVDS/ARM_CM3/port.c

index 6f35e6dd53f06b9e5bba2b8c150d6ae52c10a28d..85d28c6ecd0029aab1574ebe27016d7634f00b45 100644 (file)
@@ -155,7 +155,9 @@ void vPortStartFirstTask( void )
                                        " ldr r0, [r0]                  \n"\r
                                        " ldr r0, [r0]                  \n"\r
                                        " msr msp, r0                   \n" /* Set the msp back to the start of the stack. */\r
                                        " ldr r0, [r0]                  \n"\r
                                        " ldr r0, [r0]                  \n"\r
                                        " msr msp, r0                   \n" /* Set the msp back to the start of the stack. */\r
+                                       " cpsie i                               \n"\r
                                        " svc 0                                 \n" /* System call to start first task. */\r
                                        " svc 0                                 \n" /* System call to start first task. */\r
+                                       " nop                                   \n"\r
                                );\r
 }\r
 /*-----------------------------------------------------------*/\r
                                );\r
 }\r
 /*-----------------------------------------------------------*/\r
index 1c81b3f1515624739c9e44525a9f6da0e60801bc..eac17be54a88b2d3e9d1c1d20ac42bac33779959 100644 (file)
@@ -33,9 +33,9 @@
     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-    more details. You should have received a copy of the GNU General Public \r
-    License and the FreeRTOS license exception along with FreeRTOS; if not it \r
-    can be viewed here: http://www.freertos.org/a00114.html and also obtained \r
+    more details. You should have received a copy of the GNU General Public\r
+    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
     by writing to Richard Barry, contact details for whom are available on the\r
     FreeRTOS WEB site.\r
 \r
     by writing to Richard Barry, contact details for whom are available on the\r
     FreeRTOS WEB site.\r
 \r
     licensing and training services.\r
 */\r
 \r
     licensing and training services.\r
 */\r
 \r
-/*\r
-       Change from V4.2.1:\r
-\r
-       + Introduced usage of configKERNEL_INTERRUPT_PRIORITY macro to set the\r
-         interrupt priority used by the kernel.\r
-*/\r
-\r
 #include <FreeRTOSConfig.h>\r
 \r
 /* For backward compatibility, ensure configKERNEL_INTERRUPT_PRIORITY is\r
 #include <FreeRTOSConfig.h>\r
 \r
 /* For backward compatibility, ensure configKERNEL_INTERRUPT_PRIORITY is\r
@@ -157,6 +150,7 @@ vPortStartFirstTask
        /* Set the msp back to the start of the stack. */\r
        msr msp, r0\r
        /* Call SVC to start the first task. */\r
        /* Set the msp back to the start of the stack. */\r
        msr msp, r0\r
        /* Call SVC to start the first task. */\r
+       cpsie i\r
        svc 0\r
 \r
        END\r
        svc 0\r
 \r
        END\r
index 0288b76a6469f905edbbaf61924f672bab2e884f..c864f821a6b7dd6fb3015594e8162adacc3fa5a1 100644 (file)
@@ -149,7 +149,9 @@ __asm void vPortStartFirstTask( void )
        /* Set the msp back to the start of the stack. */\r
        msr msp, r0\r
        /* Call SVC to start the first task. */\r
        /* Set the msp back to the start of the stack. */\r
        msr msp, r0\r
        /* Call SVC to start the first task. */\r
+       cpsie i\r
        svc 0\r
        svc 0\r
+       nop\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r