
On 1/15/07, Michael michaelzwrk@gmail.com wrote:
Hi all. I posted a mail describing a problem I have with stack pointer on a board with MPC8541. I figured out I gave a complicated description for a simple problem, so here it is rephrased: I get the stack pointer corrupted when returning from function call on the first functions (running in flash, L1 cache used for stack). for example, in start.S: bl foo1(), when foo1() is: void foo1() { foo2(); } void foo2() { foo3(); } The return address from foo2() is some random crap.
Any ideas what could be the reason? Thanks, Michael
Michael wrote: Seems like I found the cause of the problem - it was the JTAG I use. It somehow corrupts the stack pointer in L1D cache. Running without the JTAG, or alternatively relocating the stack pointer to SRAM, results in normal execution.
And the JTAG unit manufacture/model is????? Forewarned is forearmed.
Thanks, gvb