Other Parts Discussed in Thread: HALCOGEN
The ARM Compiler manual states
"Interrupt routines are not reentrant. If an interrupt routine enables interrupts of its type, it must save a
copy of the return address and SPSR (the saved program status register) before doing so."
Is there an example of how this can be implemented using a C interrupt service routine that is marked with the #pragma INTERRUPT?
We are considering the addition of inline assembly to save the extra registers that are not saved by #pragma INTERRUPT; but I've been told that the final ordering of inline assembly code versus compiler generate instructions may not be the same order as it appears in the C source. So concerned about adding inline asm() statements to handle this critical job.
If there's no safe way to 'augment' the #pragma INTERRUPT routine written in C, would it be possible to add a #pragma REENTRANT_INTERRUPT in some future version of the compiler?