Alan, If you still have the config, that would be helpful! I have tried going into the device's low-power modes both using the tickless OS, and using the normal scheduler. When I use the debugger, I can see that the line of code in stm32_idle.c that puts the device into the low-power modes is being called, yet the power consumption shows that these modes are never entered. Also, if the low-power modes were entered, the debugger would disconnect, which it does not (I disabled the config that prevents a "wfi" command during debugging).
Thank you, Jesse Jensen (he, him, his) Geotab Embedded Engineer Direct Toll-free Visit +1 (702) 409-1041 +1 (800) 397-7102 www.geotab.com Twitter <https://twitter.com/geotab> | Facebook <https://www.facebook.com/Geotab> | YouTube <https://www.youtube.com/user/MyGeotab> | LinkedIn <https://www.linkedin.com/company/geotab/> On Wed, Jun 15, 2022 at 7:18 PM Alan Carvalho de Assis <acas...@gmail.com> wrote: > Hi Jesse, > > About two years ago I used exactly the nucleo-l476rg board to test low > power mode on NuttX, but I didn't use it with Tickless. > > I can try to find my config, but I put the test on my blog at that time: > > https://acassis.wordpress.com/2020/05/03/testing-nuttx-low-power-modes/ > > Did you test the PM mode with normal scheduler ? > > BR, > > Alan > > On 6/15/22, Jesse Jensen <jessejen...@geotab.com.invalid> wrote: > > Hello Alan, > > Thank you for your response. The arm_pminitialize function exists, but > > contains no logic Viewing implementations of that functions on other > > boards, they are mostly empty as well, with a couple also including > > led_pminitialize functions and/or pmbutton functions. As I am not > > (currently) using push buttons to wake from sleep nor am I using the LEDs > > to monitor the power manager, I do not think that logic is applicable. > > > > Thank you for your help, > > > > Jesse Jensen (he, him, his) > > Geotab > > > > Embedded Engineer > > > > Direct > > Toll-free > > > > Visit > > > > +1 (702) 409-1041 > > +1 (800) 397-7102 > > www.geotab.com > > > > Twitter <https://twitter.com/geotab> | Facebook > > <https://www.facebook.com/Geotab> | YouTube > > <https://www.youtube.com/user/MyGeotab> | LinkedIn > > <https://www.linkedin.com/company/geotab/> > > > > > > On Tue, Jun 14, 2022 at 12:00 PM Jesse Jensen <jessejen...@geotab.com> > > wrote: > > > >> Hello, > >> > >> I am using the STM32L4 (nucleo-l476rg board) and am attempting to enter > >> the mcu's low-power modes (i.e. Stop1, Stop2, Standby). Within > >> stm32_idle.c > >> under PM_IDLE, I send the "wfi" command to send the device into sleep. > >> However, when measuring the current draw of the mcu, I can see that the > >> device is drawing much more power than it should be from any of the > >> low-power modes. It appears that it is either not entering the low-power > >> modes or is quickly woken out of them. I have enabled Tickless OS using > >> its > >> interval timer to prevent scheduler interrupts that would bring the > >> device > >> out of lp modes. Is there something that I am missing? > >> > >> Below are my configurations that seemed relevant to the problem at hand. > >> > >> CONFIG_STM32L4_TIM2=y > >> CONFIG_STM32L4_TIM5=y > >> > >> # > >> # Timer Configuration > >> # > >> CONFIG_STM32L4_ONESHOT=y > >> CONFIG_STM32L4_FREERUN=y > >> CONFIG_STM32L4_TICKLESS_ONESHOT=2 > >> CONFIG_STM32L4_TICKLESS_FREERUN=5 > >> CONFIG_STM32L4_ONESHOT_MAXTIMERS=1 > >> > >> # > >> # Clocks and Timers > >> # > >> CONFIG_ARCH_HAVE_TICKLESS=y > >> CONFIG_SCHED_TICKLESS=y > >> # CONFIG_SCHED_TICKLESS_ALARM is not set > >> CONFIG_SCHED_TICKLESS_LIMIT_MAX_SLEEP=y > >> CONFIG_USEC_PER_TICK=10000 > >> # CONFIG_SYSTEM_TIME64 is not set > >> # CONFIG_ARCH_HAVE_TIMEKEEPING is not set > >> # CONFIG_JULIAN_TIME is not set > >> CONFIG_START_YEAR=2018 > >> CONFIG_START_MONTH=1 > >> CONFIG_START_DAY=1 > >> CONFIG_PREALLOC_TIMERS=4 > >> > >> # > >> # Buffering > >> # > >> # CONFIG_DRVR_WRITEBUFFER is not set > >> # CONFIG_DRVR_READAHEAD is not set > >> # CONFIG_ARCH_HAVE_SDIO is not set > >> # CONFIG_ARCH_HAVE_SDIOWAIT_WRCOMPLETE is not set > >> # CONFIG_ARCH_HAVE_SDIO_PREFLIGHT is not set > >> # CONFIG_MMCSD is not set > >> # CONFIG_MODEM is not set > >> # CONFIG_MTD is not set > >> # CONFIG_EEPROM is not set > >> # CONFIG_EFUSE is not set > >> # CONFIG_PIPES is not set > >> CONFIG_PM=y > >> CONFIG_PM_NDOMAINS=1 > >> CONFIG_PM_GOVERNOR_GREEDY=y > >> # CONFIG_PM_GOVERNOR_ACTIVITY is not set > >> > >> # > >> # Governor options > >> # > >> CONFIG_SERIAL_PM_ACTIVITY_DOMAIN=0 > >> CONFIG_SERIAL_PM_ACTIVITY_PRIORITY=6 > >> > >> As a side note, I noticed that the tickless OS interval and freerunning > >> timers for the nucleo-l476rg seems to only support TIM channels, and not > >> LPTIM. As the TIM channels are not operational during low-power modes, > >> will > >> I be unable to use the tickless OS interval timer without rewriting the > >> code that is done to set up the tickless oneshot timer? > >> > >> Any support on this would be greatly appreciated, > >> > >> Jesse Jensen (he, him, his) > >> Geotab > >> > >> Embedded Engineer > >> > >> Direct > >> Toll-free > >> > >> Visit > >> > >> +1 (702) 409-1041 > >> +1 (800) 397-7102 > >> www.geotab.com > >> > >> Twitter <https://twitter.com/geotab> | Facebook > >> <https://www.facebook.com/Geotab> | YouTube > >> <https://www.youtube.com/user/MyGeotab> | LinkedIn > >> <https://www.linkedin.com/company/geotab/> > >> > > >