ce5.0 mips reboot

flyingzero   2010-3-16 19:47 楼主
目前在調用mips reboot但都是掛在OEMinit
code 如下

static void ResetWithSetSystemPowerState()
{
   typedef DWORD (*SetSystemPowerStateFunction)(LPCWSTR pwsSystemState, DWORD StateFlags, DWORD Options);
   HMODULE hModule =:: LoadLibrary(TEXT("Coredll.dll"));
   
   SetSystemPowerStateFunction f = (SetSystemPowerStateFunction)
      ::GetProcAddress(hModule, TEXT("SetSystemPowerState"));
   
        #ifndef POWER_STATE_RESET
                #define POWER_STATE_RESET DWORD(0x00800000)
        #endif

   f(NULL, POWER_STATE_RESET, 0);
   ::FreeLibrary(hModule);
}

回复评论 (4)

能否重启取决于底层是否实现的。
如果你不能自己定制系统,那估计就无法通过该函数实现重启了。
点赞  2010-3-16 20:57
看看BSP是如何实现REBOOT的。
既然卡在OEMinit,就看下这个函数相关的内容。
点赞  2010-3-16 21:49
严重支持    Veabol
点赞  2010-3-17 05:16
楼主 给下挂在OEMinit 时,
对应的串口打印信息吧,

再根据打印信息跟踪下吧。
点赞  2010-3-17 12:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复