日期:2014-05-16  浏览次数:21456 次

看到请进 !!Verifying Checksum ... Bad Data CRC
各位好 我用的是博创三剑客 s3c2410 一下是我第一烧写这款开发板 烧写完成 重启之后的效果 
我看到网上说 出现这样问题的原因是 由于 自己 内核的大小 超出了 分配的flash空间的大小但是我没有看出来
 希望大牛们能给解答一下 
U-Boot 1.3.2 (Dec 7 2024 - 18:08:47)

DRAM: 32 MB
Flash: 512 kB
NAND: 64 MiB
In: serial
Out: serial
Err: serial
Found DM9000 ID:90000a46 at address 10000000 !
DM9000 work in 16 bus width
bd->bi_entaddr: 08:00:3e:26:0a:5b
[eth_init]MAC:8:0:3e:26:a:5b:
Hit any key to stop autoboot: 0

NAND read: device 0 offset 0x80000, size 0x200000
 2097152 bytes read: OK
## Booting image at 30008000 ...
  Image Name: Linux-2.6.24.4
  Created: 2009-03-29 11:30:00 UTC
  Image Type: ARM Linux Kernel Image (uncompressed)
  Data Size: 1836568 Bytes = 1.8 MB
  Load Address: 30008000
  Entry Point: 30008040
  Verifying Checksum ... Bad Data CRC


下面是我u-boot的启动参数
[mini2410 #] printenv
bootargs=root=/dev/mtdblock2 noinitrd console=ttySAC0,115200
bootcmd=nand read 0x30008000 0x80000 0x200000;bootm
bootdelay=5
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
bootfile="uImage"
fileaddr=30008000
netmask=255.255.255.0
ipaddr=192.168.1.193
serverip=192.168.1.2
update_kernel=tftp 0x30008000 uImage;nand erase 0x80000 0x200000;nand write 0x30
008000 0x80000 0x200000
update_rootfs=tftp 0x30008000 root.cramfs;nand erase 0x280000 0x400000;nand writ
e 0x30008000 0x280000 0x400000
update_boot=tftp 0x30008000 u-boot.bin;nand erase 0x0000 0x80000;nand write 0x30
008000 0x0000 0x80000
update_usr=nand erase 0x00680000 0x03980000
filesize=28A
stdin=serial
stdout=serial
stderr=serial

------解决方案--------------------

tftp 0x30008000 uImage
imi 0x30008000 


nand read 0x30008000 0x80000 0x200000
imi 0x30008000 

分别校验光盘和nand里的内核镜像是否正确
------解决方案--------------------
如果内存不稳定的话,确实会tftp下载的内核镜像到内存,imi校验都无法通过,这事我遇到过

多次反复尝试
tftp 0x30008000 uImage
imi 0x30008000

如果某次成功的话,确实内存不稳定 
可能是硬件问题,也可能是uboot的内存配置部分有问题