Move kfile interface to the io/ directory.
[bertos.git] / bertos / cpu / arm / hw / vectors_lpc2.S
index d5568fb971dcc2225b2aac2628f73546c7f4b40c..06d0a7df6ad0edeb85cfb9b4eb385ff22eacbd50 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 */
@@ -53,9 +54,16 @@ __vectors:
         ldr     pc, _swi             /* Software interrupt */
         ldr     pc, _prefetch_abort  /* Prefetch abort */
         ldr     pc, _data_abort      /* Data abort */
+#if CPU_ARM_LPC2378
+        .word  0xb9206e58           /* In LPX2xxx, this location holds the checksum of the previous vectors */
+        ldr     pc, [pc, #-0x120]    /* Use VIC */
+#else
         .word  0xb9205f88           /* In LPX2xxx, this location holds the checksum of the previous vectors */
-
+       #if CPU_ARM_LPC2
+               #warning Check correct VICAddress register for this CPU, default set to 0xFFFFF030
+       #endif
         ldr     pc, [pc, #-0xFF0]    /* Use VIC */
+#endif
         ldr     pc, _fiq            /* Fast interrupt request */
 _init:
         .word   __init