> Apparenlty, CE will go into idle mode after no threads are ready to run
>after a specified time.
Mostly correct. When the scheduler determines no threads are schedulable it immediately (no time delay) goes in to OEMIdle. Which
tranpareently suspends the Processor only.
Quote:>[...] how do I communicate to the kernel that
it's time to go into idle state?
THe kernel scheduler will call OEMIdle on it's own.
Quote:>The other question is, how do I get out of
>idle state, i.e. how is CE notified that it should leave the idle state?
Depends on the hardware. THe idle state is normally exited by an interrupt. Often the reschedule timer. The idea is that only the
processor is suspened in a low power state. This should be done in such a way as to get it back to full power quickly.
The OEMIdle implements the suspend and at resume continues where the suspend occured (or an interrupt handler first) then simply
Quote:> CE also supports suspend mode. In the help, they talk about an
>inactivity timer and a PowerOffSystem function. Is this timer an OAL-based
>timer that I need to implement?
No It's managed by the GWES module.
Quote:> What about PowerOffSystem, where can I get more info on it?
I'ts undocumented at this time.
Quote:> How do I get out of suspend mode?
Hardware dependent. (Normally a processor reset of some form)
Entelechy Software Consulting
"Where hardware meets software"
Home of the Embedding Windows CE FAQ
smaillet at EntelechyConsulting dot com