WINCE开发中eboot模式下TFTP方式下载NK镜像时的问题

EBOOT模式下,无法下载NK镜像,可以连接到PC机,PC机也可以检测到目标,就是在下载的时候卡住,显示的速度为0KB/S,串口打印信息如下:
0) IP address: 192.168.1.6
1) Subnet mask: 255.255.255.0
2) DHCP: Disabled
3) Boot delay: 3 seconds
4) Reset to factory default configuration
5) Startup image: LAUNCH EXISTING
6) Program disk image into SmartMedia card: Enabled
7) Program CS8900 MAC address (10:23:45:67:89:AB)
8) Kernel Debugger: ENABLED
9) Format Boot Media for BinFS
B) Mark Bad Block at Reserved Block 
D) Download image now(USE TFTP)
E) Erase Reserved Block 
F) Low-level format the Smart Media card
L) LAUNCH existing Boot Media image
R) Read Configuration 
U) Download image now(USE USB)
W) Write Configuration Right Now

Enter your selection: d
CS8900: MAC Address: 10:23:45:67:89:ab
INFO: Probe: CS8900 is detected.
INFO: Init: CS8900_Init OK.
System ready!
Preparing for download...
INFO: *** Device Name 'TQ244035243' ***
+EbootSendBootmeAndWaitForTftp
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Packet has the following data:
  boot.bin[NULL]octet[NULL]
TFTP packet could have 1 name/value pairs
Locked Down Link 1
Src IP 192.168.1.6 Port 03D4 Dest IP 192.168.1.14 Port DD09
Default TFTP block size set to: 512 bytes
There were no options detected in the TFTP
EthDown::TFTPD_OPEN::boot.bin
-EbootSendBootmeAndWaitForTftp
USB host is not connected yet.

就在这里卡住了,最诡异的是最后一句居然是USB host is not connected yet.,也仔细查看过代码,发现就是不能执行OEMPreDownload( )这个函数,一直没有查出问题,代码没道理不执行这个函数的,怎么会跳到USB host is not connected yet.这里呢?

 

 

问题解决方法:

我使用的是天嵌TQ2440的wince6.0的BSP包,它的EBOOT有个BUG,就是使用TFTP下载时会受到USB的影响,就是因为USB下载功能影响的。屏蔽usb下载功能的方法:修改Eboot源码中的sources文件的 $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_blcommon.lib \
为:
  $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blcommon.lib \
就行了。

 

 

 

 

你可能感兴趣的:(WINCE开发中eboot模式下TFTP方式下载NK镜像时的问题)