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