Is it advisable use an API ended in FromISR from a task context?


I am porting am application which runs on VxWorks to FreeRTOS.

It is quite big.

The thing, it is that VxWorks can tell you in which context code is running (ISR vs task), but AFIK FreeRTOS does not provide that functionality.

In order to save some work, we are considering if the fact of using xSemaphoreGiveFromISR from a task could have some side-effects in the execution.

Documentation states clearly not to do the other way round.

Thanks in advance for you time.

Best regards,

This has been discussed here several times before, eg here:

FromISR from user space - Kernel - FreeRTOS Community Forums

You may want to use the search function to avoid redundant discussions.


In addition on Cortex-M MCUs there is xPortIsInsideInterrupt() to check the context.

Thank you for your reply.


I saw it after I wrote this post.

Although we are porting to a SoC under development. It´s a R&D project.

Thank you.