获得体面的电池时间是很重要的.
我认为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内核.我认为他们的一些权力管理思想可能会对其他项目重用而麻烦.
解决方法
然而,Android上还提供了更多的信息.他们运行相当大修改的2.6内核.您可以看到在http://elinux.org/Android_Power_Management(以及内核戏剧)中实施的不同战略的一大好处.其他一些链接:
http://www.ok-labs.com/blog/entry/context-switching-in-context/
我相信你可以找到更多这样的链接.既然这两个项目都是开放源代码,那么你可以获取内核代码,并且可以从实际了解他们在表单和组中谈论的人那里获得更多的信息.
在驱动程序级别,您需要确保您的驱动程序可以正确地处理未使用的挂起和关闭设备.针对移动市场的大多数设备都提供了非常细粒度的支持,可以关闭各个组件,并调整时钟设置(请记住,电源与时钟^ 2成比例).
希望这可以帮助.