移植u-boot-1.3.4到qq2440(2)
作者:makethyme
以前移植过u-boot-1.1.6到S3C2440的板子上,本来以为移植u-boot-1.3.4只要merge完毕就可以了。不料merge完毕之后却不能够正常运行。这段时间一直有事,直到前两天才有空下来调试一下。由于没有debug的硬件设备,只好在cpu/arm920t/start.S中添加初始化串口的程序来通过串口输出判断程序挂在那儿了。(关于在start.S中初始化串口可参考vivi)。
最后判断出来问题出在将u-boot从Nand Flash拷贝到RAM的过程中,需要调用nand/qq2440/nand_read.c中的函数nand_read_ll(unsigned char *buf, unsigned long start_addr, int size)时出错。
首先用readelf查看一下,nand_read_ll这个函数是否连接进到最终的程序中:
arm-linux-readelf –s u-boot | grep nand_read_ll
可以发现,nand_read_ll是连接到最终的程序中的。
然后,将其反汇编: