FreeRTOS Support Archive

The FreeRTOS support forum can be used for active support both from Amazon Web Services
and the community. In return for using our software for
free, we request you play fair and do your bit to help others! Sign up
to receive notifications of new support topics then help where you can.

This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.

Hi
Last week I started porting Helix mp3 decoder to FreeRTOS enviroment and I stuck on DMA1Stream7IRQHandler. Inside the interrupr routine I release transmission complete semaphore by xSemaphoreGiveFromISR (xSemaphoreTC, &xHigherPriorityTaskWoken). Calling of this function causes permanent stuck inside vPortValidateInterruptPriority( void ). I know the problem is related to the priorities, but i can't solve it by myself. Is there any helping hand? By the way, i'm rookie to FreeRTOS. :)

which is using an unshifted priority value (the priority bits are
already set in the most significant bits) - whereas you probably need to
use an unshifted value (whereas the priority bits are set in the least
significant bits). See the following link for more details:

http://www.freertos.org/RTOS-Cortex-M3-M4.html

DMA1Stream7IRQHandler

In this handler it would be more efficient to use a direct to task
notification than a semaphore.

I'm not sure what more I can say over what I already mentioned in my
last email as I have already pointed out the line in your code that I
think is wrong. Perhaps you should grep NVIC_InitTypeDef in the
FreeRTOS/demo directory to see examples of how the structure is being
used (be careful to see how the FreeRTOS code is actually using it,
rather than uses within the ST code itself).

Mea culpa... I had incorrectly defined parameters configKERNELINTERRUPTPRIORITY and configMAXSYSCALLINTERRUPT_PRIORITY in FreeRTOSConfig.h. :/
Thank you very much for help! I'm tired of this and I read without understanding the content...
Finally everything work ok.