移植u-boot-1.3.4到qq2440(2)

在移植u-boot-1.3.4到qq2440过程中遇到启动错误,原因是nand_read_ll函数未在steppingstone SRAM中导致调用失败。通过修改Makefile,确保board/$(BOARDDIR)/lib$(BOARD).a被正确处理,解决了问题。重新编译后,u-boot能够正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                      移植u-boot-1.3.4到qq2440(2)

                                                   作者:makethyme

以前移植过u-boot-1.1.6S3C2440的板子上,本来以为移植u-boot-1.3.4只要merge完毕就可以了。不料merge完毕之后却不能够正常运行。这段时间一直有事,直到前两天才有空下来调试一下。由于没有debug的硬件设备,只好在cpu/arm920t/start.S中添加初始化串口的程序来通过串口输出判断程序挂在那儿了。(关于在start.S中初始化串口可参考vivi)。

 

最后判断出来问题出在将u-bootNand 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是连接到最终的程序中的。

 

然后,将其反汇编:

&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值