浅析 Linux 下的 arm 交叉编译工具
什么是交叉编译工具
- 编译平台:是指该编译器是在哪个平台编译出来的
- 编译主机:编译器运行在哪个平台
- 目标平台:编译器为哪个平台产生代码
- 编译平台就是 X86,该编译器在 x86上运行
- 编译主机就是这台运行 Ubuntu Linux 的电脑
- 目标平台就是 arm 开发板
- 本地编译工具,通常发行版 Linux 都自带的编译工具,即目标平台与编译主机一样。
- 交叉编译工具工具,通常指 x86上编译生成其他平台(ARM, MIPS,PowerPC )代码的工具
- 交叉本地编译工具,通常指 x86上编译在目标平台上运行产生目标平台代码的工具,例如在 arm 开发板上编译 arm 程序
工具链有哪些模块
Binutils
binutils 是 GNU项目的一部分,也是编译器的第一个模块,它提供了两个非常重要的工具:
- as 汇编器,将汇编代码变成机器码
- ld 链接器,将编译生成的目标文件链接成库或者可执行文件
编译器
C 库
调试器
arm 编译器
GNU arm 编译器
编译的步骤
- 下载 binutils
- 下载 gcc,不建议下载gcc-core,下载包含全部的包。
- 下载 c库 newlib,glibc
- 下载 linux内核,用gcc-core需要,下载gcc全部的包不需要,gcc全部的包,包含了头文件。建议下载gcc全部的包。
arm-linux-gcc 和 arm-elf-gcc 的区别
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。