这个nand init failed的问题应该是跟u-boot没有正确初始化nand有关,而不是lz说的gcc对齐的问题。我把superboot下能工作的kernel image转成uImage
mkimage -A arm -O linux -T kernel -C none -a 0x20008000 -e 0x20008000 -d zImage uImage
用u-boot启动,同样是报错的。所以可以肯定是u-boot某些工作没做好。nand info显示错误的oob size可能就是一个hint