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.
Perhaps you could show the code you are using. Do you know the timer interrupt is being fired? (Set up properly).
My code is identical to the code in Example 2. I did verify that the timer interrupt is getting triggered; it hits a breakpoint in the ISR.
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.