Open
Description
Is your feature request related to a problem? Please describe.
On ARM Cortex-M SoC (not sure for other systems),
for tickless idle feature, developers can define generally one hook and three functions:
- vApplicationIdleHook
- PreSuppressTicksAndSleepProcessing
- PreSleepProcessing
- PostSleepProcessing
In PostSleepProcessing
, the whole system continues its processing, and some OS APIs are quite likely to be called here. But, at this moment, OS is suspended, only a small portion of
APIs are allowed.
Describe the solution you'd like
Suggest to add a hook after xTaskResumeAll()
in prvIdleTask
:
Line 3537 in bad8f01
#if ( configUSE_IDLE_RESUMED_HOOK == 1 )
{
extern void vApplicationIdleResumedHook( void );
/* Call the user defined function from within the idle task. This
allows the application designer to add background functionality
without the overhead of a separate task.
*/
vApplicationIdleResumedHook();
}
#endif /* configUSE_IDLE_RESUMED_HOOK */
Describe alternatives you've considered
Use xSemaphoreGiveFromISR
in PostSleepProcessing
to notify a another task.
This is not convenient.