您的位置:首页 > 其它

mini2440 编译u-boot-1.1.6遇到的一些问题

2011-12-14 23:49 316 查看
linux环境:ubuntu11.10

交叉编译工具:arm-linux-gcc4.3.2

目标板:mini2440 Flash 256M

u-boot源代码:由友善之臂提供,基于1.1.6版本修改后的FriendlyARM修改过的b-boot.1.1.6

马上进入我们的编译之旅!

1、解压缩源码包

tar zxvf u-boot-1.1.6-FA24x0.tar.gz
2、make clean

这时候将会出现第一个问题:

/bin/sh: lex: command not found
解决方法可以参见:Linux命令make报错总结

3、make open24x0_config

配置板子资源

Configuring for open24x0 board...


4、删除Makefile.l文件,否则make的时候会出现一些错误

5、make

编译出现错误:

undefined reference to ‘raise’
解决方法参见:undefined reference to ‘raise’

之后编译还是会出现问题。通过找查找论坛资料,一位网友提出make distclean可以解决问题!

make distclean

make open24x0_config

make

6、编译成功

7、在display_banner()函数里面加入自己的一些调试显示信息

printf("###Hello u-boot!My name is care###n\");

8、再次编译u-boot

9、将u-boot.bin烧写到板子的0x33000000地址上

10、复位一下板子,通过超级终端可以看到调试信息

###hello u-boot!My name is care###

大功告成。

最近公司忙着赶项目,我负责的是之前没有接触过的u-boot 。浪费了3天时间,都是在做无用功。主要的原因是切入点不对,3天的时间主要都用来跟着网上的高手移植u-boot。对于源码的阅读反而不是很多。看到了一篇文章,描述了作者初学u-boot的心得。很有体会,在此附上连接。希望对和我一样的bootloader初学者能有帮助。


新手移植u-boot的一些建议

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: