Skip to main content

休眠唤醒按键验证

1 添加gpio按键

以x1600e_halley6_nand_factory_defconfig为例. 打开IConfigTool工具,选择配置文件

1

外设添加gpio按键,勾选休眠时按键可唤醒,这里添加的是BOOT_KEY,对应引脚PC28

2

Ctrl+S保存配置

3

重新编译配置

bhu@bhu-PC:~/work/build$ make x1600e_halley6_nand_factory_defconfig

bhu@bhu-PC:~/work/build$ make

2 验证休眠唤醒

开机系统起来后使用echo mem > /sys/power/state使系统休眠,休眠下去后按下BOOT_KEY,看系统是否唤醒(如果有增加外设驱动,休眠下去可能无法唤醒)

# echo mem > /sys/power/state

[ 74.731374] PM: Syncing filesystems ... done.
[ 74.735751] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 74.737577] Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
[ 74.738687] x1600 suspend begin
[ 74.738893] Suspending console(s) (use no_console_suspend to debug)
CDWXRD00000004
1t00000003
B2345[ 74.739835] bcmsdh_sdmmc_suspend Enter
[ 74.739847] bcmsdh_sdmmc_suspend Enter
[ 74.740699] PM: suspend of devices complete after 1.074 msecs
[ 74.740704] x1600 suspend prepare
[ 74.741270] PM: late suspend of devices complete after 0.549 msecs
[ 74.741812] PM: noirq suspend of devices complete after 0.523 msecs
[ 74.741818] x1600 pm enter!!
[ 74.741818] sleep_param->state addr = 3
[ 74.741818] tcsm addr = b3422000 80013680 size = 64
[ 74.741818] tcsm addr = b3422040 800136c4 size = 4096
[ 74.741818] tcsm addr = b3423040 80013b78 size = 3072
[ 74.741818] pd core and l2c
[ 74.741818] LCR: 00001f01
[ 74.741818] OPCR: 4470150c
[ 74.741818] gate0 = 0x43dab7d7
[ 74.741818] gate1 = 0x33fffcdb
[ 74.741818] warning : bit[3] in clk gate0 is enabled
[ 74.741818] warning : bit[5] in clk gate0 is enabled
[ 74.741818] warning : bit[11] in clk gate0 is enabled
[ 74.741818] warning : bit[14] in clk gate0 is enabled
[ 74.741818] warning : bit[16] in clk gate0 is enabled
[ 74.741818] warning : bit[18] in clk gate0 is enabled
[ 74.741818] warning : bit[21] in clk gate0 is enabled
[ 74.741818] warning : bit[26] in clk gate0 is enabled
[ 74.741818] warning : bit[27] in clk gate0 is enabled
[ 74.741818] warning : bit[28] in clk gate0 is enabled
[ 74.741818] warning : bit[29] in clk gate0 is enabled
[ 74.741818] warning : bit[31] in clk gate0 is enabled
[ 74.741818] warning : bit[2] in clk gate1 is enabled
[ 74.741818] warning : bit[5] in clk gate1 is enabled
[ 74.741818] warning : bit[8] in clk gate1 is enabled
[ 74.741818] warning : bit[9] in clk gate1 is enabled
[ 74.741818] warning : bit[26] in clk gate1 is enabled
[ 74.741818] warning : bit[27] in clk gate1 is enabled
[ 74.741818] warning : bit[30] in clk gate1 is enabled
[ 74.741818] warning : bit[31] in clk gate1 is enabled
[ 74.741818] mem_pd0 = 0x3fb1007b
[ 74.741818] mem_pd1 = 0x30
[ 74.741818] intc0 mask = 0xfffe7fef
[ 74.741818] intc1 mask = 0xfffffffe
[ 74.741818] post wakeup!
[ 74.742427] PM: noirq resume of devices complete after 0.540 msecs
[ 74.743080] PM: early resume of devices complete after 0.536 msecs
[ 74.743346] x1600 suspend finishcreate CDT index: 0 ~ 22, index number:23.
[ 74.743877] bcmsdh_sdmmc_resume Enter
[ 74.743883] bcmsdh_sdmmc_resume Enter
[ 74.743887] sdio_reset_comm():
[ 74.754277] mmc0: Error resetting SDIO communications (-1)
[ 74.754455] PM: resume of devices complete after 11.357 msecs
[ 74.768355] x1600 pm end!
[ 74.768522] Restarting tasks ... done.