Wang ZhengDong
Wang ZhengDong
在pm.c中的_pm_change_sleep_mode()函数实现了notify、device_suspend/device_resume的调用,但是在sleep之前调用的notify、device_suspend传入的参数sleep_mode,与sleep之后调用的notify、device_resume传入的参数sleep_mode值可能不一样,以下是部分核心的代码,我用注释标注问题点: ``` _pm_notify.notify(RT_PM_ENTER_SLEEP, pm->sleep_mode, _pm_notify.data); _pm_device_suspend(pm->sleep_mode); if (pm->timer_mask & (0x01 sleep_mode)) { timeout_tick = pm_timer_next_timeout_tick(pm->sleep_mode); timeout_tick = timeout_tick - rt_tick_get(); /* Judge sleep_mode from threshold time */ // 睡眠时间太短,会切换成IDLE模式,这里sleep_mode就会变了 **pm->sleep_mode**...
对于使用以太网的设备,将console、finsh重定向到telnet虚拟的设备,方便远程调试。但是设备所在网络可能因为断电、网线不好或其他原因触发link down。telnet如何检测到这类事件,并将console、finsh重置为RT_CONSOLE_DEVICE_NAME呢? 当前的代码如果拔插网线将直接导致异常重启。