Hi Jesse,

Did you implement arm_pminitialize()?

What did you put on it?

Case you don't, please look other boards as reference.

BR,

Alan

On 6/14/22, Jesse Jensen <jessejen...@geotab.com.invalid> 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