PIC24F ISR - How do I vPortYieldFromISR ?

dnadler wrote on Friday, August 10, 2012:

Background: I downloaded the latest FreeRTOS distribution,
ported the PIC24F demo program to the “PIC24F Starter Kit” board (distribution demo is for “Explorer 16” board),
added Microchip USB stack and simulated serial port RX/TX to PC (displaying text on OLED).
So far, all AOK. And I will post the demo when I fix up a couple loose ends !

However… In my real application, I have an ISR using a binary semaphore to awaken a task.
I expected to code:

    xSemaphoreGiveFromISR(channelDataReadySemaphore,&xHigherPriorityTaskAwoken); // unblock above channel data task
    if(xHigherPriorityTaskAwoken==pdTRUE) {  vPortYieldFromISR(); }

Unfortunately I can’t find any of vPortYieldFromISR, portSWITCH_CONTEXT, or portEND_SWITCHING_ISR in this port of FreeRTOS.

Sorry if I’m being dense, but how do I ensure that FreeRTOS will return to the awakened high-priority task from the ISR in this PIC24F port ?

Thanks in advance,
Best Regards, Dave

rtel wrote on Saturday, August 11, 2012:

Look at the example interrupt called _U2TXInterrupt() provided in FreeRTOS/Demo/PIC24_MPLAB/serial/serial.c, as described in the Interrupt Service Routines section on the documentation page for the example: http://www.freertos.org/portpic24_dspic.html.


dnadler wrote on Tuesday, August 14, 2012:

Thanks Richard, Sorry I missed this,
Best Regards, Dave

PS: I’m looking for my next project - need any help ?