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/>
> >>
> >
>

Reply via email to