buildroot编译交叉编译器

来源:互联网 发布:沈阳专业seo公司 编辑:程序博客网 时间:2024/06/09 22:40

虚拟机:VMware Player

Linux开发环境:centos6.7

开发板:fl2440(s3c2440处理器)

一:Buildroot:

        buildroot是一组makefile和补丁,可简化并且自动化构建嵌入式系统环境的过程,也就是可以用它来制作交叉编译器、根文件系统,把u-boot、linux kernel集成到buildroot中一起编译。

二、软件准备:

1、buildroot源码准备,提前在Windows下下载,下载地址在buildroot官网下载。

2、传输我选用的有两种办法:

(1)rz:上传服务器,sz:从服务器下载到Windows客户端,这个应提前安装

(2)winscp传输,winscp具体操作不赘述。

(3)其他:若用ftp,提前下载TFTP;若是SVN,提前下载相应软件。

三、buildroot提前准备:

1、若是官网下载压缩包,用tar -xjf 文件名解压,若是bin文件可直接使用。

2、权限修改,有可能使用sudo.

[Riley@localhost opt]$ chmod a+x buildroot-2012.08-LingYunEmbLab-v1.2.0.bin

[Riley@localhost opt]$ sudo mv  rh/ buildroot-2012.08/

[Riley@localhost opt]$echo $PATH

/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/lanpeng/bin

[Riley@localhost opt]$./buildroot-2012.08-LingYunEmbLab-v1.2.0.bin

这里容易出现问题,例如一些程序没安装,则采用sudo yum install 相应没有安装的程序安装

四、配置buildroot

三.配置交叉编译器

输入以下命令开始配置

[Riley@localhost opt]$ export TREM=VT100

[Riley@localhost opt]$ make menuconfig

(我在这里出现了问题,总会出现make【1】和make[2]的错误,出现这些错误主要是gcc得版本不一样,处理方式是:命令行:gcc --version查看版本,然后vim修改http://www.xuebuyuan.com/2120567.html,详细看这个网址。)

/export TERM=vt100,这个环境变量的设置是为了防止后面的系统配置界面出现乱码/

系统出现以下界面:

1.配置cpu类型




2.配置Build Options

“($(TOPDIR)/dl)”这个选项的设置是为了将所有下载的源代码放到dl这个文件夹下;

“($(TOPDIR)/arm920t) Hostdir”就是指定我们制作出来的交叉编译器所在的路径,注意这里大家设置为$(TOPDIR),而不是默认的${BASE_DIR},否则以后用我的代码可能有问题

3.配置toolchain





注意上面在“Kernel Headers”先要设置“Linux 2.6 (manually specified version)”,然后再输入“linux version”的版本为2.6.37。

选择enable C++ support 和enable stack protectionsupport。

4.其它配置

在完成上面的配置后,剩下的配置就比较简单了:

“System configuration  --->”使用默认的选项,不要作修改;

“Package Selection for thetarget  --->”这里我们只选择今后经常需要的两个库文件:

Package Selection for the target --->

     Libraries  --->

        Compression and decompression  --->

               [*] lzo

               [*] zlib

“Filesystem images  --->”全部取消,不要选;

“Bootloaders  --->”全部取消,不要选;

“Kernel  --->”全部取消,不要选;

5.完成配置

选择“Save an Alternate Configuration File”保存这些配置,然后使用“Tab”或左右键选择到“Exit”上退出。这时,我们就会在当前目录下,看到一个名为.config的掩藏文件。在之后的编译过程中,Makefile将根据这个文件来选择相应的软件包和特性来编译安装。

在/opt/buildroot-2012.08/configs,查看

四.编译交叉编译器

直接输入make命令,系统开始制作交叉编译器。这个过程时间较长。编译成的交叉编译器在/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-目录下。


五.测试交叉编译器

写一个hello.c程序,使用交叉编译器来编译生成hello可执行文件,用file命令查看文件属性,可以看到这个文件arm下运行的。



0 0