Datasheet

(gdb) bt
#0 os_tick_idle (ticks=131072) at hal_os_tick.c:146
#1 0x000091f6 in os_idle_task (arg=<optimized out="">) at os.c:64
#2 0x00000000 in ?? ()
Each line shows the frame number, and the function name and return address.
In this case, the code has stopped at os_tick_idle in hal
os
tick.c, which
was called from os_idle_task in os.c.
Display Stack Frame Details
You can display detailed information about a specific stack frame via the
info frame [n] command:
(gdb) info frame
Stack level 0, frame at 0x20001e60:
pc = 0x184aa in os_tick_idle (hal_os_tick.c:146); saved pc = 0x91f6
called by frame at 0x20001e80
source language c.
Arglist at 0x20001e40, args: ticks=131072
Locals at 0x20001e40, Previous frame's sp is 0x20001e60
Saved registers:
r3 at 0x20001e48, r4 at 0x20001e4c, r5 at 0x20001e50, r6 at 0x20001e54, r7 at 0x20001e58, r8 at 0x20001e40,
r9 at 0x20001e44, lr at 0x20001e5c
To display the arguments for the current stack frame you can run:
(gdb) info args
ticks = 131072
To display the local variables (one per line) for the stack frame run (data
may or may not be available depending on build setings):
(gdb) info locals
ocmp = <optimized out="">
Displaying ARM Registers
You can also display a list of the ARM registers via info registers .
The following example shows the same pc value seen above where we are halted
at 0x184aa on os_tick_idle , and the stack pointer ( sp ) is at 0x20001e40,
one 32 byte (0x20) stack frame away from the value seen earlier.
© Adafruit Industries https://learn.adafruit.com/adafruit-nrf52-pro-feather Page 74 of 87