在 Linux 上将 MCU 设置为低功耗模式

Posted

技术标签:

【中文标题】在 Linux 上将 MCU 设置为低功耗模式【英文标题】:Setting a MCU in low power mode on Linux 【发布时间】:2012-07-23 12:14:15 【问题描述】:

我在安装了 ARM MCU 的 Atmel 板 (at91 sam9g25) 上运行嵌入式 Linux (Angstrom)。

我想将 CPU 设置为空闲模式,最好是从用户空间使用函数(然后系统将被硬件 gpio 中断唤醒)。我怎样才能做到这一点?或者,如何在内核空间中完成? 我找不到太多,也许有人可以举一些例子?

【问题讨论】:

【参考方案1】:

尝试检查此page。也可以尝试阅读Optimizing Power Consumption for AT91SAM9261-based Systems,了解您可以使用电源管理做什么。

你基本上可以做的是在/sys/power/state中设置你想要的状态,但是在进入低功耗状态之前你需要设置你的系统如何被唤醒。

请注意,根据我的经验,我通过更改内核看到了许多不同的行为,因此请耐心等待并尝试不同的版本。

【讨论】:

即使在“待机”中设置 /sys/power/state 将系统设置为该模式(直到被某些中断唤醒才响应),我注意到它的功耗不会完全减少,但保持在“活动模式”水平(~130mA)。你知道为什么吗?

以上是关于在 Linux 上将 MCU 设置为低功耗模式的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中为低功耗蓝牙实现 Internet 协议支持配置文件 (IPSP)

STM的低功耗系列

CC26xx(CortexM3)的低功耗设计

CC26xx(CortexM3)的低功耗设计

STM32L051低功耗STOP模式串口中断唤醒

第21章 RTX 低功耗之睡眠模式