AnsweredAssumed Answered

RT1052 Low Power Tickless & AN12085

Question asked by variable_andrew on Jun 22, 2020
Latest reply on Jun 29, 2020 by variable_andrew

AN12085 "How to use i.MX RT Low Power Feature"  - Section 5.3.4.1.Choose a FreeRTOS ticktimer suggests to increase the timer for 1 tick in order to save power. 

 

The only actual instruction in this section:

To use100KHz clockjust need to define configSYSTICK_CLOCK_HZin FreeRTOSConfig.h.#define configSYSTICK_CLOCK_HZ (10000U)

The AN says if you "JUST" do this, ulTimerCountsForOneTick will update to 100, but it doesn't for me.

 

I had to make a 2nd change to FreeRTOSConfig.h: update configCPU_CLOCK_HZ from (SystemCoreClock) to (100000). If I do this, then ulTimerCountsForOneTick updates to 100, BUT instead of seeing power reduce, I actually see the current consumption increase.

 

I'm assuming there are a few more steps missing here - likely related to properly updating configCPU_CLOCK_HZ. Could you please find out the details and let me know how to properly do this?

 

for reference - the relevant section of my FreeRTOSConfig.h is:

#define configUSE_PREEMPTION                    1
#define configUSE_TICKLESS_IDLE                 2 // --> when ready for low power testing - update to: 2
#define configCPU_CLOCK_HZ                      (100000) //(SystemCoreClock)
#define configTICK_RATE_HZ                      ((TickType_t)1000)
#define configSYSTICK_CLOCK_HZ                  (10000U)
#define configMAX_PRIORITIES                    6

 

without following the Appnote, this section normally looks like this:

#define configUSE_PREEMPTION                    1
#define configUSE_TICKLESS_IDLE                 2 // --> when ready for low power testing - update to: 2
#define configCPU_CLOCK_HZ                      (SystemCoreClock)
#define configTICK_RATE_HZ                      ((TickType_t)1000)
#define configMAX_PRIORITIES                    6

Outcomes