使用自己修改的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 \
就行了。