X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fhw%2Fvectors_at91.S;h=ce4991e499421808bd28776c94be88012cf63370;hb=41718ab2098bd5640da265c34f1ecb79a4123d39;hp=85b8825ceb22299cd251dbf8cb760452b2b55eee;hpb=32345c225137c59bbdc9e3f8c761f29606eb3aaa;p=bertos.git diff --git a/bertos/cpu/arm/hw/vectors_at91.S b/bertos/cpu/arm/hw/vectors_at91.S index 85b8825c..ce4991e4 100644 --- a/bertos/cpu/arm/hw/vectors_at91.S +++ b/bertos/cpu/arm/hw/vectors_at91.S @@ -35,6 +35,13 @@ * \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. */ @@ -42,12 +49,12 @@ .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