Ubuntu交叉编译U-boot

U-Boot:全称 Universal Boot Loader,是遵循GPL条款的开放源码项目.

作用:系统引导.(相当于我们电脑的BIOS).

1.下载相应的Uboot 压缩包.(Uboot 下载地址:ftp://ftp.denx.de/pub/u-boot/)

交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序

例如:

在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统

2.下载交叉编译工具GCC压缩包.(下载地址:http://www.veryarm.com/cross-tools)

3.解压缩GCC压缩包.(sudo tar -zxvf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.bz2)

解压缩之后,如图所示:

图中的arm-2009q1文件夹即为解压缩之后的文件夹.

然后打开用户目录下的bash文件,在文件的最后面添加我们的GCC工具路径,如图所示.(vi ~/.bashrc)


添加完成之后,检查是否成功,打开终端,输入arm-,按Tab键,会显示如下:

说明添加成功.

二.

解压缩Uboot 压缩包,进入到Uboot文件路径下,先执行下:

1. make distclean

2.执行 make smdk2410_config


3.make all

会在Uboot的根目录下,生成u-boot 的相关文件(u-boot.bin u-boot等).


在进行make的时候,如果出现类似问题.

是因为没有指定交叉编译器的问题.所以需要执行以下命令:(注意:一定不要在最后面加上gcc,这样会报错,至于为什么,还没有进行研究,我感觉

应该是Uboot当中的makefile命令的原因)

然后进行命令即可.

(未完,待续)

参考:

Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解(http://www.linuxidc.com/Linux/2013-06/85902.htm)

arm-linux-gcc:command not found问题(http://bbs.21ic.com/icview-747612-1-1.html)

嵌入式linux交叉编译工具链搭建(http://blog.csdn.net/lead_solo/article/details/40539247)










你可能感兴趣的:(Ubuntu系统)