summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2011-01-27 22:19:47 -0800
committerPixel <pixel@nobis-crew.org>2011-01-27 22:19:47 -0800
commit27e7b701ceb1a96070b8eeadf85d3643a7adcc4e (patch)
treeaba7654851c249075127a100813ed21bf51c2d41
parentbcfc9ad0a5d72f6d49fa96f221fdcb0930862539 (diff)
I fail at C-programming. Base VTOR address now works properly.
-rw-r--r--arch/arm/lpc17xx/ldscript2
-rw-r--r--arch/arm/lpc17xx/mbed/BoardInit.c4
-rw-r--r--arch/arm/lpc17xx/startup.s8
3 files changed, 3 insertions, 11 deletions
diff --git a/arch/arm/lpc17xx/ldscript b/arch/arm/lpc17xx/ldscript
index 4f1f3b9..2468d12 100644
--- a/arch/arm/lpc17xx/ldscript
+++ b/arch/arm/lpc17xx/ldscript
@@ -173,7 +173,7 @@ SECTIONS
__cs3_interrupt_vector_mutable = __cs3_interrupt_vector_cortex_m_mutable;
*(.cs3.interrupt_vector_mutable)
/* Make sure we pulled in an interrupt vector. */
- ASSERT (. != __cs3_interrupt_vector_cortex_m_mutable, "No interrupt vector");
+ ASSERT (. != __cs3_interrupt_vector_cortex_m_mutable, "No interrupt vector mutable table");
*( privileged_data )
__privileged_data_end___len = . - __privileged_data_start__ - 1 ;
diff --git a/arch/arm/lpc17xx/mbed/BoardInit.c b/arch/arm/lpc17xx/mbed/BoardInit.c
index 9c5aa89..bd31b35 100644
--- a/arch/arm/lpc17xx/mbed/BoardInit.c
+++ b/arch/arm/lpc17xx/mbed/BoardInit.c
@@ -1,9 +1,9 @@
#include "lpc17xx_nvic.h"
-extern void * __cs3_interrupt_vector_mutable;
+extern uintptr_t __cs3_interrupt_vector_mutable[];
void BoardEarlyInit() {
- //NVIC_SetVTOR((uint32_t) __cs3_interrupt_vector_mutable);
+ NVIC_SetVTOR((uintptr_t) __cs3_interrupt_vector_mutable);
}
void BoardLateInit() {
diff --git a/arch/arm/lpc17xx/startup.s b/arch/arm/lpc17xx/startup.s
index 86365c1..564c4d7 100644
--- a/arch/arm/lpc17xx/startup.s
+++ b/arch/arm/lpc17xx/startup.s
@@ -129,14 +129,6 @@ __cs3_interrupt_vector_cortex_m:
.long BusFault_Handler /* Bus Fault Handler */
.long UsageFault_Handler /* Usage Fault Handler */
.long 0 /* Reserved - ROM CRC check ? */
- .long 0 /* Reserved */
- .long 0 /* Reserved */
- .long 0 /* Reserved */
- .long vPortSVCHandler /* SVCall Handler */
- .long DebugMon_Handler /* Debug Monitor Handler */
- .long 0 /* Reserved */
- .long xPortPendSVHandler /* PendSV Handler */
- .long xPortSysTickHandler /* SysTick Handler */
.size __cs3_interrupt_vector_cortex_m, . - __cs3_interrupt_vector_cortex_m