Vector table is a data structure used by the processor to handle exceptions and interrupts. It is a lookup table that contains special addresses range which pointing to corresponding exception or interrupt handlers.
When an exception or interrupt occurs, the processor suspends its current normal execution instructions (the processor sets the program counter (pc) to a specific memory address) and transfers control to the appropriate handler by referencing the vector table. The entries in the vector table are instructions that branch to specific routines designed to handle a particular exception or interrupt. << equivalent to the IDT on x86 >>.
The memory map address 0x00000000 is reserved for the vector table, a set of 32-bit words.
On some processors the vector table can be optionally located at a higher address in memory (starting at the offset 0xffff0000 – virtual address).
Please find below vector table details,
Reset vector - location of the first instruction executes by the processor when power on. Its an instruction branches to the initialization code.
Interrupt request vector - is used by external hardware to interrupt the normal instruction execution of the processor. It can only be triggered when IRQs are not masked in the cpsr.
Fast interrupt request vector - similar to the interrupt request but it is high prioritized and reserved for hardware requiring faster response times. It can only be raised when FIQs are not masked in the cpsr.
Note :- ARM vector table base address is at physical address 0x0 & at virtual address 0xffff0000.