As per some document reference that I found on net the expected vector table generated by assembler is give below
__Vectors DCD __initial_sp ; Top of Stack DCD Reset_Handler ; Reset Handler DCD NMI_Handler ; NMI Handler [...more vectors...]
00000000 LDR PC, =__initial_sp 00000004 LDR PC, =Reset_Handler 00000008 LDR PC, =NMI_Handler
but if we see actual code, it will be like
0x00000000 0268 LSLS r0,r5,#9 0x00000002 1000 ASRS r0,r0,#0 0x00000004 0169 LSLS r1,r5,#5 0x00000006 0000 MOVS r0,r0 0x00000008 0171 LSLS r1,r6,#5 0x0000000A 0000 MOVS r0,r0 0x0000000C 0173 LSLS r3,r6,#5 0x0000000E 0000 MOVS r0,r0
Any idea where will be the vector table?
Thanks
What document, exactly?
Always give a link, so that people can check that it's a good document, and/or that you are correctly interpreting what it says.
Beware of just implicitly trusting everything you find on the net - always verify it against "official" documentation!
Please have a look in the below link
infocenter.arm.com/.../index.jsp
here they have clearly mentioned that "The vector table is fixed at address 0x00000000"
So according to that Vector address for the reset is "0x00000004". It essentially means that when controller get reset it start execution from the 0x00000004 from flash. And the first instruction that it will execute the loading a address of the reset handler and jump to actual subroutine.
Please have a look
Regards Mahesh M
That document also clearly states:
"The vector table contains the reset value of the stack pointer, and the start addresses..."
(My emphasis).
View all questions in Keil forum