前言
全志平台支持的休眠功能主要包括两种模式:休眠模式和待机模式。这两种模式用于降低设备的功耗,并在需要时快速恢复工作状态。由于平台为T113,所以可以很方便的使用RTC来做唤醒源。唤醒源指的是能够让系统从休眠状态恢复到工作状态的信号或事件。系统在进入休眠前会配置这些唤醒源。休眠过程中,这些唤醒源(如按键、RTC等)可以触发系统唤醒。
实现
1、内核配置
//RTC
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_SUNXI=y
//电源与唤醒支持
CONFIG_PM=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
2、唤醒源配置
在设备树RTC节点下添加"wakeup‑source"属性设置RTC为唤醒源。
3、修改设备树使能RTC节点。
4、设置RTC20秒后唤醒设备
echo "+20" > /sys/class/rtc/rtc0/wakealarm # 20 秒后唤醒
5、进入休眠(待机模式)
echo mem > /sys/power/state
6、休眠后大约20秒后串口就会重新打印信息。