nobody wrote on Saturday, November 26, 2005:
My ARM port is based on the ARM7_LPC2000 demo. I am using portENTER_SWITCHING_ISR() as is, in which R11 (FP) is set to LR as the last step. This leaves the FP as the SP of the interrupted task. This is nice, except that the compiler seems to be generating code for my __attribute__ ((naked)) ISR such that the offsets to autos from the FP are positive rather than negative (as is the case with normal functions). This then clobbers stuff on the task’s stack.
Is this a known issue? Or have others seen it?
My fix has been to use statics. Functions called from the ISR are OK, of course.