首先异常向量表的代码如下:
__exception_handlers:
#ifdef CYGSEM_HAL_ROM_RESET_USES_JUMP
// Assumption: ROM code has these vectors at the hardware reset address.
// A simple jump removes any address-space dependencies [i.e. safer]
b reset_vector // 0x00
#else
ldr pc,.reset_vector // 0x00
#endif
ldr pc,.undefined_instruction // 0x04
ldr pc,.software_interrupt // 0x08 start && software int
ldr pc,.abort_prefetch // 0x0C
ldr pc,.abort_data // 0x10
#ifdef CYGNUM_HAL_ARM_VECTOR_0x14
.word CYGNUM_HAL_ARM_VECTOR_0x14
#else
.word 0 // unused
#endif
ldr pc,.IRQ // 0x18
ldr pc,.FIQ // 0x1C
对于undefined/software/abort/prefech异常来说&