Showing results for 
Search instead for 
Did you mean: 

Working with FreeRTOS in low power tickless mode for long stop periods


I'm using FreeRTOS in an STM32WL55 based application that needs to be active only few time per day (3-6).

The system need to be in stop mode for most of the time and I have an external line that is connected to the LPTIM and based on this line status the system needs to wake up do some activities.

All the FreeRTOS & STM32 discussion I read refer to FreeRTOS Tickless mode where the system needs to wake up periodically on a relatively fast rate (this is based on the system clock mainly) to keep its internal tick. This is indeed needed if you are using OS timers or some task are waiting on a service that is time based (e.g. wait for a message or osDelay)

But if the system does not use any OS timebase services while in stop mode one would wants the system to stay in stop mode as long as possible.

How can this be achieve?

Is there any examples for that?


ST Employee

Hello @egoltzman​ ,

Actually the Tickless mode implemented in the firmware does not allows you to stay as along as you need in stop mode, in the STM32Cube_FW_WB_V1.13.0, you can refer to the project under Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_HeartRateFreeRTOS. In this project is implemented a low power tickless idle as you are looking for.

I hope it helps


Thanks Louis, I'll check your refence