I am calling "ulTaskNotifyTake( pdTRUE, portMAX_DELAY )" from a function called by a task. I get to the interrupt routine consistantly and I do a "vTaskNotifyGiveFromISR( xdmacChannelNotification[i], NULL );" but the isr never finishes and never gets back to the function where it did the take. Is there anything I can check for configuration? Any clues?
Is xdmacChannelNotification[i] a valid task handle? Step into the vTaskNotifyGiveFromISR() function in the debugger to see what it does, and where it goes.
it has asserted at this line in vPortValidateInterruptPriority()
configASSERT( ucCurrentPriority >= ucMaxSysCallPriority );
The interrupt priority is not valid, see http://www.freertos.org/RTOS-Cortex-M3-M4.html
Turns out I had the priority of the interrupt too high. lowering made it work.