summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lm3s/lm3s_start.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-05-12 22:15:49 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-05-12 22:15:49 +0000
commit11afe6bb048bff910f4345f8f344c5172a9f4ee8 (patch)
tree40f400e9c2a21a75c596cb2c0e1d05e8e058eff8 /nuttx/arch/arm/src/lm3s/lm3s_start.c
parentbafdbfb93e8a833830ffb65210c3cb9624e680be (diff)
downloadpx4-nuttx-11afe6bb048bff910f4345f8f344c5172a9f4ee8.tar.gz
px4-nuttx-11afe6bb048bff910f4345f8f344c5172a9f4ee8.tar.bz2
px4-nuttx-11afe6bb048bff910f4345f8f344c5172a9f4ee8.zip
Flesh out LM3S9618 interrupt control logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1774 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/lm3s/lm3s_start.c')
-rw-r--r--nuttx/arch/arm/src/lm3s/lm3s_start.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lm3s/lm3s_start.c b/nuttx/arch/arm/src/lm3s/lm3s_start.c
index 279b4a961..fba5e9325 100644
--- a/nuttx/arch/arm/src/lm3s/lm3s_start.c
+++ b/nuttx/arch/arm/src/lm3s/lm3s_start.c
@@ -69,6 +69,8 @@ extern uint32 _edata; /* End+1 of .data */
extern uint32 _sbss; /* Start of .bss */
extern uint32 _ebss; /* End+1 of .bss */
+extern void lm3s_vectors(void);
+
/****************************************************************************
* Private Functions
****************************************************************************/
@@ -110,6 +112,14 @@ void _start(void)
up_lowsetup();
showprogress('A');
+ /* If we booted from a bootloader, then set the NVIC to use our copy of
+ * of the vectors in FLASH.
+ */
+
+#ifdef CONFIG_ARCH_BOOTLOADER
+ putreg32((uint32)lm3s_vectors, NVIC_VECTAB);
+#endif
+
/* Clear .bss. We'll do this inline (vs. calling memset) just to be
* certain that there are no issues with the state of global variables.
*/