Other Parts Discussed in Thread: SYSBIOS
In CCS v4.1.1.00014, I was attempting to debug what looked like stack corruption because the Debug thread view was showing a garbage stack. Turns out it's a problem with the viewer, not so much the stack.
It appears that when most functions make a call, they place the return address in register B3 and at the current SP value before incrementing SP for the new function's allocation.
The Debug View seems to parse this to generate the stack call list.
Some functions, however, place the return address two words higher which makes the call stack in the Debug view corrupted below those functions. Some examples are:
PSP Drivers v02_00_01:
ti_psp_mcasp_Mcasp_localEdmaChanPaRAMsetup__I
ti_psp_mcasp_Mcasp_localSubmitIoctl__I
Maybe it's the way that the ...__I calls work? It is a little unnerving, especially when 16 bit values are packed in memory, but the stack increases enough to hold them all as 32 bit.
Any insight on how to resolve this would be great.
Thanks
David Kelly