From d8b8ce2f8954dd0fe5a77b3d24ee6df3dcc371f4 Mon Sep 17 00:00:00 2001 From: richardbarry Date: Sun, 19 Oct 2008 17:44:56 +0000 Subject: [PATCH] Update to allow low power mode to be used with the RTOS. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@500 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../Rowley/MSP430F449/Port1/portext.asm | 66 +++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/Source/portable/Rowley/MSP430F449/Port1/portext.asm b/Source/portable/Rowley/MSP430F449/Port1/portext.asm index 4bf0aeb06..aa616ad1d 100644 --- a/Source/portable/Rowley/MSP430F449/Port1/portext.asm +++ b/Source/portable/Rowley/MSP430F449/Port1/portext.asm @@ -1,6 +1,56 @@ +/* + FreeRTOS.org V5.0.4 - Copyright (C) 2003-2008 Richard Barry. + + This file is part of the FreeRTOS.org distribution. + + FreeRTOS.org is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + FreeRTOS.org is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FreeRTOS.org; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes FreeRTOS.org, without being obliged to provide + the source code for any proprietary components. See the licensing section + of http://www.FreeRTOS.org for full details of how and when the exception + can be applied. + + *************************************************************************** + *************************************************************************** + * * + * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, * + * and even write all or part of your application on your behalf. * + * See http://www.OpenRTOS.com for details of the services we provide to * + * expedite your project. * + * * + *************************************************************************** + *************************************************************************** + + Please ensure to read the configuration and relevant port sections of the + online documentation. + + http://www.FreeRTOS.org - Documentation, latest information, license and + contact details. + + http://www.SafeRTOS.com - A version that is certified for use in safety + critical systems. + + http://www.OpenRTOS.com - Commercial support, development, porting, + licensing and training services. +*/ + #include "FreeRTOSConfig.h" portSAVE_CONTEXT macro + /* Save the remaining registers. */ push r4 push r5 push r6 @@ -37,6 +87,12 @@ portRESTORE_CONTEXT macro pop r6 pop r5 pop r4 + + /* The last thing on the stack will be the status register. + Ensure the power down bits are clear ready for the next + time this power down register is popped from the stack. */ + bic.w #0xf0,0(SP) + reti endm /*-----------------------------------------------------------*/ @@ -77,13 +133,13 @@ _vPortYield:: dint /* Save the context of the current task. */ - portSAVE_CONTEXT + portSAVE_CONTEXT - /* Switch to the highest priority task that is ready to run. */ - call #_vTaskSwitchContext + /* Switch to the highest priority task that is ready to run. */ + call #_vTaskSwitchContext - /* Restore the context of the new task. */ - portRESTORE_CONTEXT + /* Restore the context of the new task. */ + portRESTORE_CONTEXT /*-----------------------------------------------------------*/ -- 2.39.2