summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-07-16 02:58:42 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-07-16 02:58:42 +0000
commit95fe0a934a62bc199c8f2e2cd89fc206318e9dc6 (patch)
tree118129e253805a8c6cc510bfd10fdbec0db2ec37
parent5531e1a0c67e9cde0fc3da6b3d0ec1ea0716d2bc (diff)
downloadnuttx-95fe0a934a62bc199c8f2e2cd89fc206318e9dc6.tar.gz
nuttx-95fe0a934a62bc199c8f2e2cd89fc206318e9dc6.tar.bz2
nuttx-95fe0a934a62bc199c8f2e2cd89fc206318e9dc6.zip
Fix interrupt stack compilation problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2804 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/arch/arm/src/lm3s/lm3s_vectors.S7
-rwxr-xr-xnuttx/arch/arm/src/lpc17xx/lpc17_vectors.S9
-rwxr-xr-xnuttx/arch/arm/src/sam3u/sam3u_vectors.S7
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_vectors.S9
4 files changed, 18 insertions, 14 deletions
diff --git a/nuttx/arch/arm/src/lm3s/lm3s_vectors.S b/nuttx/arch/arm/src/lm3s/lm3s_vectors.S
index 58674dda4..d760c13f7 100644
--- a/nuttx/arch/arm/src/lm3s/lm3s_vectors.S
+++ b/nuttx/arch/arm/src/lm3s/lm3s_vectors.S
@@ -377,7 +377,7 @@ lm3s_irqcommon:
*/
#ifdef CONFIG_ARCH_INTERRUPTSTACK
- ld sp, #up_interruptstack_base
+ ldr sp, =g_intstackbase
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
bl up_doirq /* R0=IRQ, R1=register save (msp) */
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
@@ -431,7 +431,7 @@ lm3s_irqcommon:
.size handlers, .-handlers
/************************************************************************************
- * Name: up_interruptstack/g_userstack
+ * Name: up_interruptstack/g_intstackbase
*
* Description:
* Shouldn't happen
@@ -440,10 +440,11 @@ lm3s_irqcommon:
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.bss
+ .global g_intstackbase
.align 4
up_interruptstack:
.skip (CONFIG_ARCH_INTERRUPTSTACK & ~3)
-up_interruptstack_base:
+g_intstackbase:
.size up_interruptstack, .-up_interruptstack
#endif
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_vectors.S b/nuttx/arch/arm/src/lpc17xx/lpc17_vectors.S
index fc69e7dd8..8498dd87a 100755
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_vectors.S
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_vectors.S
@@ -255,8 +255,8 @@ lpc17_common:
* Otherwise, we will re-use the main stack for interrupt level processing.
*/
-#ifdef CONFIG_ARCH_INTERRUPTSTACK
- ld sp, #up_interruptstack_base
+#if CONFIG_ARCH_INTERRUPTSTACK > 3
+ ldr sp, =g_intstackbase
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
bl up_doirq /* R0=IRQ, R1=register save (msp) */
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
@@ -310,7 +310,7 @@ lpc17_common:
.size handlers, .-handlers
/************************************************************************************************
- * Name: up_interruptstack/g_userstack
+ * Name: up_interruptstack/g_intstackbase
*
* Description:
* Shouldn't happen
@@ -319,10 +319,11 @@ lpc17_common:
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.bss
+ .global g_intstackbase
.align 4
up_interruptstack:
.skip (CONFIG_ARCH_INTERRUPTSTACK & ~3)
-up_interruptstack_base:
+g_intstackbase:
.size up_interruptstack, .-up_interruptstack
#endif
diff --git a/nuttx/arch/arm/src/sam3u/sam3u_vectors.S b/nuttx/arch/arm/src/sam3u/sam3u_vectors.S
index 4941fb33c..efa7e0a55 100755
--- a/nuttx/arch/arm/src/sam3u/sam3u_vectors.S
+++ b/nuttx/arch/arm/src/sam3u/sam3u_vectors.S
@@ -247,7 +247,7 @@ sam3u_common:
*/
#ifdef CONFIG_ARCH_INTERRUPTSTACK
- ld sp, #up_interruptstack_base
+ ldr sp, =g_intstackbase
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
bl up_doirq /* R0=IRQ, R1=register save (msp) */
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
@@ -301,7 +301,7 @@ sam3u_common:
.size handlers, .-handlers
/************************************************************************************************
- * Name: up_interruptstack/g_userstack
+ * Name: up_interruptstack/g_intstackbase
*
* Description:
* Shouldn't happen
@@ -310,10 +310,11 @@ sam3u_common:
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.bss
+ .global g_intstackbase
.align 4
up_interruptstack:
.skip (CONFIG_ARCH_INTERRUPTSTACK & ~3)
-up_interruptstack_base:
+g_intstackbase:
.size up_interruptstack, .-up_interruptstack
#endif
diff --git a/nuttx/arch/arm/src/stm32/stm32_vectors.S b/nuttx/arch/arm/src/stm32/stm32_vectors.S
index 6a8f64c5b..7d119f326 100644
--- a/nuttx/arch/arm/src/stm32/stm32_vectors.S
+++ b/nuttx/arch/arm/src/stm32/stm32_vectors.S
@@ -2,7 +2,7 @@
* arch/arm/src/stm32/stm32_vectors.S
* arch/arm/src/chip/stm32_vectors.S
*
- * Copyright (C) 2009 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2009-2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -439,7 +439,7 @@ stm32_common:
*/
#ifdef CONFIG_ARCH_INTERRUPTSTACK
- ld sp, #up_interruptstack_base
+ ldr sp, =g_intstackbase
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
bl up_doirq /* R0=IRQ, R1=register save (msp) */
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
@@ -493,7 +493,7 @@ stm32_common:
.size handlers, .-handlers
/************************************************************************************
- * Name: up_interruptstack/g_userstack
+ * Name: up_interruptstack/g_intstackbase
*
* Description:
* Shouldn't happen
@@ -502,10 +502,11 @@ stm32_common:
#if CONFIG_ARCH_INTERRUPTSTACK > 3
.bss
+ .global g_intstackbase
.align 4
up_interruptstack:
.skip (CONFIG_ARCH_INTERRUPTSTACK & ~3)
-up_interruptstack_base:
+g_intstackbase:
.size up_interruptstack, .-up_interruptstack
#endif