当前位置: 代码迷 >> WinCE >> WINCE6.0+S3C6410睡眠唤醒后网口不能正常工作,该如何解决
  详细解决方案

WINCE6.0+S3C6410睡眠唤醒后网口不能正常工作,该如何解决

热度:10   发布时间:2016-04-28 13:06:01.0
WINCE6.0+S3C6410睡眠唤醒后网口不能正常工作
最近在做睡眠唤醒的测试,发现唤醒后在电脑端ping WINCE设备,但一直显示Request timed out,我做了一下测试:

1.当出现上面的现象,在ping的过程中,我在Bm9LookupRxBuffers 函数中添加下面的调试信息
++Bm9LookupRxBuffers pdesc->bStatus=1,这里的1的表示DM9000A的RX状态寄存器(06H)的第[1]=1,表示:
CRC Error
It is set to indicate that the received frame ends with a CRC error,表示CRC出错,不知道什么原因会导致这个问题的出现。
而没有进入睡眠,在正常的测试情况下,输出的是++Bm9LookupRxBuffers pdesc->bStatus=64,
表示DM9000A的RX状态寄存器(06H)的第[7]=1,也即:
Runt Frame
It is set to indicate that the size of the received frame is smaller than 64 bytes,表示正常的数据收发。


2.在在off.c的OEMPowerOff()中注释掉OALCPUPowerOff(); 这样实际上就没有让CPU进入睡眠状态,
这种情况下可以Ping通,说明是OALCPUPowerOff()导致了这个问题,但目前找不到问题所在,
还忘大家帮忙分析一下,十分感谢。

这个问题目前很迷茫,还忘大家帮忙分析一下,我是基于Real6410的板子,来测试的。

------解决方案--------------------
探讨
最近在做睡眠唤醒的测试,发现唤醒后在电脑端ping WINCE设备,但一直显示Request timed out,我做了一下测试:

1.当出现上面的现象,在ping的过程中,我在Bm9LookupRxBuffers 函数中添加下面的调试信息
++Bm9LookupRxBuffers pdesc->bStatus=1,这里的1的表示DM9000A的RX状态寄存器(06H)的第[1]=1,表示……

------解决方案--------------------
探讨

引用:
引用:
最近在做睡眠唤醒的测试,发现唤醒后在电脑端ping WINCE设备,但一直显示Request timed out,我做了一下测试:

1.当出现上面的现象,在ping的过程中,我在Bm9LookupRxBuffers 函数中添加下面的调试信息
++Bm9LookupRxBuffers p……