Buildroot是一个成套的嵌入式开发环境。它可以用来制作交叉编译器,制作属于自己的根文件系统,编译uboot,Liunx kernel。是一个十分便捷的工具。
下面记录一下自己使用Buildroot制作ARM交叉编译器的过程:
PC:windows 10 专业版
虚拟机:VMware Workstation Pro 12.5
Liunx版本:CentOS 6.7
今后使用的开发板为fl2440,所以以下的配置都是以此为基础。
一、下载、解压Buildroot包
Buildroot官方网站为:https://buildroot.uclibc.org
(以2013.11版本为例)
请注意:以下一系列操作均不要在root权限下执行!!!
在 /opt 目录下下载压缩包。若没有/opt,要先建立该文件夹,并修改其权限:chmod 777 /opt:
解压:
二、进行make menuconfig配置
cd 进入/opt/buildroot-2013.11 文件夹下,包含内容如下:
先执行:export TERM=vt100 防止make menuconfig出现乱码
接下来执行make menuconfig
会出现如下的配置界面:
配置选项说明以及选择:
Target options:
目标选项:设置一些芯片、芯片内核信息、ABI选项、指令集等。更改如下图:
在今后的开发中,可以根据自己芯片是基于什么核心的,来选择对应的选项。
Build options:
编译选项:设置编译功能。仅需修改如下几处:
其他选项保持默认。
Toolchain:
工具链选择:在这里可选择众多的GNU/GCC工具选项(看个人需要)。
手动修改Liunx内核版本为2.6.37(需要手动输入):
所要修改使能的选项为:
其他有默认值的保持不动。
System configuration:
需要把Busybox编译设置为None,其他保持默认:
Target packages:
同样把Busybox不使能:
在下选择:
使能如下选项:
其余保持默认。
主菜单中:
等选项都不要选择。
保存退出,准备编译。
三、make编译
保存退出后,在当前文件夹下会有一个.config的隐藏文件,在即将进行的编译过程里,makefile会根据这个文件来选取软件包和特性进行编译安装操作:
输入make进行编译(此时需要root权限:sudo make)。
如果提示:缺少g++等库就使用yum安装。
编译时间较长,耐心等待。。。 。。。
…… …… ……
…… …… ……
完成后,在 arm920t/usr/bin/目录下应该能看到一系列的交叉工具链:
四、测试
任意编写一个.c文件:
之后使用刚刚生成的交叉编译器来编译它:
完成!
参考资料:
http://www.crifan.com/order_eabi_and_oabi/
http://www.crifan.com/summary_about_toolchain_cross_compiler/
http://www.chinaunix.net/old_jh/4/1011985.html
http://www.crifan.com/summary_cross_compile_cross_compiler_cross_toolchain/