我的6410开发板为什么USB总是断掉

andrew.xu   2009-11-17 17:07 楼主
6410的板子,想在SDRAM运行系统镜像,写NK.nb0的时候

Checksum is being calculated....
(If you want to skip, press 'x' key)

Checksum O.K.
HWindows CE Kernel for ARM (Thumb Enabled) Built on Nov 24 2008 at 14:58:01
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
SocID:0x36410100
Arguments area is initialized
-OALArgsInit()
+OALTimerInit( 1, 33250, 0 )
-OALIntrRequestSysIntr(irq = 38, sysIntr = 16)

到这里就停下来了,然后windows的右下角就跳出小气球,说无法识别的USB设备,DNW上的标题栏由USB:OK变成USB:x
每次都这样真是搞不懂什么原因,USB驱动程序明明都装好了。

回复评论 (12)

然后把开发板断电,重启,USB又正常了
往里面写NK.nb0时,就出现上面的情况,进行到一半的时候跳出说USB无法识别
真是汗啊
难道是什么东西冲突了?
点赞  2009-11-17 17:33
谁家的开发板呀
点赞  2009-11-19 09:36
关注~~~
点赞  2009-11-19 10:21
这个正常的,wince启动了DNW的usb自然就断掉了
点赞  2009-11-19 12:48
如果出现以上打印信息说明已经启动WINCE,EBOOT的USB功能已经被关掉了,所以会显示USB:X,这个是正常现象,但是你所描述的难道是此时NK.NB0还没有传输完成?
点赞  2009-11-19 13:50
引用: 引用 5 楼 veabol 的回复:
如果出现以上打印信息说明已经启动WINCE,EBOOT的USB功能已经被关掉了,所以会显示USB:X,这个是正常现象,但是你所描述的难道是此时NK.NB0还没有传输完成?


可是正常情况应该是这样的:往SDRAM里面写NK.nb0,只要在DNW里面点transmit,选择NK.nb0,之后会一路很顺利,中间无需任何操作,直到操作系统自己启动

可是我这是显示一部分1楼所示打印信息之后,就跳出“无法识别的USB设备”的气球,之后就停止在这里了,系统也没有启动。

驱动都装好了,怎么会在半中间跳出无法识别呢?
点赞  2009-11-20 09:58
引用: 引用 4 楼 reallyu 的回复:
这个正常的,wince启动了DNW的usb自然就断掉了


我的情况是,wince还没启动,就跳出气球,提示无法识别的USB设备。
点赞  2009-11-20 09:59
引用: 引用 2 楼 gzwlym 的回复:
谁家的开发板呀


meritech的,6410的板子
点赞  2009-11-20 10:01
可能板子的硬件有问题.
点赞  2009-11-20 10:03
引用: 引用 6 楼 yronaldo 的回复:
引用 5 楼 veabol 的回复:
如果出现以上打印信息说明已经启动WINCE,EBOOT的USB功能已经被关掉了,所以会显示USB:X,这个是正常现象,但是你所描述的难道是此时NK.NB0还没有传输完成?


可是正常情况应该是这样的:往SDRAM里面写NK.nb0,只要在DNW里面点transmit,选择NK.nb0,之后会一路很顺利,中间无需任何操作,直到操作系统自己启动

可是我这是显示一部分1楼所示打印信息之后,就跳出“无法识别的USB设备”的气球,之后就停止在这里了,系统也没有启动。

驱动都装好了,怎么会在半中间跳出无法识别呢?


正常情况下的确应该是像你所说的,全部数据传输结束后再启动WINCE,但是在你的打印信息中看到的确已经开始启动WINCE了,所以你要查看为什么数据没有全部download就开始启动WINCE,是否EBOOT中的某个判断出了问题。另外,一般的通过DNW传输的是nk.bin,我的传输nb0是不行的,不清楚为什么你的可以,可能我的某个设置不对吧。
点赞  2009-11-20 10:34
你结合一下blcommon.c中的代码,以及EBOOT中的代码分析一下错误的地方。
正常情况下USB接收到的数据大于等于OEMReadData()需要读取的数据量的时候OEMReadData才返回TRUE,这样才能保证NK全部下载后才进行其它的事情,而你的程序看上去像是USB数据还没接收完,OEMReadData就已经返回,如果不要将接收到的数据写入到FLASH,则此时WINCE会随之启动,在OAL阶段USB被关闭,所以DNW会显示USB:X,不能继续传输数据,而因为目前内存中的OS数据并不完整,所以只能启动一部分就停止了(后边的代码全是0)。

另外下载一下NK.BIN试下。
点赞  2009-11-20 10:53
现在又多了这么一句(红色字体部分):
Arguments area has some values. Do not Initialize
-OALArgsInit()
+OALTimerInit( 1, 33250, 0 )
-OALIntrRequestSysIntr(irq = 38, sysIntr = 16)
[FMD:ERR] FMD_OEMIoControl() : IOCTL_DISK_GET_STORAGEID is unsupported
这是什么原因?
点赞  2009-11-23 14:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复