]> git.sur5r.net Git - freertos/commitdiff
Update to allow low power mode to be used with the RTOS.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 19 Oct 2008 17:44:56 +0000 (17:44 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 19 Oct 2008 17:44:56 +0000 (17:44 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@500 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/Rowley/MSP430F449/Port1/portext.asm

index 4bf0aeb06e12c3d0d968c06ff60e57293aba73c2..aa616ad1da14dbfcfe693b4ae6d48c23459fe291 100644 (file)
@@ -1,6 +1,56 @@
+/*\r
+       FreeRTOS.org V5.0.4 - Copyright (C) 2003-2008 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify\r
+       it under the terms of the GNU General Public License as published by\r
+       the Free Software Foundation; either version 2 of the License, or\r
+       (at your option) any later version.\r
+\r
+       FreeRTOS.org is distributed in the hope that it will be useful,\r
+       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+       GNU General Public License for more details.\r
+\r
+       You should have received a copy of the GNU General Public License\r
+       along with FreeRTOS.org; if not, write to the Free Software\r
+       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+\r
+       A special exception to the GPL can be applied should you wish to distribute\r
+       a combined work that includes FreeRTOS.org, without being obliged to provide\r
+       the source code for any proprietary components.  See the licensing section \r
+       of http://www.FreeRTOS.org for full details of how and when the exception\r
+       can be applied.\r
+\r
+    ***************************************************************************\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *\r
+    * and even write all or part of your application on your behalf.          *\r
+    * See http://www.OpenRTOS.com for details of the services we provide to   *\r
+    * expedite your project.                                                  *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+    ***************************************************************************\r
+\r
+       Please ensure to read the configuration and relevant port sections of the\r
+       online documentation.\r
+\r
+       http://www.FreeRTOS.org - Documentation, latest information, license and \r
+       contact details.\r
+\r
+       http://www.SafeRTOS.com - A version that is certified for use in safety \r
+       critical systems.\r
+\r
+       http://www.OpenRTOS.com - Commercial support, development, porting, \r
+       licensing and training services.\r
+*/\r
+\r
 #include "FreeRTOSConfig.h"\r
 \r
 portSAVE_CONTEXT macro\r
+                /* Save the remaining registers. */\r
                push    r4\r
                push    r5\r
                push    r6\r
@@ -37,6 +87,12 @@ portRESTORE_CONTEXT macro
                pop             r6\r
                pop             r5\r
                pop             r4\r
+\r
+               /* The last thing on the stack will be the status register.\r
+                Ensure the power down bits are clear ready for the next\r
+                time this power down register is popped from the stack. */\r
+               bic.w   #0xf0,0(SP)\r
+\r
                reti\r
                endm\r
 /*-----------------------------------------------------------*/\r
@@ -77,13 +133,13 @@ _vPortYield::
                dint                    \r
                                \r
                /* Save the context of the current task. */\r
-        portSAVE_CONTEXT                       \r
+               portSAVE_CONTEXT                        \r
 \r
-        /* Switch to the highest priority task that is ready to run. */\r
-        call   #_vTaskSwitchContext            \r
+               /* Switch to the highest priority task that is ready to run. */\r
+               call    #_vTaskSwitchContext            \r
 \r
-        /* Restore the context of the new task. */\r
-        portRESTORE_CONTEXT\r
+               /* Restore the context of the new task. */\r
+               portRESTORE_CONTEXT\r
 /*-----------------------------------------------------------*/\r
 \r
 \r