交叉编译工具链
1. 交叉编译是什么?
本地编译:x86机器编译出x86上的代码,在x86机器上运行。
交叉编译:x86机器编译出arm上的代码,在arm机器上运行。
为何要交叉编译呢?
答:
- 嵌入式开发的CPU比较简单,本身无法搭载开发环境,有些甚至操作系统都没有。比如:Android软件,需要在x86架构电脑上编译,再下载到Android手机中运行,通常情况下,手机自己不能编译Android软件。
- 交叉编译可以使用高性能机器为低性能机器开发软件(包括开发裸机软件、系统级和应用级软件)
2. 交叉编译特点
- 必须使用专用的交叉编译工具链
- 由于可执行程序不能本地运行调试,因此必须配合一定的手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启动、网络共享等手段)将可执行程序下载到目标嵌入式设备上运行调试。
3. 提供交叉编译工具链的公司
3.1. Linaro
gcc-linaro-4.9.4-2017.