portSAVE_CONTEXT not used in some MPUs

I am trying to implement the dsPIC port of FreeRTOS. I am using the PIC32 edition Realtime Kernel reference manual as it was the closest to dsPIC33. In the manual they show code listings of interrupts that call the portSAVE_CONTEXT and portRESTORE_CONTEXT upon entering and exiting the ISR respectively. In the demo code for the dsPIC33 the portSAVE_CONTEXT and portRESTORE_CONTEXT are not called in the USART interrupts. The demo code does make use of the taskYield however. Why is portSAVE_CONTEXT and portRESTORE_CONTEXT not used in the dsPIC33 and other MPU demos and why is it used in other cases
When do I need to use it? Thanks in advance

portSAVE_CONTEXT not used in some MPUs

You don’t need to call those macros at all in the PIC24/dsPIC port – the kernel will take care of it. I recommend reading the “Configuration and Usage” section of the following page:
http://www.freertos.org/portpic24_dspic.html The demo application should also contain example interrupt service routines (probably for a UART at least) that you can use as a reference, and copy. Regards.