I am developing software for microchip microcontroller PIC24 (PIC24EP) and we choose FreeRTOS as OS.
I find that after few hours running of our program, a task which is blocked forever. After tracking the problem, I find that it is waiting a message in a queue but the another task which should send message to the queue disappear.
The situation is exactly as same as following post.
Originally, I am using same FreeRTOSConfig.h from Demo. After reading above post, I tried to adjust configKERNEL_INTERRUPT_PRIORITY to higher priority level. However, it does not help.
Leave configKERNEL_INTERRUPT_PRIORITY at 1. Do you have any other interrupts in your system? If so, do they use any FreeRTOS API functions? If so, what priority are they running at, and can you post their code here?
Yes. There are a number of interrupts in this system. For uart’s interrupt, they use FreeRTOS API (ISR type) for sending message to wake up waiting tasks. I am on the road and I may post them once backed home. BTW, what priority I should set for interrupt with using FreeRTOS APIs and without using APIs?