wince6.0电源管理之应用程序调用SetSystemPowerState的执行过程

来源:互联网 发布:ubuntu系统使用教程 编辑:程序博客网 时间:2024/05/03 06:54

wince6.0电源管理之应用程序调用SetSystemPowerState的执行过程

欢迎转贴,但请保留源blog链接,谢谢。http://blog.csdn.net/bbw2008/archive/2010/03/18/5393463.aspx

如有错误,欢迎各位看客,不吝赐教,小弟先谢过了。

SetSystemPowerState() ----------------ap layer

        |

        | core_common.def

        | PM_ SetSystemPowerState;----(WINCE600/PRIVATE/WINCEOS/COREOS/DEVICE/PMIF/pmif.c)

        |

 PMSetSystemPowerState                  (/WINCE600/PUBLIC/COMMON/OAK/DRIVERS/PM/MDD/pmsysstate.cpp)

        |

 PlatformSendSystemPowerState (/WINCE600/PUBLIC/COMMON/OAK/DRIVERS/PM/PDD/DEFAULT/platform.cpp)

        |

g_pPowerStateManager->SendSystemPowerState

                                  /WINCE60/PUBLIC/COMMON/OAK/DRIVERS/PM/PDD/DEFAULT/pwsdef.cpp

        |                 

pNewPowerState->EnterState();  /WINCE600/PUBLIC/COMMON/OAK/DRIVERS/PM/PDD/DEFAULT/pwsdef.cpp

pNewPowerState = SetSystemState()

        |

 PmSetSystemPowerState_I()       (/WINCE600/PUBLIC/COMMON/OAK/DRIVERS/PM/MDD/pmsysstate.cpp)

        |

PlatformSetSystemPowerState    (/WINCE600/PUBLIC/COMMON/OAK/DRIVERS/PM/PDD/DEFAULT/platform.cpp)

        |

  PowerOffSystem()            

        |

        | kwin32.c

        | NKPowerOffSystem() (WINCE600/PRIVATE/WINCEOS/COREOS/NK/KERNEL/kwin32.c)

   Kcall((PKFNCallOEMPowerOff

        |

        | CallOEMPowerOff()        

        |                                                       /下面这两个函数的名字,不同的OEM厂商个有不同

  OEMPowerOff()                                         |----BSPConfigGPIOforPoweroff  设置默认睡眠模式下中断的的功能

 (PLATFORM/name/SRC/COMMON/POWER/off.c)|       

        |                                                      |--- S5p6440_wakeupsource_configure   配置唤醒源

        |                                                      |

 BSPowerOff()--------------------------------

OALCpuPowerOff()//now in sleep 

   

                  

              -

原创粉丝点击