DevKit8000 U-boot环境设置问题

 

   DevKit8000通过TFTP更新内核,通过TFTP把uImage文件下载到内存的0x80000000外,再写到NAND_FLASH的0x280000处,最后设置u-boot的环境变量:
    setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs  rootfstype=ubifs  video =omapfb:mode:4.3inch_LCD
   setenv bootcmd nand read.i 80300000 280000 300000/; bootm 80300000  
   但是在由NAND_FLASH启动的时候,不能从NAND_FLASH加载内核镜像到内存的0x80300000处,错误如下:
   U-Boot 1.3.3 (Jan 17 2011 - 18:26:10)
  
   OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
   OMAP3 DevKit8000 Board + LPDDR/NAND
   DRAM: 256 MB
   NAND: 256 MiB
   In: serial
   Out: serial
   Err: serial
   Hit any key to stop autoboot: 0
   NAND read: device 0 offset 0x280000, size 0x240000
   Error: Bad compare! failed
   nand_read_ecc: Failed ECC read, page 0x00000500
   reading NAND page at offset 0x280000 failed
   2359296 bytes read: ERROR
   Wrong Image Format for bootm command
   ERROR: can't get kernel image!
解决办法:
   关键在于“ nand_read_ecc: Failed ECC read, page 0x00000500 ”这里,在bootcmd环境里要先设置ECC校验,所以bootcmd的环境变量要变为:
   setenv bootcmd 'nand ecc sw;nand read.i 80300000 280000 240000;
   bootm 80300000'
   成功加载内核到内存。

 

你可能感兴趣的:(DevKit8000 U-boot环境设置问题)