Пытаюсь разобраться с USB стеком http://sourceforge.net/projects/lpcusb.
Компилирую WinARM+KEIL(IDE).При компиляции с родными (из проекта)стартапом и скриптом линкера работает нормально, но есть непонятные моменты:
В стартапе таблица векторов задана так:

Код
_vectors:       ldr     PC, Reset_Addr        
                ldr     PC, Undef_Addr
                ldr     PC, SWI_Addr
                ldr     PC, PAbt_Addr
                ldr     PC, DAbt_Addr
                nop                            
                ldr     PC, [PC,#-0xFF0]    
                ldr     PC, FIQ_Addr

Reset_Addr:     .word   Reset_Handler        /* defined in this module below  */
Undef_Addr:     .word   UNDEF_Routine        /* defined in main.c  */
SWI_Addr:       .word   SWI_Routine            /* defined in main.c  */
PAbt_Addr:      .word   UNDEF_Routine        /* defined in main.c  */
DAbt_Addr:      .word   UNDEF_Routine        /* defined in main.c  */
IRQ_Addr:       .word   IRQ_Routine            /* defined in main.c  */
FIQ_Addr:       .word   FIQ_Routine            /* defined in main.c  */
                      .word   0 //здесь чето непонятно???


обработчики заданы в майне:

Код
void IRQ_Routine (void)   __attribute__ ((interrupt("IRQ")));
void FIQ_Routine (void)   __attribute__ ((interrupt("FIQ")));
void SWI_Routine (void)   __attribute__ ((interrupt("SWI")));
void UNDEF_Routine (void) __attribute__ ((interrupt("UNDEF")));


При замене стартапа на(стандартный из комплекта (KEIL):
Код
Vectors:        LDR     PC, Reset_Addr        
                LDR     PC, Undef_Addr
                LDR     PC, SWI_Addr
                LDR     PC, PAbt_Addr
                LDR     PC, DAbt_Addr
                NOP                            /* Reserved Vector */
#               LDR     PC, IRQ_Addr
                LDR     PC, [PC, #-0x0FF0]     /* Vector from VicVectAddr */
                LDR     PC, FIQ_Addr

Reset_Addr:     .word   Reset_Handler
Undef_Addr:     .word   Undef_Handler
SWI_Addr:       .word   SWI_Handler
PAbt_Addr:      .word   PAbt_Handler
DAbt_Addr:      .word   DAbt_Handler
                .word   0                      /* Reserved Address */
IRQ_Addr:       .word   IRQ_Handler
FIQ_Addr:       .word   FIQ_Handler

Undef_Handler:  B       Undef_Handler
SWI_Handler:    B       SWI_Handler
PAbt_Handler:   B       PAbt_Handler
DAbt_Handler:   B       DAbt_Handler
IRQ_Handler:    B       IRQ_Handler
FIQ_Handler:    B       FIQ_Handler


выпадает в DAbt_Addr. Почему так???
Архив с проектом прикрепляю.