기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요
sleep mode에 대해서 알아보고있는데요
궁금한게 있습니다
echo mem > /sys/power/state 로 슬립모드 진입후
키버튼 인터럽트로 깨어나도록 구현을 했는데요
슬립모드진입로그
/ # echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
Suspending console(s) (use no_console_suspend to debug)
wakeup로그
PM: suspend of devices complete after 2.797 msecs
PM: late suspend of devices complete after 0.890 msecs
PM: early resume of devices complete after 0.807 msecs
usb usb2: root hub lost power or was reset
PM: resume of devices complete after 298.682 msecs
Restarting tasks ... done.
위와 같이 로그가 나오면 정상입니다
근데 간혹 resume은 호출이 되는데 wakeup로그가 안나오고 콘솔도 살지않습니다
resume이 호출되는것은 lcd drvier에서 lcd켜지는것으로 확인하였습니다
위의 간혹은 shell상에서 20~30번중 한번씩 발생하고요
app내에서 system("echo mem > /sys/power/state"); 으로 호출했을시에는
1번성공후 2번째부터 100% 안됩니다
혹시 이 문제에 대해 아시는분 계시면 답변 부탁드립니다
수고하세요
자답
i2s 클럭이 정상적으로 죽지 않아서 생기는 문제였습니다
i2s 클럭을 suspend시 disable하고, resume시 enable하니 현재까진
wakeup시 못살아나는 경우는 없습니다
계속 테스트해보고 문제 생기면 다시 글올리도록 할게요
수고하세요