usage of configUSE_TICKLESS_IDLE

hi, i am working on low power mode, here i using the freertos functionality vPortSupressTicksandSleep() ot make the harware sleep and wakeup after a interrupt given, for using this function i need to define

define configUSETICKLESSIDLE 1

i am having few queries over this macro enabling: can i know,if this macro is enabled and the device reboots, the presleep and post sleep will be called continously? before this function it is given as:

if (configUSETICKLESSIDLE ==1 )

i want to execute this function only when the device tries to go to sleep, but when i define

define configUSETICKLESSIDLE 1

in the file where the sleep mode is configured, it does not enable this function. can u please share any logic for enabling this function?

usage of configUSE_TICKLESS_IDLE

define configUSETICKLESSIDLE 1 in the file where the sleep mode is configured, it does not enable this function.
Which function? Assuming you are using a Cortex-M3, M4F or M7 port, then setting configUSETICKLESSIDLE is 1 will the ‘supportess ticks and yield’ macro is called, which by default, calls vPortSuppressTicksAndSleep() defined in the FreeRTOS port.c file.

usage of configUSE_TICKLESS_IDLE

Hi, Thank you Richard for the reply. I am referring to the function called vPortSupressTicksandSleep() and I am using cortex M7. Now the issue: If I make the macro defined to 1, I would observed that the presleep and post sleep called continuously, is the behaviour expected or not? On Tue 20 Aug, 2019, 12:25 AM Richard Barry, rtel@users.sourceforge.net wrote:
define configUSETICKLESSIDLE 1 in the file where the sleep mode is configured, it does not enable this function. Which function? Assuming you are using a Cortex-M3, M4F or M7 port, then setting configUSETICKLESSIDLE is 1 will the ‘supportess ticks and yield’ macro is called, which by default, calls

vPortSuppressTicksAndSleep() defined in the FreeRTOS port.c file.

usage of configUSETICKLESSIDLE

https://sourceforge.net/p/freertos/discussion/382005/thread/d3e4e92feb/?limit=25#0403/aee7

Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/freertos/discussion/382005/ To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

usage of configUSE_TICKLESS_IDLE

In the source code you will see that vPortSuppressTicksAndSleep() is called if the expected idle time goes above a threshold you configure using the configEXPECTEDIDLETIMEBEFORESLEEP constant FreeRTOSConfig.h – then inside vPortSuppressTicksAndSleep() you have the following code which is where the pre and post sleep functions (which are defined by the application) are executed. configPRESLEEPPROCESSING( xModifiableIdleTime ); if( xModifiableIdleTime > 0 ) { __asm volatile( “dsb” ::: “memory” ); __asm volatile( “wfi” ); __asm volatile( “isb” ); } configPOSTSLEEPPROCESSING( xExpectedIdleTime ); Which bit is not executing as you expect? When you step through the code in the debugger why is it not behaving as expected?