阅读:1820回复:5
Pocket PC 电源管理遇到的一些问题,大家看看!
目前在做一个基于windows mobile 5.0 的 Pocket PC,在电源管理这一块遇到下面的问题,请大家指导指导。
在短按power 键的时候要进入 suspend 状态,基本的实现方法是,在键盘驱动中检测power键长、短按,触发相应事件,在power bottun 驱动中等待这两个事件,分别处理。调用系统函数 SetsystemPowerState()。 通过调试发现,系统在 suspended之后 立即 resume,通过在 OEMPowerOff()函数中打trace,一切正常,现在有点不明白,在smartfon中进入 OEMIdle之后就停留在那个函数里,那么在pocket PC中我看到 OEMPowerOff中有一个 CPUIdle(),是不是进入这个函数就应该在没有外部触发的时候不出来呢? 或者请大概讲以下 suspend的整个处理过程,谢谢! |
|
沙发#
发布于:2007-05-29 21:23
每个系统不尽一样,但一般是在CPUIDLE中让CPU停止执行,用某个中断来触发它重新运行.
|
|
|
板凳#
发布于:2007-05-29 22:05
谢谢!从今天的结果来看,系统在 suspended,unatended,resume 之间规律性的切换,可能需要对系统的中断做一些比较深入的跟踪吧!
|
|
地板#
发布于:2007-07-24 15:20
引用第1楼microsun于2007-05-29 21:23发表的 : 我想问一下,CPUIDLE这个状态最终调用的底层的哪个函数? |
|
地下室#
发布于:2007-07-24 22:44
几句汇编代码
CPUEnterIdle suspend后立即resume,确认你的oal是否已经支持sleep。 还是处于TEST suspend/resume |
|
5楼#
发布于:2007-07-25 12:22
OAL支持SLEEP要写些什么驱动?
|
|