portSWITCH_CONTEXT on AT91SAM7S64 port
On an interrupt routine I’ll have to use:
portSWITCH_CONTEXT
as state on the FreeRTOS book:
xQueueSendToBackFromISR( CANopenQueue_handle, &msg, &xHigherPriorityTaskWoken );
if( xHigherPriorityTaskWoken == pdTRUE )
/* NOTE: The actual macro to use to force a context switch from an ISR is
dependent on the port. This is the correct macro for the Open Watcom DOS
port. Other ports may require different syntax. Refer to the examples
provided for the port being used to determine the syntax required. */
portSWITCH_CONTEXT();
As such portSWITCH_CONTEXT is port dependent. I cannot find this function in the port of AT91SAM7S64.
I found some function with close names on portasm.s79:
portRESTORE_CONTEXT
portSAVE_CONTEXT
What function should be used to provide the portSWITCH_CONTEXT functionality?
thanks
portSWITCH_CONTEXT on AT91SAM7S64 port
May be you read an old api file, the new function name is portYIELD_FROM_ISR(). It can be used like this:
if( xHigherPriorityTaskWoken )
{
portYIELD_FROM_ISR();
}
regards.