Context Differences: IAR — V850 vs GH — RH850
I have FreeRTOS 10 running on RH850 using Green Hills Multi, by modifying the IAR — V850 demo.
In the saving/restoring of context on task switch, the original code skips r25, unless tiny data model. Why? Is that IAR-specific? Does GH not use that register for any special purpose, so it’s availble for general purposes by the application?
The GH compiler is generating instructions that modify r25 in the application, so if it is not saved/restored on task switch, it will likely cause problems. Is adding it to the context unconditionally enough? Or do I need to find a way to prevent the compiler from generating applications that modify it?