Recently , I started using the Cortex M3 GCC port.
My question is connected to the context saving - restoring during interrupt servicing :
According to the Cortex M3 architecture and my understanding: Only register from R4 until R11 has to be saved. Other registers are automatically stacked - unstacked by the processor and the NVIC before - after Interrupt routine execution.
I started my project using the Stellaris CORTEX_LM3Sxxxx_Eclipse demo :
I found the piece of code doing the job for the FreeRTOS kernel scheduling systick timer interrupt, but for other interrupt function used by the demo (void vT2InterruptHandler( void ) for example),
I have not been able to find the context saving - restoring code or any kind of key word which could tell to the compiler the present function is an interrupt function (__attribute__ ((interrupt)))
How this context saving - restoring has to be done for handling ISR with FreeRTOS - Cortex M3 or if not necessary, why ?
Thanks for any explaination
From my understanding,