1.1.6遇到的一些问题

Linux环境: Ubuntu 11.10

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

目标板:mini2440 Flash 256M

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

下载在Linux公社的1号FTP服务器里,下载地址:

FTP地址:ftp://www.linuxidc.com

用户名:

密码:

在 2011年LinuxIDC.com\12月\Android_sdk_linux_x86.tar.gz 下载

下载方法见

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

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初学者能有帮助。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfwgz.html