I'm trying to implement a very deep-state test project implementation, taking advantage of LLS state and FreeRTOS tickless operation;
for now, I can successfully enter RUN->VLPR->LLS state (which by itself is enough deep-state for the application i'm testing), but is required to do it within a function, not specially a task.
In parallel, I have also successfully put the current two FreeRTOS tasks I've created into the suspended state (by manually using vTaskSuspend( TaskHandle ), rather than vTaskSuspendAll() ) and then entered tickless operation.
The three main concerns I have for now are the following:
1) If I suspend all the tasks, including the current one running, task-internal-sequential-code is not continued (as the current task also enters suspended state and the core goes to tickless mode), so I can't call my function I previously mentioned to enter LLS.
2) I've read that the Idle task can redirect to a callback (also named "hook functions" I believe), but for now I haven't been able to perform that.
3) When I achieve tickless operation (which by the way, I configured to 1sec, i.e. 200 ticks with the default systick configuration), I don't see that any task is taken from the suspended state to running, as I understood from this link: Tickless Low power features in FreeRTOS ; am I supposed to manually resume (with vTaskResume(TaskHandle) ) any task I want to return to running? how would the core know when to listen to such sentence?
Any guiding/tip/example would be greatly appreciated, thanks in advance.