]> 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
+                                       " cpsie i                               \n"\r
                                        " svc 0                                 \n" /* System call to start first task. */\r
+                                       " nop                                   \n"\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
-    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
     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
@@ -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
+       cpsie i\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
+       cpsie i\r
        svc 0\r
+       nop\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r