-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[OOB-5.14] Cannot get DISCO_L475VG_IOT01A or NUCLEO_F411RE to deep sleep. #11509
Comments
Did that ever work? You are printing using serial so maybe it blocks the deep sleep? Worth dumping the sleep locks, info can be found on the page you referenced. Also the changes and macros you added shouldn't be necessary. |
Internal Jira reference: https://jira.arm.com/browse/MBOCUSTRIA-1779 |
Some work is being done to implement suspend for UART peripherals ; at the moment, UART peripheral will prevent device from entering deep sleep. |
@evedon can you be more explicit ? Since when does UART peripheral / printf usage prevent deep_sleep entry. |
The information is on the page referenced https://os.mbed.com/docs/mbed-os/development/tutorials/power-optimization.html
If you say that this was working not so long ago, then the page should probably be updated with a list of targets for which this works. |
I'm ending up in a "page not found" ... but from your copy/paste:
|
Unfortunately tracing sleep locks seems impossible on master (tracked here #11497 ) But I used a debugger and a modified version of mbed-os where sleep locks are being traced in ram but there is no output to Serial. It shows that SysTimer.cpp is preventing from entering deep sleep:
@kjbracey-arm you seem to have looked in the past to the locking from SysTimer - any idea under what condition SysTimer will prevent the deep sleep ? |
Not sure if related, but someone recommended me to disable stdin. So just recording it here that the below didn't help Added to
Log output:
|
@kjbracey-arm
I'm not sure, but here what I think I'm observing:
|
@MarceloSalazar This issue should be fixed in 5.14. One extra question : isn't there a automated test in CI, very simple and similar to blinky that verifies that deep sleep is entered fine ? |
@LMESTM I did the modification that you mentioned #11522 and I can confirm that it does enable the deep sleep. Though I'm not getting identical numbers, my code seems to spend some time in regular sleep also
I'm not familiar with Mbed OS testing, maybe @jamesbeyond or @OPpuolitaival can clarify. |
Sounds good. I'm not sure why I got 100% during first test, should be less. I rather have 99% now. I'm not using your exact code. The actual values depends on target, wait loop period (I'm using 5sec), serial port com speed (I used 115200), .... |
I can verify that deep sleep works now with |
Description
Targets:
DISCO_L475VG_IOT01A
andNUCLEO_F411RE
Toolchain:
GCC_ARM 6.3.1 20170620 (release)
mbed-cli:
1.10.0
mbed-os:
f60e9a8075 (HEAD, tag: mbed-os-5.14.0-rc2, origin/mbed-os-5.14) Merge pull request #11476 from ARMmbed/release-candidate
Steps to reproduce:
mbed new
mbed-os-5.14.0-rc2
mbed compile --target DISCO_L475VG_IOT01A --flash
& testmbed compile --target NUCLEO_F411RE --flash
& testLog output:
Issue request type
The text was updated successfully, but these errors were encountered: