u-boot引导内核,出现Verifying Checksum ... Bad Data CRC错误
u-boot从nandflash启动,引导内核时出现如下错误提示:
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
具体情况如下:
U-Boot 2008.10 (Sep 4 2012 - 12:18:51)
DRAM: 64 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x60000, size 0x500000
5242880 bytes read: OK
## Booting kernel from Legacy Image at 31000000 ...
Image Name: Linux-2.6.29.4
Created: 2012-08-25 8:15:19 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1752256 Bytes = 1.7 MB
Load Address: 30008000
Entry Point: 30008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
我的u-boot环境变量如下:
bootdelay=3
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
filesize=1ABD00
fileaddr=31000000
netmask=255.255.255.0
ipaddr=192.168.163.110
serverip=192.168.163.137
bootcmd=nand read.jffs2 0x31000000 0x60000 0x500000;bootm 0x31000000
stdin=serial
stdout=serial
stderr=serial
内核通过tftp下载到内存后直接bootm 可成功启动,但是写入nand后就不行了。
奇怪的是当我从norflash启动u-boot,在u-boot的norflash下将内核烧写到nandflash 中后,然后从nandflash启动内核,可以正常启动。
我在norflash的操作如下:
tftp 0x31000000 uImage
nand erase 60000 500000
nand write.jffs2 0x31000000 60000 500000
我有如下疑问:
我的支持norflash启动和支持nandflash启动的u-boot的关于nand操作的代码是一样的,但是为什么从norflash写内核到nand中可以正常启动,但是从nand中写内核进去就不行呢?
[解决办法]
先确定下在两种状态下是否都把kernel,jffs2是否都正确的加载到内存地址
[解决办法]
先确定这两种状态下是否都正确的将kernel,jffs2加载到指定的内存地址运行
[解决办法]