Hi,
I’ve got a strange issue with our source code on the TI piccolo; we’ve witnessed it at various times and incarnations, but I’ve managed to produce a code base that reproduces it repeatedly.
Namely, I can add a local (unused) variable:
Int j=1;
Program the processor, and it will stop functioning. It locks up hard enough that I’ll need to power cycle the chip to program it again. (the Blackhawk probe doesn’t seem to be able to reset it via JTAG!)
If I add a second local (unused) variable
Int j=1;
Int k=1;
The code will function as expected & everything is normal. I’ve verified that this is 100% repeatable (odd numbers of locals crash the processor, even function normally). I assume that this has something to do with memory alignment, since adding the local variable shifts a couple of functions in flash space, but can’t seem to find any commands/pragmas/instructions for the compiler to force alignment.
We saw this previously adding and removing unused functions – the act of the function existing in memory space seemed to cause or fix the problem.
Thanks
Madhu