在u-boot1.3.3及以上版本Makefile有一定的变化,使得对于24x0处理器从nand启动的遇到问题。也就是网上有人说的:无法运行过lowlevel_init。其实这个问题是由于编译器将我们自己添加的用于nandboot的子函数nand_read_ll放到了4K之后造成的(到这不理解的话,请仔细看看24x0处理器nandboot原理)。u-boot根本没有完成自我拷贝,你可以看uboot根目录下的System.map文件就可知道原因。
改为__LIBS := $(subst $(obj),,$(LIBBOARD)) $(subst $(obj),,$(LIBS))
解决办法其实很简单,打开uboot根目录下的Makefile文件,找到286行:
改为__LIBS := $(subst $(obj),,$(LIBBOARD)) $(subst $(obj),,$(LIBS))
本文介绍了解决U-Boot 1.3.3及以上版本中24x0处理器从NAND启动的问题。该问题源于编译器将nand_read_ll函数放置于4K之后导致U-Boot未能正确完成自我拷贝。文中提供了修改Makefile的具体步骤来解决这一难题。

1394

被折叠的 条评论
为什么被折叠?



