I am trying to use FreeRTOS on Cortex M0 controer from ST. I am facing the issue with binarty semaphore used in timer ISR.
I have intitialised the timer overflow interruot with priority 3 (Lowest). two tasks with priority: osPriorityNormal, and created one binary semphore all are created using CMSIS OS API with FreeRTOS version V8.2.1.
- when i am using the osSemaphoreRelease(myBinarySem01Handle); from one task and waiting for getting semphore in another task it is working fine.
- when i am using the same osSemaphoreRelease(myBinarySem01Handle); in ISR it is getting stuck in queue.c file at asser mentioned below:
/* Similar to xQueueGenericSendFromISR() but used with semaphores where the item size is 0. Don't directly wake a task that was blocked on a queue read, instead return a flag to say whether a context switch is required or not (i.e. has a task with a higher priority than us been woken by this post). */ configASSERT( pxQueue );
I am not able to find where i am doing wrong.
Please help me out how i can get out of this issue.I have created this project in true studio and IAR. I am facing the issue in both the projects.
For referecne i have uploaded the files on one drive. Download link is http://1drv.ms/1QHgZ3X