Page 1 of 1

Untested FreeRTOS function

Posted: Thu Jun 29, 2017 7:10 pm
by permal

So I just stumbled upon this little thing:
Untested FreeRTOS function ulTaskNotifyTake
Looking in tasks.c in the master branch I can see that there are other functions marked as untested as well, but for this particular one there is no mention of why, likewise with xTaskNotify. Is it multi-core that is the problem?

What do you suggest we use instead? While I can probably use a semaphore or mutex, the direct task notifications are so muck less demanding it is a sad thing they are not yet supported.


Re: Untested FreeRTOS function

Posted: Fri Jun 30, 2017 6:14 am
by Alynnn
Official FreeRTOS doesn't support multiple core processors and so the ESP32 FreeRTOS BSP/port is unique that it does support both processor cores. And in the documentation they have mentioned that some FreeRTOS functions are flagged as untested that haven't been fully vetted to be compatible with the multicore support port implementation.

The alternative is to either use a Queue (for mailbox), Counting Semaphore, or EventGroups (for bitmask based flag events). Choose one that closest matches how you're currently using task notify.

I'm currently using both counting semaphores and event groups on my ESP32 project.