下载后可任意编辑 嵌入式 Linux 系统裁剪与编译 1 构建交叉编译环境 1
1 交叉编译原理简介 嵌入式开发一般都是使用交叉编译环境
交叉编译就是在一台计算机上编译软件,其生成的软件在另一台不同类型处理器的机器上运行
因为嵌入式硬件性能一般无法和家用计算机相比,无法构建开发和编译环境
所以我们只能“借”家用计算机来对目标平台的软件进行开发和编译
此时称家用计算机为宿主机,而目标平台机器为目标机
在编译过程中
都要经过一系列处理,才能从源代码变成可执行目标代码
这一系列处理包括,预编译、高级语言编译、汇编、连接及其重定位
这一套流程里面用到的工具和库的组合,就称为工具链
Linux 上常用的开发工具 GCC,它包含预编译器 cpp,c 语言编译器 gcc,汇编器 as 和连接器 ld
这个工具链中,还有用于处理二进制包的工具包binutils,整个工具链应该是 GCC+binutils+Glibc
为了编译在目标机上运行嵌入式 Linux 内核,首先我们必须编译目标平台的编译链,而这个链是存放在主机上,故名为交叉编译链
2 下载构建交叉编译链的工具及其补丁 Binutils-2
1 Busybox-1
0 GCC-4
3 GMP-4
4 MPFR-2
1 uClibc-0
1 制作交叉编译链 定义环境变量 定义 MYSYS 变量为嵌入式系统主目录变量、MYSYS_TARGET 变量为目标平台、MYSYS_HOST 为主机平台
使用 export 命令或者将此变量添加
bashrc 文件中
cat > ~/
bashrc