Hi,
I am using ARM v7-A (Cortex A15 MP) and i want to observe the stack context, as i understand it, there are some offset values inside of ARM Core Registers (between LP, SP and PC), and the offset values are different from program to program (task to task). My main purpose is find the PC, LP adresses by using SP address for each program (task/process).
How can i find these offset values?
Is there any struct about stacks and stack variables?
What is stored on the stack depends on the SW running.
I see, but i can save the contexts of each stacks which means that the addresses of the last called function for each stacks, regardless the running SW is changed.
I want to find each SP, LR and PC addresses by using this information (the last called function's address)
What SW? Do you use an RTOS/GPOS? If yes, which? How the context is build up depends on the SW running.
I am using TI-RTOS (SYS/BIOS)
The you should ask in a TI-RTOS forum or support.
IndexWhen I grow to be the usage of it, I offered a pay as you go card for the cellphone line / gps. Its not very pricey, however try outdoor tv antenna it is likely because ew occasionally used it. But the watch I had doesn't artwork anymore as a tracker because its at the 2G community.
Assume you use an arm eabi gnu compiler, add
-fno-omit-frame-pointer
The\option makes sure a consistent frame layout can be obtained. From that your program can walk up the stack and get all the caller addresses.
Some useful information can be found here
https://azeria-labs.com/functions-and-the-stack-part-7/