Hi,all,
CPU = intel pxa270,os =wince5.0
And I use mainstoneii BSP.

Now When I download nk.bin to target device,serial port outputs the
following message:
INFO: SMSC LAN91C111 Ethernet controller initialized.
INFO: MAC address: 0-40-B8-51-A8-9D
System ready!
Preparing for download...
INFO: Using device name: 'MAINSTN43165'
+EbootSendBootmeAndWaitForTftp
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Sent BOOTME to 255.255.255.255
Locked Down Link 1
Src IP 192.168.190.2 Port 0400 Dest IP 192.168.190.3 Port 0B28
EthDown::TFTPD_OPEN::boot.bin
-EbootSendBootmeAndWaitForTftp
****** OEMVerifyMemory checking physical range [ 0xA0100000 ==>
0xA128B697 ]...
****** RAM address ******

ERROR: Checksum failure (expected=0x6609C computed=0x6607C)
****** Checksum failure on record 8, ABORT!!! ******



I find that DownloadImage function has the following codes:

if (!VerifyChecksum (dwRecLen, lpDest, dwRecChk))
{
EdbgOutputDebugString ("****** Checksum failure on
record %d, ABORT!!! ******\r\n", nPkgNum);
HALT (BLERR_CHECKSUM);
return (FALSE);
}



and VerifyChecksum is the following:

static BOOL VerifyChecksum (DWORD cbRecord, LPBYTE pbRecord, DWORD dwChksum)
{
// Check the CRC
DWORD dwCRC = 0;
DWORD i;
for (i = 0; i < cbRecord; i++)
dwCRC += *pbRecord ++;

if (dwCRC != dwChksum)
EdbgOutputDebugString ("ERROR: Checksum failure (expected=0x%x
computed=0x%x)\r\n", dwChksum, dwCRC);

return (dwCRC == dwChksum);
}

I don't know why?

I think if ethernet transports wrong messages,it will show ethernet
transport errors.But it does not show these messages.So I think ethernet
transport is right.So where is wrong?



Thanks.