FreeRTOS task stack memory saftey, direct task notificaiton

Hi there Ben,

we had discussed the issue in a different thread before (here): It may not be a wise idea to create and destroy tasks dynamically. These are expensive procedures that may, among other things, account for memory fragmentation (even if you create the tasks with static stacks driven from a pool, there is still one alloc() made for each PCB creation) and potentially take up significant CPU time. If I recall correctly, task deletion is also a process that is deferred to the idle task, which means that the true release of resources also depends on how heavily your working tasks utilize the CPU which in turn affects real time behavior.

The more traditional solution would be to use a static pool of tasks which sit dormant until being signalled to pick up a computation.

Feel free to experiment with your strategy, and please let us know how that works out, but keep the more traditional approach in the back of your mind as a valid Plan B.

Thanks!