我在调试是怎么也不能从nandflash启动,但是能从norflash和SDRAM中启动,同时读写nandflash的功能也能实现,于是我就将nandflash全部搬到SDRAM中,结果发现nandflash中竟然只有0x40000大小的内容,我太高兴了,终于找到原因了,原因就是只有0x40000的内容被放进了nandflash,我大概知道原因所在了,我记得设置一个宏时是设置0x40000的。同时这个方法也是挺有实践意义的,我上个图给大家看看:
上面这是从nandflash中拷贝到SDRAM中的内容,我的命令是:
nand read 30000000 30000 40000 # nand read 是指令名,30000000是要将nandflash中的内容放到SDRAM中的起始地址0x30000000,30000是读nandflash的起始地址,40000读nandflash的大小。
如何显示呢?方法是敲命令:
md 30000000 #显示从30000000开始的内容,一般显示一页后停止,敲回车就能继续显示后面的内容;
下面是u-boot-fulinux.bin的内容:
上面很显然0x40000后面还是有内容的,如何查看这个u-boot-fulinux.bin文件呢?方法如下:
vim -C u-boot-fulinux.bin | less
用到了管道;
这个方法很有启示意义,希望对你有帮助。