目前在調用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);
}
能否重启取决于底层是否实现的。
如果你不能自己定制系统,那估计就无法通过该函数实现重启了。
看看BSP是如何实现REBOOT的。
既然卡在OEMinit,就看下这个函数相关的内容。
楼主 给下挂在OEMinit 时,
对应的串口打印信息吧,
再根据打印信息跟踪下吧。