In Cortex-M7,Why the address of fuction printed is not same as the one mentioned in map file.
i.e, My function address is 0x00473dbc in map fle, but it is diffrent, if we print it in my program.
Maybe you give us all the information? Not just the half.
Thank you for looking into this. KIndly find more information as follows
Hardware used is SAMv70 from Microchip.
From Map file address of the function "VhicDebugUartInit" is "0x00473dbc"
.ARM.exidx.text.VhicDebugUartInit 0x00473dbc 0x10 obj/gnu/release/ccuvhicdebug.o 0x8 (size before relaxing)
If we print the address of the function in the program, it is "0x00473DCB"
printf("VhicDebugUartInit at 0x%x", VhicDebugUartInit);
Check out the Thumb-2 description. It explains, why bit 0 is set.
Could be a typo, but those two values differ by more than bit 0...
Ouch, yes. :(
View all questions in Cortex-M / M-Profile forum