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.

请教OAMPL137 从NANDFLASH 加载内核 显示Verifying Checksum ... Bad Data CRC

Other Parts Discussed in Thread: OMAP-L137

参考OMAP-L137 EVM自制的板卡,加入NAND FLASH并从NAND启动。

1、uboot启动后通过tftp命令能正常的加载启动内核,命令及串口显示如下:

U-Boot > tftp 0xc0700000 uImage

U-Boot > bootm

## Booting kernel from Legacy Image at c0700000 ...

   Image Name:   Linux-2.6.33-rc4

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1989976 Bytes =  1.9 MB

   Load Address: c0008000

   Entry Point:  c0008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

  Starting kernel ...

。。。。。

2、uboot启动后通过tftp命令加载内核到SDRAM,再通过nand write.e命令把uImage写到NAND FLASH中,

然后再把NAND FLASH中uImage读回SDRAM并bootm,提示Verifying Checksum ... Bad Data CRC。

命令及串口显示如下:

U-Boot > tftp 0xc0700000 uImage

U-Boot > nand erase 0x200000 0x200000

U-Boot > nand write.e 0xc0700000 0x200000 0x200000

U-Boot > nboot.e 0xc0700000 0 0x200000

U-Boot > bootm

## Booting kernel from Legacy Image at c0700000 ...

   Image Name:   Linux-2.6.33-rc4

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1989976 Bytes =  1.9 MB

   Load Address: c0008000

   Entry Point:  c0008000

   Verifying Checksum ... Bad Data CRC

请教CRC错误这种问题如何解决 谢谢。。。

  • 经对比从NAND FLASH中读出的kernel,与通过tftp加载的kernel。发现从NAND FLASH读的数据不正确,读出的第1、3、5page数据正确,2、4、6page数据全FF,没页2048kbyte。

  • 先找个NAND读写测试工程测试一下,可能NAND FLASH有问题

    也有可能你换过NAND,相应的软件没有跟着修改

  • @Denny Yang,谢谢您的回复。

    用DaVinci-PSP-SDK-03.20.00.14中的NANDwrite 程序烧写ais ubl uboot 都能正常运行,或许FLASH本身没问题。

    NAND芯片有更换,OMAP-L137 EVM中是4G的包含2个Plane,自制的板卡用的1G的只有一个Plane。

    uboot的NAND读写驱动,同时操作两个Plane?第1页数据写在Plane1的page1,第2页数据写在Plane2的page1,

    第3页数据写在Plane1的page2,第4页数据写在Plane2的page2。。。?所以读到的1、3、5page数据正确,2、4、6page数据全FF。

  • 可以用NANDwrite 直接把KERNEL UIMAGE烧写进去吗?

    按道理通过UBOOT烧写NAND,UBOOT自己应该能读出来

  • NAND换成同OMAP-L137 EVM一样的芯片,CRC错误仍然存在。

    u-boot更换成REL_LSP_02_20_00_07中的u-boot-1.3.3后,能正常从NAND加载内核。

    TI发布DaVinci-PSP-SDK-03.20.00.14时没在OMAP-L137 EVM上验证?

    还是我下载的版本号不对,应该下载DaVinci-PSP-SDK-03.20.00.13?

    DaVinci-PSP-SDK-03.20.00.14中的dspubl-03.20.00.14必须修改ubl.h中的

    #define MAGIC_NUMBER_VALID          (0x55424C00)

    #define UBL_MAGIC_BIN_IMG           (0x55424CBB)

    或者修改nand-writer-03.20.00.14的相应define 才能启动arm端的程序。