参考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错误这种问题如何解决 谢谢。。。
kun han:
经对比从NAND FLASH中读出的kernel,与通过tftp加载的kernel。发现从NAND FLASH读的数据不正确,读出的第1、3、5page数据正确,2、4、6page数据全FF,没页2048kbyte。
Denny%20Yang99373:
回复 kun han:
先找个NAND读写测试工程测试一下,可能NAND FLASH有问题
也有可能你换过NAND,相应的软件没有跟着修改
kun han:
回复 Denny%20Yang99373:
@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。
Denny%20Yang99373:
回复 kun han:
可以用NANDwrite 直接把KERNEL UIMAGE烧写进去吗?
按道理通过UBOOT烧写NAND,UBOOT自己应该能读出来
kun han:
回复 Denny%20Yang99373:
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端的程序。