summaryrefslogtreecommitdiff
path: root/Source/portable/Rowley/MSP430F449/portasm.h
diff options
context:
space:
mode:
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2008-10-23 19:14:45 +0000
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2008-10-23 19:14:45 +0000
commit0c6c2945c765be23bebe80ce4fd025f31f5c80a7 (patch)
tree5d57c7f2a658fcd83879ed43ff909ee73062cb18 /Source/portable/Rowley/MSP430F449/portasm.h
parentc30cbec748ca1b923830701423f2a00dac86b96e (diff)
downloadfreertos-0c6c2945c765be23bebe80ce4fd025f31f5c80a7.tar.gz
freertos-0c6c2945c765be23bebe80ce4fd025f31f5c80a7.tar.bz2
freertos-0c6c2945c765be23bebe80ce4fd025f31f5c80a7.tar.xz
Remove the two separate ports, instead use two demo apps that use a conditional compilation to select the method of interrupt management to use.
git-svn-id: https://freertos.svn.sourceforge.net/svnroot/freertos/trunk@518 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
Diffstat (limited to 'Source/portable/Rowley/MSP430F449/portasm.h')
-rw-r--r--Source/portable/Rowley/MSP430F449/portasm.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/Source/portable/Rowley/MSP430F449/portasm.h b/Source/portable/Rowley/MSP430F449/portasm.h
new file mode 100644
index 00000000..fd0d8c28
--- /dev/null
+++ b/Source/portable/Rowley/MSP430F449/portasm.h
@@ -0,0 +1,102 @@
+/*
+ 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.
+*/
+
+#ifndef PORT_ASM_H
+#define PORT_ASM_H
+
+portSAVE_CONTEXT macro
+ /* Save the remaining registers. */
+ push r4
+ push r5
+ push r6
+ push r7
+ push r8
+ push r9
+ push r10
+ push r11
+ push r12
+ push r13
+ push r14
+ push r15
+ mov.w &_usCriticalNesting, r14
+ push r14
+ mov.w &_pxCurrentTCB, r12
+ mov.w r1, @r12
+ endm
+/*-----------------------------------------------------------*/
+
+portRESTORE_CONTEXT macro
+ mov.w &_pxCurrentTCB, r12
+ mov.w @r12, r1
+ pop r15
+ mov.w r15, &_usCriticalNesting
+ pop r15
+ pop r14
+ pop r13
+ pop r12
+ pop r11
+ pop r10
+ pop r9
+ pop r8
+ pop r7
+ 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
+/*-----------------------------------------------------------*/
+
+#endif
+