diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2010-07-16 02:58:42 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2010-07-16 02:58:42 +0000 |
commit | 3c0fd9fbd7d16265b2fec6cdcab604ed78cea552 (patch) | |
tree | 118129e253805a8c6cc510bfd10fdbec0db2ec37 | |
parent | d4225dab0a26f6df23184196f49b27a4b79a6248 (diff) |
Fix interrupt stack compilation problem
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@2804 7fd9a85b-ad96-42d3-883c-3090e2eb8679
-rw-r--r-- | nuttx/arch/arm/src/lm3s/lm3s_vectors.S | 7 | ||||
-rwxr-xr-x | nuttx/arch/arm/src/lpc17xx/lpc17_vectors.S | 9 | ||||
-rwxr-xr-x | nuttx/arch/arm/src/sam3u/sam3u_vectors.S | 7 | ||||
-rw-r--r-- | nuttx/arch/arm/src/stm32/stm32_vectors.S | 9 |
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 58674dda41..d760c13f75 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 fc69e7dd84..8498dd87ac 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 4941fb33cb..efa7e0a550 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 6a8f64c5bb..7d119f326b 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
|