Remove \version svn tag.
[bertos.git] / bertos / cpu / arm / hw / vectors_at91.S
index 85b8825ceb22299cd251dbf8cb760452b2b55eee..ce4991e499421808bd28776c94be88012cf63370 100644 (file)
  * \brief Atmel AT91SAM interrupt vectors.
  */
 
+#include "cfg/cfg_arch.h"
+#if defined(ARCH_NIGHTTEST) && (ARCH & ARCH_NIGHTTEST)
+       /* Avoid errors during nigthly test */
+       #define __vectors __vectors_at91
+#endif
+
+
 /*
  * Section 0: Vector table and reset entry.
  */
 
         .global __vectors
 __vectors:
-        ldr     pc, [pc, #24]   /* Reset */
-        ldr     pc, [pc, #24]   /* Undefined instruction */
-        ldr     pc, [pc, #24]   /* Software interrupt */
-        ldr     pc, [pc, #24]   /* Prefetch abort */
-        ldr     pc, [pc, #24]   /* Data abort */
-        .word  0               /* Reserved */
+        ldr     pc, _init           /* Reset */
+        ldr     pc, _undef          /* Undefined instruction */
+        ldr     pc, _swi            /* Software interrupt */
+        ldr     pc, _prefetch_abort /* Prefetch abort */
+        ldr     pc, _data_abort     /* Data abort */
+        .word  0                   /* Reserved */
 
         /*
          * On IRQ the PC will be loaded from AIC_IVR, which
@@ -58,11 +65,15 @@ __vectors:
         ldr     pc, [pc, #-0xF20]   /* Interrupt request, auto vectoring. */
         ldr     pc, [pc, #-0xF20]   /* Fast interrupt request, auto vectoring. */
 
+_init:
         .word   __init
+_undef:
         .word   __undef
+_swi:
         .word   __swi
+_prefetch_abort:
         .word   __prefetch_abort
+_data_abort:
         .word   __data_abort
 
-
         .ltorg