I’m using a Microsemi SmartFusion2 and I’m trying to send a notification from the timer interrupt to a task. I’m following Example 2 from http://www.freertos.org/RTOS_Task_Notification_As_Counting_Semaphore.html but my task never receives the notification. I’ve verified with the debugger that the timer is running and hitting the interrupt. I set the NVIC priority for the interrupt to configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY + 1. All I ever get is the ulTaskNotifyTake() timing out and returning 0. The timeout time is set to 500ms and the timer is set to expire every 100ms. I’m using version 9.0.0.
Try stepping into the function that gives the notification inside the
interrupt to check the task handle you are sending to is valid, and the
task you think it is. Once inside the function, in the tasks.c file,
you will be able to look at the handle of the target task in the
debugger to check its name, etc.
Note that the example is not complete, for instance it does not show how xHandlingTask is initialised. So it could still be useful if you show the code that you are using.