如何在基于ARM的嵌入式Linux系统上进行省电?

我计划开发一个很好的小应用程序,它将在基于ARM的嵌入式 Linux平台上运行;然而,由于该平台将由电池供电,我正在寻找有关如何处理省电的相关信息.

获得体面的电池时间是很重要的.

我认为Linux内核为此提供了一些支持,但是我找不到有关此主题的任何文档.

>欢迎任何关于如何设计我的程序和系统的输入.
>任何关于Linux内核如何尝试解决这种类型问题的输入也是受欢迎的.

其他问题:

>用户空间中的程序需要做多少?
>你需要修改内核吗?
什么内核系统调用或API很好知道?

更新:

像“自由电子”网站的人们似乎对这个问题做了一些很好的介绍.

> http://free-electrons.com/services/power-management/
> http://free-electrons.com/docs/power
> http://free-electrons.com/docs/optimizations

但也许有人有更多关于这个问题的信息?

更新:

看起来像亚当·史密克的想法去看MeeGo项目可能是迄今为止最好的提示.

这可能是现在最好的电池供电的嵌入式Linux项目.

诺基亚通常对这种类型的东西很好.

更新:

一个人必须小心Android,因为它有一个“修改”的Linux内核在底层,而一些谷歌的人做的事情没有使用基准/正常的Linux内核.我认为他们的一些权力管理思想可能会对其他项目重用而麻烦.

解决方法

我没有这样做,但我有两个经验(Linux和嵌入式电源管理).在考虑电源管理,Android和MeeGo时,会出现两种主要的Linux发行版. MeeGo使用(据我所知)一个未修改的2.6内核和一些附加功能.尽管我怀疑随着产品的成熟,我怀疑在不久的将来会有更多的出现,我无法很好地找到他们的电源管理策略.

然而,Android上还提供了更多的信息.他们运行相当大修改的2.6内核.您可以看到在http://elinux.org/Android_Power_Management(以及内核戏剧)中实施的不同战略的一大好处.其他一些链接:

https://groups.google.com/group/android-kernel/browse_thread/thread/ee356c298276ad00/472613d15af746ea?lnk=raot&pli=1

http://www.ok-labs.com/blog/entry/context-switching-in-context/

我相信你可以找到更多这样的链接.既然这两个项目都是开放源代码,那么你可以获取内核代码,并且可以从实际了解他们在表单和组中谈论的人那里获得更多的信息.

在驱动程序级别,您需要确保您的驱动程序可以正确地处理未使用的挂起和关闭设备.针对移动市场的大多数设备都提供了非常细粒度的支持,可以关闭各个组件,并调整时钟设置(请记住,电源与时钟^ 2成比例).

希望这可以帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户