Raspberry Pi本身的硬件性能不是很高,编译大型程序,需要消耗很多时间,所以在pi上直接编译源代码 有时候是件痛苦的事情。
为了节约时间,不如在性能强大的台式电脑上配置交叉编译平台,节省编译所需时间。虽然配置交叉编译平台会比较麻烦,也是件痛苦的事情,但是长痛不如短痛~~
这里选用的 Raspberry Pi 操作系统 采用Raspberry Pi 基金会官方推荐的 也是普及率最高的 Raspbian,是基于Debian Wheezy版本的armv6 Hardfloat 分支版本。选用的PC机操作系统,则是 debian 发布的 Debian Wheezy Beta4 X86, 采用同样的发行版本源代码,可以让软件包版本尽量保持一致。
选用的交叉编译工具链,是Raspberry Pi 基金会官方发布的 交叉编译工具包,也就是官方用来编译Raspbian操作系统所用的交叉编译工具链,是最适合编译用在Raspberry pi 上运行的程序的工具包。
以下操作,在PC机debian操作系统下完成
首先下载最新的编译工具包
git clone git://github.com/raspberrypi/tools.git
完成后可以在当前目录下看到tools文件夹。
把编译链工具安装到 /opt 文件夹下面 需root权限。
cd tools cp -r arm-bcm2708 /opt
配置默认路径,加入编译工具路径。
export PATH=/opt/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin:$PATH
配置编译参数。
export CFLAGS="-O2 -pipe -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -w"
至此 交叉编译环境配置完成
编译的时候,在make后面加上用于指定交叉编译器的参数。
CROSS_COMPILE=arm-bcm2708hardfp-linux-gnueabi-
该参数的意义是指定交叉编译器为支持bcm2708芯片硬件浮点的arm编译器。
如果是编译linux内核,需要同时在make后面加上指定架构的参数。
ARCH=arm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135508.htm