AnsweredAssumed Answered

#Include wierdness STM32L4 w FreeRtos using CubeMx and enabling Tickless mode

Question asked by Kent Swan on Jun 10, 2018
Latest reply on Jun 10, 2018 by Kent Swan

I am developing for a STM32L462 using SW4STM32 eclipse and CubeMx with FreeRtos quite successfully up to this point.  The application is interrupt event message driven as you would expect.  I need to enable Tickless Idle and use CubeMx to enable the define in FreeRtosConfig.h (like any of the other FreeRtos capabilities) but am having a #include wierdness

 

In the before configuration, configUSE_TICKLESS_IDLE is nowhere present in FreeRTOSConfig.h thus FreeRtos.h conditionally supplies #define configUSE_TICKLESS_IDLE 0

 

In the after configuration, FreeRtosConfig.h supplies a #define configUSE_TICKLESS_IDLE 1. I have verified that this properly suppresses the above define within FreeRtos.h

 

FreeRtos.h is then imported into core.c to configure the various cpu dependent options and, for some reason, all of the

#if (configUSE_TICKLESS_IDLE ==1) conditionals fail to activate as they should.

 

I have verified that at the end of FreeRtos configUSE_TICKLESS_IDLE==1 IS STILL DEFINED but right after the include in core.c it has somehow reverted to configUSE_TICKLESS_IDLE == 0

 

Has anyone else ever encountered a similar problem with a define not propagating out of an include like this and what I should be looking for to fix it?

Outcomes