When I build my code with the following compiler option on STM32L4R9AI (Cortex M4) board with TizenRT (https://github.com/Samsung/TizenRT)
ARCHOPTIMIZATION += -fno-omit-frame-pointer -mapcs -mno-sched-prolog
I do not get a frame pointer (fp) for every call stack of the source code build.
When I take the object dump, I get following call stack >>
08000fb0 <stm32l4_dbgmonitor>: 8000fb0: b580 push {r7, lr}
Whereas, for cortex-R the object dump using the same compiler option (for artik053 board) looks as below >>
I am currently using using gcc version 6.3.0.
Any pointers on this issue would be helpful.
Thanks & Regards,
Vidisha Thapa
The straightforward way of getting the current call stack, used both by debuggers and by programs curious about their own stacks, relies on the frame pointer. The idea is that a machine register is reserved for keeping a pointer into the stack UPSers