T113-i开发板的休眠与RTC定时唤醒指南

发布于:2025-03-23 ⋅ 阅读:(39) ⋅ 点赞:(0)

​​在嵌入式系统设计中,休眠与唤醒技术是优化电源管理、延长设备续航的关键。飞凌嵌入式基于全志T113-i处理器开发设计的OK113i-S开发板提供了两种休眠模式:freeze和mem,以满足不同应用场景下的功耗与恢复速度需求。本文将详细介绍如何让OK113i-S开发板进入休眠状态,并通过内部RTC实现定时唤醒。

一、休眠模式简介

  1. freeze模式
    • 此模式下,I/O设备被冻结,进入低功耗状态,处理器处于空闲。
    • 唤醒速度快,但相比其他模式耗电量稍高。
    • 实测在仅接串口线的情况下,5V供电时电流约为0.112A。
  2. mem模式
    • 系统将当前运行状态等数据存储在内存中,关闭硬盘和外设等。
    • 内存需保持供电以维持数据,但整体功耗很低。
    • 恢复时从内存读取数据,快速回到休眠前状态。
    • 实测在仅接串口线的情况下,5V供电时电流约为0.076A。

二、查看与设置休眠模式

  1. 查看支持的休眠模式
    • 通过命令cat /sys/power/state可以查看OK113i-S开发板支持的休眠模式。
  2. 进入休眠模式
    • 使用echo freeze > /sys/power/state命令进入freeze模式。
  • 使用echo mem > /sys/power/state命令进入mem模式。

三、通过RTC定时唤醒

注意:此功能需使用内部RTC,外部RTC不支持唤醒。

  1. 配置内核支持
    • 进入开发板的内核配置界面:
root@ubuntu: /home/forlinx/work/linux/OK113i-linux-sdk# ./build.sh menuconfig。
  • 根据界面提示,选择并启用内部RTC相关功能。

1. 修改设备树文件

  • 打开设备树文件,启用内部RTC功能,并保存修改。

2. 编译与烧写

  • 保存配置后,进行编译。
  • 编译成功后,将镜像打包并烧写到开发板。

3. 设置RTC定时唤醒

  • 通过串口终端连接开发板。
  • 使用命令以下设置15秒后唤醒(时间可根据需要调整)。
echo "+15" > /sys/class/rtc/rtc0/wakealarm
  • 注意,RTC定时是独立计时的,如果设置定时后在15秒内进入休眠,则不会立即触发唤醒。
echo mem > /sys/power/state
  • 紧接着使用echo mem > /sys/power/state命令进入mem休眠模式(两条命令需紧凑输入,间隔过长可能无效)。

特别提示

  • 在未开启内部RTC时,外部RTC默认节点为rtc0。开启内部RTC后,外部RTC设备节点会变更为rtc1。

四、总结

通过上述步骤,我们成功在飞凌嵌入式T113-i开发板上实现了休眠及通过RTC定时唤醒的功能。不同主控平台板卡的具体操作可能有所差异,但整体思路相似。

工程师们可根据具体平台查阅相关资料,确定详细步骤。希望本文能为工程师们的项目开发提供有益参考。