LPC2xxx: Add Vectored Interrupt Controller (VIC) driver.
[bertos.git] / bertos / cpu / arm / hw / vectors_lpc2.S
index d5568fb971dcc2225b2aac2628f73546c7f4b40c..1e6d3eb48bb71d182a027d6344efe968d7e8674b 100644 (file)
@@ -35,6 +35,7 @@
  * \brief NXP LPC2xxx interrupt vectors.
  */
 
+#include <cpu/detect.h>
 #include "cfg/cfg_arch.h"
 #if defined(ARCH_NIGHTTEST) && (ARCH & ARCH_NIGHTTEST)
        /* Avoid errors during nigthly test */
@@ -54,8 +55,12 @@ __vectors:
         ldr     pc, _prefetch_abort  /* Prefetch abort */
         ldr     pc, _data_abort      /* Data abort */
         .word  0xb9205f88           /* In LPX2xxx, this location holds the checksum of the previous vectors */
-
+#if CPU_ARM_LPC2378
+        ldr     pc, [pc, #-0x120]    /* Use VIC */
+#else
+       #warning Check correct VICAddress register for this CPU, default set to 0xFFFFF030
         ldr     pc, [pc, #-0xFF0]    /* Use VIC */
+#endif
         ldr     pc, _fiq            /* Fast interrupt request */
 _init:
         .word   __init