Currently you would have to inspect the task’s control block manually.
In case this is not immediately clear to you:
If you put a break somewhere in tasks.c you can see ‘pxCurrentTCB’, which points to the Task’s Control Block of the task which is currently active.
Two fields in the PCB may be of interest:
StackTypet pxTopOfStack; /* Location of the last item placed on the tasks stack. */
t pxStack; /* Start of the stack. */
And beside these two members, it might be interesting to check the actual Stack Pointer
, which can be found in a window showing the CPU registers.
look in the linker map…
You will find the location of the stack that will be used at boot time.
For instance, these are 512 bytes of boot stack.
00000200 a stack_size
0000fe00 B _stack
00010000 B _estack
This stack space becomes vacant as soon as the scheduler is started by calling
will have allocated stack space for each of the tasks ( using