编译U-boot给mini2440时,要编译出能在ARM平台上使用的可执行文件-bin,首先要在ubuntu 中安装交叉编译工具链,因为我使用的是友善之臂的开发板,所以我使用的已经制作好的工具链,当然也可以自己制作工具链:如基于GCC和glibc制作工具链,可以使用cross tools编译;
我使用的工具链的版本是arm-linux-gcc-4.3.3版本,下载地址:下载地址
1.在pc端下载好以后,将压缩包用xftp传输到Ubuntu;当然也可以用其他软件上传;上传后把它放在根目录下的/usr/local文件夹中新建一个arm文件夹,然后把压缩包复制到这个文件夹;注意先建好文件夹再上传,可以减少很多工作量;
一定要上传压缩包,在ubuntu中解压;
一定要上传压缩包,在ubuntu中解压;
一定要上传压缩包,在ubuntu中解压;
2.解压指令:# tar -xzf Filename.tar.gz
3.解压后会出现一个opt文件夹,一直往下找,找到./opt/FriendlyARM/toolschain/4.4.3/bin,记住这个路径;
4.把交叉编译工具链所在的目录添加到ubuntu系统的环境变量。
修改 /etc/environment 文件,设置为以下内容:
5.修改 ~/.bashrc 文件,在文件的最后添加以下内容:
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
6.保存关闭:在终端执行source ~/.bashrc,使环境变量生效;
7.执行echo $path ,查看第四步添加的路径是不是添加成功;
8.执行arm-linux-gcc -v ,测试安装是否成功;
9.恭喜你,安装完成;你以为结束了吗?并没有
10.作为ARM-linux工程师,不妨到你的U-boot目录下,试试以下指令:
make distclean
make mini2440_config
make
如果出现报错,说明你执行的目录中的Makefile中的arm-linux-gcc和你安装的工具链版本不一样;
此时找到你要编译的Makefile文件,找到错误指示的地方;
例如;我测试的时候,出现arm-9tdmi-linux-gnu-gcc。。。。
用grep找到他在Makefile中的位置,然后把它改成自己安装的工具链的版本;
success!!!