xtyzh
驱动牛犊
驱动牛犊
  • 注册日期2006-08-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:1820回复:5

Pocket PC 电源管理遇到的一些问题,大家看看!

楼主#
更多 发布于:2007-05-28 22:12
目前在做一个基于windows mobile 5.0 的 Pocket PC,在电源管理这一块遇到下面的问题,请大家指导指导。
在短按power 键的时候要进入 suspend 状态,基本的实现方法是,在键盘驱动中检测power键长、短按,触发相应事件,在power bottun 驱动中等待这两个事件,分别处理。调用系统函数 SetsystemPowerState()。

通过调试发现,系统在 suspended之后 立即 resume,通过在 OEMPowerOff()函数中打trace,一切正常,现在有点不明白,在smartfon中进入 OEMIdle之后就停留在那个函数里,那么在pocket PC中我看到 OEMPowerOff中有一个 CPUIdle(),是不是进入这个函数就应该在没有外部触发的时候不出来呢?

或者请大概讲以下 suspend的整个处理过程,谢谢!
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-29 21:23
每个系统不尽一样,但一般是在CPUIDLE中让CPU停止执行,用某个中断来触发它重新运行.
学海无涯
xtyzh
驱动牛犊
驱动牛犊
  • 注册日期2006-08-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-29 22:05
谢谢!从今天的结果来看,系统在 suspended,unatended,resume 之间规律性的切换,可能需要对系统的中断做一些比较深入的跟踪吧!
jasonshi
驱动小牛
驱动小牛
  • 注册日期2004-10-11
  • 最后登录2011-07-01
  • 粉丝2
  • 关注0
  • 积分23分
  • 威望446点
  • 贡献值3点
  • 好评度256点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-07-24 15:20
引用第1楼microsun于2007-05-29 21:23发表的  :
每个系统不尽一样,但一般是在CPUIDLE中让CPU停止执行,用某个中断来触发它重新运行.


我想问一下,CPUIDLE这个状态最终调用的底层的哪个函数?
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-24 22:44
几句汇编代码
CPUEnterIdle

suspend后立即resume,确认你的oal是否已经支持sleep。
还是处于TEST suspend/resume
jasonshi
驱动小牛
驱动小牛
  • 注册日期2004-10-11
  • 最后登录2011-07-01
  • 粉丝2
  • 关注0
  • 积分23分
  • 威望446点
  • 贡献值3点
  • 好评度256点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-25 12:22
OAL支持SLEEP要写些什么驱动?
游客

返回顶部