一.关于休眠两个模式freeze :冻结I/O设备,将它们置于低功耗状态,使处理器进入空闲状态,唤醒最快,耗电比其它方式高。实测开发板只接串口线情况下5v供电,电流约为0.112A mem :挂起到内存,计算机将目前的运行状态等数据存放在内存,关闭硬 盘、外设等设备,进入等待状态。此时内存仍然需要电力维持其数据,但整机耗电很少。恢复时计算机从内存读出数据,回到挂起前的状态,恢复速度较快。实测开发板只接串口线情况下5v供电,电流约为0.076A cat /sys/power/state可以看到支持的模式 echo freeze > /sys/power/state 进入freeze模式 echo mem > /sys/power/state 进入mem模式 二. 通过rtc定时唤醒通过./build.sh menuconfig指令进入到我们的内核配置中 进入到Device Drivers ---> Real Time Clock ---> Allwinner sunxi RTC 打开Allwinner sunxi RTC 配置完成后保存,然后修改设备树文件,打开内部rtc功能。 vi kernel/linux-5.4/arch/arm/boot/dts/OK113I-C-Conmmon.dtsi 修改&rtc{}部分把其status从disabled状态修改为okay 保存后进行编译 ./build.sh 编译成功后打包成镜像,烧写完成后,我们在串口终端进行测试。 ./build,sh pack 在串口终端进行测试使用的命令: echo “+15” > /sys/class/rtc/rtc0/wakealarm 此处为15秒定时,可自由设置时间,命令执行后就会生效,rtc会单独计时,如果是15秒后才进入休眠,不会触发唤醒。(注意此处需要使用内部rtc,外部rtc不支持唤醒功能) echo mem > /sys/power/state(这里两条指令输入时要紧凑,两条指令间,间隔太长就无效了)
|
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-25 08:56
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.