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.

Verifying Checksum ... Bad Data CRC



I got an issue (Bad Data CRC)...that is mention in the following log print..

DM355 Initialization done

UBL: detected valid U-Boot magic number
UBL: booting to U-Boot

U-Boot 1.2.0 (Aug 26 2011 - 12:20:42)

DRAM:  256 MB
NAND:  NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit)
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
nand_read_bbt: Bad block at 0x01080000
nand_read_bbt: Bad block at 0x034a0000
nand_read_bbt: Bad block at 0x046e0000
nand_read_bbt: Bad block at 0x05720000
nand_read_bbt: Bad block at 0x085a0000
nand_read_bbt: Bad block at 0x0a0a0000
nand_read_bbt: Bad block at 0x0c760000
256 MiB
In:    serial
Out:   serial
Err:   serial
ARM Clock :- 270MHz
DDR Clock :- 216MHz
Hit any key to stop autoboot:  3  2  1  0

NAND read: device 0 offset 0xc00000, size 0x500000


Reading data from 0xc00000 --   0% complete.
Reading data from 0xc0c800 --   1% complete.
Reading data from 0xc19800 --   2% complete.
Reading data from 0xc26000 --   3% complete.
Reading data from 0xc33000 --   4% complete.
Reading data from 0xc3f800 --   5% complete.
Reading data from 0xc4c800 --   6% complete.
Reading data from 0xc59800 --   7% complete.
Reading data from 0xc66000 --   8% complete.
Reading data from 0xc73000 --   9% complete.
Reading data from 0xc7f800 --  10% complete.
Reading data from 0xc8c800 --  11% complete.
Reading data from 0xc99800 --  12% complete.
Reading data from 0xca6000 --  13% complete.
Reading data from 0xcb3000 --  14% complete.
Reading data from 0xcbf800 --  15% complete.
Reading data from 0xccc800 --  16% complete.
Reading data from 0xcd9800 --  17% complete.
Reading data from 0xce6000 --  18% complete.
Reading data from 0xcf3000 --  19% complete.
Reading data from 0xcff800 --  20% complete.
Reading data from 0xd0c800 --  21% complete.
Reading data from 0xd19800 --  22% complete.
Reading data from 0xd26000 --  23% complete.
Reading data from 0xd33000 --  24% complete.
Reading data from 0xd3f800 --  25% complete.
Reading data from 0xd4c800 --  26% complete.
Reading data from 0xd59800 --  27% complete.
Reading data from 0xd66000 --  28% complete.
Reading data from 0xd73000 --  29% complete.
Reading data from 0xd7f800 --  30% complete.
Reading data from 0xd8c800 --  31% complete.
Reading data from 0xd99800 --  32% complete.
Reading data from 0xda6000 --  33% complete.
Reading data from 0xdb3000 --  34% complete.
Reading data from 0xdbf800 --  35% complete.
Reading data from 0xdcc800 --  36% complete.
Reading data from 0xdd9800 --  37% complete.
Reading data from 0xde6000 --  38% complete.
Reading data from 0xdf3000 --  39% complete.
Reading data from 0xdff800 --  40% complete.
Reading data from 0xe0c800 --  41% complete.
Reading data from 0xe19800 --  42% complete.
Reading data from 0xe26000 --  43% complete.
Reading data from 0xe33000 --  44% complete.
Reading data from 0xe3f800 --  45% complete.
Reading data from 0xe4c800 --  46% complete.
Reading data from 0xe59800 --  47% complete.
Reading data from 0xe66000 --  48% complete.
Reading data from 0xe73000 --  49% complete.
Reading data from 0xe7f800 --  50% complete.
Reading data from 0xe8c800 --  51% complete.
Reading data from 0xe99800 --  52% complete.
Reading data from 0xea6000 --  53% complete.
Reading data from 0xeb3000 --  54% complete.
Reading data from 0xebf800 --  55% complete.
Reading data from 0xecc800 --  56% complete.
Reading data from 0xed9800 --  57% complete.
Reading data from 0xee6000 --  58% complete.
Reading data from 0xef3000 --  59% complete.
Reading data from 0xeff800 --  60% complete.
Reading data from 0xf0c800 --  61% complete.
Reading data from 0xf19800 --  62% complete.
Reading data from 0xf26000 --  63% complete.
Reading data from 0xf33000 --  64% complete.
Reading data from 0xf3f800 --  65% complete.
Reading data from 0xf4c800 --  66% complete.
Reading data from 0xf59800 --  67% complete.
Reading data from 0xf66000 --  68% complete.
Reading data from 0xf73000 --  69% complete.
Reading data from 0xf7f800 --  70% complete.
Reading data from 0xf8c800 --  71% complete.
Reading data from 0xf99800 --  72% complete.
Reading data from 0xfa6000 --  73% complete.
Reading data from 0xfb3000 --  74% complete.
Reading data from 0xfbf800 --  75% complete.
Reading data from 0xfcc800 --  76% complete.
Reading data from 0xfd9800 --  77% complete.
Reading data from 0xfe6000 --  78% complete.
Reading data from 0xff3000 --  79% complete.
Reading data from 0xfff800 --  80% complete.
Reading data from 0x100c800 --  81% complete.
Reading data from 0x1019800 --  82% complete.
Reading data from 0x1026000 --  83% complete.
Reading data from 0x1033000 --  84% complete.
Reading data from 0x103f800 --  85% complete.
Reading data from 0x104c800 --  86% complete.
Reading data from 0x1059800 --  87% complete.
Reading data from 0x1066000 --  88% complete.
Reading data from 0x1073000 --  89% complete.
Reading data from 0x107f800 --  90% complete.
Bad block at 0x1080000 in erase block from 0x1080000 will be skipped

Reading data from 0x10ac800 --  91% complete.
Reading data from 0x10b9800 --  92% complete.
Reading data from 0x10c6000 --  93% complete.
Reading data from 0x10d3000 --  94% complete.
Reading data from 0x10df800 --  95% complete.
Reading data from 0x10ec800 --  96% complete.
Reading data from 0x10f9800 --  97% complete.
Reading data from 0x1106000 --  98% complete.
Reading data from 0x1113000 --  99% complete.
Reading data from 0x111f800 -- 100% complete.
 5242880 bytes read: OK

NAND read: device 0 offset 0x500000, size 0x200000


Reading data from 0x500000 --   0% complete.
Reading data from 0x505000 --   1% complete.
Reading data from 0x50a000 --   2% complete.
Reading data from 0x50f000 --   3% complete.
Reading data from 0x514000 --   4% complete.
Reading data from 0x519800 --   5% complete.
Reading data from 0x51e800 --   6% complete.
Reading data from 0x523800 --   7% complete.
Reading data from 0x528800 --   8% complete.
Reading data from 0x52e000 --   9% complete.
Reading data from 0x533000 --  10% complete.
Reading data from 0x538000 --  11% complete.
Reading data from 0x53d000 --  12% complete.
Reading data from 0x542800 --  13% complete.
Reading data from 0x547800 --  14% complete.
Reading data from 0x54c800 --  15% complete.
Reading data from 0x551800 --  16% complete.
Reading data from 0x557000 --  17% complete.
Reading data from 0x55c000 --  18% complete.
Reading data from 0x561000 --  19% complete.
Reading data from 0x566000 --  20% complete.
Reading data from 0x56b800 --  21% complete.
Reading data from 0x570800 --  22% complete.
Reading data from 0x575800 --  23% complete.
Reading data from 0x57a800 --  24% complete.
Reading data from 0x57f800 --  25% complete.
Reading data from 0x585000 --  26% complete.
Reading data from 0x58a000 --  27% complete.
Reading data from 0x58f000 --  28% complete.
Reading data from 0x594000 --  29% complete.
Reading data from 0x599800 --  30% complete.
Reading data from 0x59e800 --  31% complete.
Reading data from 0x5a3800 --  32% complete.
Reading data from 0x5a8800 --  33% complete.
Reading data from 0x5ae000 --  34% complete.
Reading data from 0x5b3000 --  35% complete.
Reading data from 0x5b8000 --  36% complete.
Reading data from 0x5bd000 --  37% complete.
Reading data from 0x5c2800 --  38% complete.
Reading data from 0x5c7800 --  39% complete.
Reading data from 0x5cc800 --  40% complete.
Reading data from 0x5d1800 --  41% complete.
Reading data from 0x5d7000 --  42% complete.
Reading data from 0x5dc000 --  43% complete.
Reading data from 0x5e1000 --  44% complete.
Reading data from 0x5e6000 --  45% complete.
Reading data from 0x5eb800 --  46% complete.
Reading data from 0x5f0800 --  47% complete.
Reading data from 0x5f5800 --  48% complete.
Reading data from 0x5fa800 --  49% complete.
Reading data from 0x5ff800 --  50% complete.
Reading data from 0x605000 --  51% complete.
Reading data from 0x60a000 --  52% complete.
Reading data from 0x60f000 --  53% complete.
Reading data from 0x614000 --  54% complete.
Reading data from 0x619800 --  55% complete.
Reading data from 0x61e800 --  56% complete.
Reading data from 0x623800 --  57% complete.
Reading data from 0x628800 --  58% complete.
Reading data from 0x62e000 --  59% complete.
Reading data from 0x633000 --  60% complete.
Reading data from 0x638000 --  61% complete.
Reading data from 0x63d000 --  62% complete.
Reading data from 0x642800 --  63% complete.
Reading data from 0x647800 --  64% complete.
Reading data from 0x64c800 --  65% complete.
Reading data from 0x651800 --  66% complete.
Reading data from 0x657000 --  67% complete.
Reading data from 0x65c000 --  68% complete.
Reading data from 0x661000 --  69% complete.
Reading data from 0x666000 --  70% complete.
Reading data from 0x66b800 --  71% complete.
Reading data from 0x670800 --  72% complete.
Reading data from 0x675800 --  73% complete.
Reading data from 0x67a800 --  74% complete.
Reading data from 0x67f800 --  75% complete.
Reading data from 0x685000 --  76% complete.
Reading data from 0x68a000 --  77% complete.
Reading data from 0x68f000 --  78% complete.
Reading data from 0x694000 --  79% complete.
Reading data from 0x699800 --  80% complete.
Reading data from 0x69e800 --  81% complete.
Reading data from 0x6a3800 --  82% complete.
Reading data from 0x6a8800 --  83% complete.
Reading data from 0x6ae000 --  84% complete.
Reading data from 0x6b3000 --  85% complete.
Reading data from 0x6b8000 --  86% complete.
Reading data from 0x6bd000 --  87% complete.
Reading data from 0x6c2800 --  88% complete.
Reading data from 0x6c7800 --  89% complete.
Reading data from 0x6cc800 --  90% complete.
Reading data from 0x6d1800 --  91% complete.
Reading data from 0x6d7000 --  92% complete.
Reading data from 0x6dc000 --  93% complete.
Reading data from 0x6e1000 --  94% complete.
Reading data from 0x6e6000 --  95% complete.
Reading data from 0x6eb800 --  96% complete.
Reading data from 0x6f0800 --  97% complete.
Reading data from 0x6f5800 --  98% complete.
Reading data from 0x6fa800 --  99% complete.
Reading data from 0x6ff800 -- 100% complete.
 2097152 bytes read: OK
## Booting image at 80700000 ...
   Image Name:   Linux-2.6.10_mvl401
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1594772 Bytes =  1.5 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... Bad Data CRC
DM355 EVM #

I am using u-boot in the version of "u-boot 1.2.0"

In my starting stage I got this same issue (Bad Data CRC)..

Now...I did some modification in u-boot  board / dm355_evm / nand.c file

Line Number : 475

case NAND_ECC_READSYN:
                /*
                 * Our ECC calculation has already been terminated, so no need
                 * to do anything here.
                 */
                val = (*(dv_reg_p) NAND4BITECC1);
                break;
case NAND_ECC_WRITESYN:
default:
                break;

Now It's working fine..

But..I don't know the technical reason behind it...

If any one know the reason ....let me update please...