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.
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);
If you look at it in a debugger, what address do you see ?
To print a pointer, shouldn't you be using %p ?