交叉编译环境是由编译器、连接器和解释器组合成的综合开发环境。
交叉编译工具主要包括针对目标系统的编译器GCC、目标系统的二进制工具binutils、目标系统的标准C库Glibc和目标系统的Linux内核头文件
安装上述文件,并设置变量 PREFIX 指定可执行程序的安装路径
1.编译binutils
运行configure文件,并使用 --prefix=$PREFIX参数指定安装路径,使用 --target=arm-linux参数指定目标机类型,然后执行make install
2.配置linux内核头文件
执行make mrproper进行清理工作,然后执行make config ARCH=arm(或make menuconfig/xconfig ARCH=arm)进行配置
配置完成之后,需要将内核头文件复制到安装目录
cp -dR include/asm-arm $PREFIX/arm-linux/include/asm-arm
cp -dR include/linux $PREFIX/arm-linux/include/linux
3.第一次编译GCC
configu的运行参数设置
–prefix=$PREFIX
–target=arm-linux
–disable-threads
–disable-Shared
–enable-languages=c
执行make install,将生成一个简单的gcc,由于编译整个gcc需要目标机的glibc库,它现在还不存在,因此需要首先生成一个最简单的gcc
只需要具备编译目标机glibc库的能力即可
4.交叉编译glibc
这一步针对目标机的CPU
#该过程需要用到linux内核头文件,默认路径为 P R E F I X / a r m − l i n u x / s y s − l i n u x 在 PREFIX/arm-linux/sys-linux 在 PREFIX/arm−