This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM365 TFTP boot with checksum error

Hi,

    I am working with Ti EVB and followed the Getting Start Guide to compile codes and boot from TFTP with NFS file system, but I got an checksum error after uImage loaded to EVB, how to solve this kind of problem? Thanks.

UART message:

DM365 EVM :>
            Jumping to entry point at 0x81080000.

 LSP 2.10 BETA RELEASE
 VERSION: 2.10.008.02

U-Boot 1.3.4 (Mar  2 2009 - 11:50:39)

I2C:   ready
DRAM:  128 MB
NAND:  NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V
8-bit)
Bad block table found at page 524224, version 0x01
Bad block table found at page 524160, version 0x01
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)
Bad block table found at page 524224, version 0x01
Bad block table found at page 524160, version 0x01
2048 MiB
In:    serial
Out:   serial
Err:   serial
Ethernet PHY: GENERIC @ 0x00
Hit any key to stop autoboot:  0
TFTP from server 192.168.0.13; our IP address is 192.168.0.14
Filename 'uImage'.
Load address: 0x80700000
Loading: #################################################################
         #################################################################
         ##########
done
Bytes transferred = 2050148 (1f4864 hex)
## Booting kernel from Legacy Image at 80700000 ...
   Image Name:   Linux-2.6.18_pro500-davinci_evm-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2050084 Bytes =  2 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
DM365 EVM :>

  • Can you try the Linux kernel that comes in

      dvsdk_2_10_00_18/PSP-02_10_00_14/bin/dm365

    as a safety check.  If this one works, then there is likely something wrong with the kernel built via GSG steps.

  • Thanks Juan,

        I had tried your suggestion, but the checksum error still happens (loading uImage-dm365)

    TFTP from server 192.168.0.13; our IP address is 192.168.0.14
    Filename 'uImage-dm365'.
    Load address: 0x80700000
    Loading: #################################################################
             #################################################################
             ##########
    done
    Bytes transferred = 2049992 (1f47c8 hex)
    ## Booting kernel from Legacy Image at 80700000 ...
       Image Name:   Linux-2.6.18_pro500-davinci_evm-
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2049928 Bytes =  2 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... Bad Data CRC
    ERROR: can't get kernel image!

  • The size numbers appear to match what is expected

    TFTP from server 156.117.95.15; our IP address is 156.117.94.213
    Filename 'uImage-dm365'.
    Load address: 0x80700000
    Loading: #################################################################
             #################################################################
             ##########
    done
    Bytes transferred = 2049992 (1f47c8 hex)
    ## Booting kernel from Legacy Image at 80700000 ...
       Image Name:   Linux-2.6.18_pro500-davinci_evm-
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2049928 Bytes =  2 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    One possibility could be that your DDR2 memory (where kernel is being copied to) is bad; can you load your kernel from flash memory?  If so, then this would confirm your DDR2 is ok.  Both ways of loading the kernel (TFTP or Flash) first copy the kernel to DDR2 and perform checksum.  If you can load from flash, it would mean that DDR2 is ok and that maybe your installation got corrupt somehow.  Fortunately, both of these results have a fix; let us know if you can confirm the EVM can load kernel from flash.

     

     

  • Hi Juan,

         I tested from loading from flash and it works:


    Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000
       Image Name:   Linux-2.6.18_pro500-davinci_evm-
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2026248 Bytes =  1.9 MB
       Load Address: 80008000
       Entry Point:  80008000
    ## Booting kernel from Legacy Image at 80700000 ...
       Image Name:   Linux-2.6.18_pro500-davinci_evm-
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2026248 Bytes =  1.9 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux.............................................................

    So, let me summarize:

    (1) my local compiled uImage boot from TFTP+NFS --> fail

    (2)  PSP_02_10_00_14/bin/dm365/uImage-dm365 , boot from TFTP+NFS --> fail

    (3)  boot from flash+NFS --> OK

    Please advise

  • For now, I would avoid using a u-boot that you build yourself; I found out today that the u-boot you build from the sources included in our DVSDK tree may not match the working pre-built u-boot (size is different), and that the difference may have something to do with the ethernet not working in the u-boot built from source.  I am still confirming this, but wanted to caution you so that we can eliminate this variable.

    That said, if you can boot kernel from flash, then your DDR2 is ok.  The reason the issue may be surfacing may be the u-boot (use the pre-built one) or a corrupt uImage.  You said you were using the pre-built Linux kernel (uImage-dm365), but keep in mind that even this file can become corrupt.  At this point, if you are using pre-built u-boot and Linux kernel and still having problems, you may want to isntall dvsdk_dm365_setuplinux_2_10_00_18.bin again to make sure you have clean copies of u-boot and Linux Kernel.

  • Hi Juan,

        I have installed dvsdk_dm365_setuplinux_2_10_00_18.bin again and rebuild the uImage file (had made clean first), the checksum error still the same. I am totally stuck at this point now. Do you have any other suggestion for me, please? Thanks.

    Best Regards,

    C.S.

  • Hi Juan,

        I tried to follow the GSG and install everything again in another PC, then, it works now!! Though I don't know why, but seems like something corrupted in my previous installation, as you said. So, I can continue my work now. Thank you.

    C.S.

  • This is great news!  I wonder what the differences between the two machines are, are you using the same host OS on both?

  • Yes, they are all Fedora 10. I am tring to completly re-install my first machine, hopefully it will work. I need to make my whole project code in that machine.