【发布时间】:2015-03-24 13:19:33
【问题描述】:
我有一个关于 Linux 内核中的 STR(挂起到 RAM)的问题。
我正在开发一个小型嵌入式 Linux(内核 3.4.22),我想实现一种机制,让系统在无事可做时进入睡眠状态(挂起到内存)。
这样做是为了省电。
硬件支持 RAM 自刷新,这意味着其内容将保持持久性。 我会处理所有其他应该完成的事情(例如保持 CPU 上下文等……)
我想从空闲循环中触发内核 PM(电源管理)子系统。 当系统无事可做时,它应该进入睡眠状态。
硬件还支持唤醒系统的方法。
做了一些研究,我发现Linux通过编写“echo“mem”> /sys/power/state”为用户空间提供了切换到STR的选项。 这将触发 PM 子系统并执行相关回调。
我的问题是: 除了写入上述过程之外,还有其他标准的替代方法可以进入 STR 吗?
有没有人试图将系统从空闲循环代码放入STR?
谢谢,
【问题讨论】:
-
据我所知,这是一种标准方式。但是,嘿,您也许必须考虑使用运行时 PM。
标签: linux linux-kernel embedded suspend