diff options
Diffstat (limited to 'nuttx/arch/arm/src/lpc43xx/lpc43_irq.c')
-rw-r--r-- | nuttx/arch/arm/src/lpc43xx/lpc43_irq.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c b/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c index 6f49b3e38..042b3360b 100644 --- a/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c +++ b/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c @@ -49,6 +49,7 @@ #include "chip.h" #include "nvic.h" +#include "ram_vectors.h" #include "up_arch.h" #include "os_internal.h" #include "up_internal.h" @@ -309,9 +310,16 @@ void up_irqinitialize(void) * positioned in SRAM or in external FLASH, then we may need to reset * the interrupt vector so that it refers to the table in SRAM or in * external FLASH. + * + * If CONFIG_ARCH_RAMVECTORS is defined, then we are using a RAM-based + * vector table that requires special initialization. */ +#ifdef CONFIG_ARCH_RAMVECTORS + up_ramvec_initialize(); +#else putreg32((uint32_t)_vectors, NVIC_VECTAB); +#endif /* Set all interrupts (and exceptions) to the default priority */ |