5639|24

59

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE5.0 热启后网络异常! [复制链接]

WinCE5.0 热启后网络异常!
使用20100125版的TQBSP,热启动后网络不正常!

使用20100125版的TQBSP生成CE镜像,
冷启动后,pc端可以正常ping通SKY2440_V5.0开发板,一切正常;
但是热启后,pc端不可以ping通SKY2440_V5.0开发板!
为啥?
此帖出自WindowsCE论坛

最新回复

现在问题暂时解决了,用一个IO去控制网卡的复位!  详情 回复 发表于 2010-4-27 21:56
点赞 关注
 

回复
举报

89

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
在这个实验过程,PC端和WinCE端的IP地址均不改变!

同时发现WinCE5.0只支持热启动命令,不支持冷启动命令;

  1. //VC++编程实现WinCE重启
  2. #define IOCTL_HAL_GET_DEVICE_INFO CTL_CODE(FILE_DEVICE_HAL, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
  3. #define IOCTL_HAL_REBOOT          CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
  4. #define IOCTL_HAL_COLDBOOT        CTL_CODE(FILE_DEVICE_HAL, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
  5. BOOL KernelIoControl(DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);
  6. void WINAPI Reboot(int nBootMode)
  7. {
  8.     int   inVal;
  9.     BYTE  outBuf[1024];
  10.     DWORD bytesReturned;

  11.     if(nBootMode == 0)
  12.         KernelIoControl(IOCTL_HAL_REBOOT, &inVal, 4, outBuf, 1024, &bytesReturned);   //0:热启动
  13.     else
  14.         KernelIoControl(IOCTL_HAL_COLDBOOT, &inVal, 4, outBuf, 1024, &bytesReturned); //1:冷启动(使用的WinCE5.0版本不支持)
  15. }

  16. Reboot(0);        //热启动(速度快)       
  17. //Reboot(1);        //冷启动(使用的WinCE5.0版本不支持)
复制代码


那个知道怎雅才能让WinCE5.0支持冷启动命令?也就是应用软件发一个命令让CE系统冷启动。
谢谢
此帖出自WindowsCE论坛
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
以前用从4.2移植上来的2440BSP在wince5.0中用,热启后网络还是正常的
为啥这个“正宗的”wince5.0 BSP有这个问题呢?
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 
现在发现由看门狗引起的CE系统复位后,网络也是无法ping不通!
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
没弄过。

帮顶下,期待学习下。

MARK.
此帖出自WindowsCE论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

6
 
我是做linux的,过来学习下。
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

7
 
这个得有时间细看一下BSP包中启动的驱动
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

8
 
现在修改了一下DTQ2440\Src\Bootloader\Stepldr\startup.s文件,想stepldr.nb1不论那种情况,都按照冷启动来执行.
修改如下:
第一处:

  1. ; Are we waking up from a suspended state?
  2.     ;
  3.     ldr                r1, =0x01                ;重启全部设置为冷启类型_chang by Rn 20100415
  4.     ;ldr        r1, =GSTATUS2
  5.     ldr                r0, [r1]
  6.     tst                r0, #0x2
  7.     ; Yes?  Then go to the resume handler code...
  8.     bne                WAKEUP_POWER_OFF
复制代码

第二处:

  1. ; If this is a cold boot or a warm reset, clear RAM because the RAM filesystem may be
  2. ; bad.  If this is a software reboot (triggered by the watchdog timer), don't clear RAM.
  3.     ;
  4.     ldr                r1, =0x01                ;重启全部设置为冷启类型_chang by Rn 20100415
  5.     ;ldr        r1, =GSTATUS2   ; Determine why we're in the startup code.
  6.     ldr                r10, [r1]       ;
  7.     str          r10, [r1]       ; Clear GPSTATUS2.
  8.     tst                r10, #0x4       ; Watchdog (software) reboot?  Skip code that clears RAM.
  9.     bne                %F40
复制代码


重新生成stepldr.nb1,烧录到硬件,CE系统中的应用软件执行看门狗复位或是执行热启指令,是可以让硬件“冷启动”[至少通过LCD上的画面和等待时间表现和手动按下RESET健触发重启的效果一样],能正常进入CE系统,但是网络还是无法正常ping通,
郁闷!!!




此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
通过软件热启或是通过看门狗复位系统后,虽然PC端ping不通开发板,但是开发板上的按键还是可以正常使用,也就是说明中断能正常使用,板子上的其他功能也能正常使用。

那这里就很奇怪了,为啥都有网络有问题?
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
这是因为cpu复位了,而网卡并没有复位。有可能系统找不到网卡的。
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 10 楼 paul85 的回复:
这是因为cpu复位了,而网卡并没有复位。有可能系统找不到网卡的。


这么神奇么?

不是都执行了冷启动了么?
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

12
 
我的wifi网卡是这样的。断电后重启是正常的。如果按复位键重启就会不正常。原因是wifi没有收到cpu的复位信号,造成了不同步。希望这么描述更清楚。
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
恩,那看来有点启发!

此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

纯净的硅(中级)

14
 
网卡怎么控制的,有没有用到GPIO口控制,如果用到了,在系统复位启动之前断开,启动后打开
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 14 楼 hudaweikevin 的回复:
网卡怎么控制的,有没有用到GPIO口控制,如果用到了,在系统复位启动之前断开,启动后打开


看来又得看看驱动
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

16
 
MARK,学习!
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

17
 
看来又得看看驱动
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

禁止发言

18
 
引用 12 楼 paul85 的回复:
我的wifi网卡是这样的。断电后重启是正常的。如果按复位键重启就会不正常。原因是wifi没有收到cpu的复位信号,造成了不同步。希望这么描述更清楚。


learning 从未搞过网卡,wifi正在开始,不过别人提供了源码的。呵呵
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

19
 
wifi的电流有100MA以上,要用IO口来控制电源的话,需要用继电器来解决.否则需要用IO口来控制wifi的中断接口.
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

20
 
wifi的电流有100MA以上,要用IO口来控制电源的话,需要用继电器来解决.否则需要用IO口来控制wifi的复位接口.
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表