1
4.1.3 搭建交叉开发环境
交叉开发是指先在一台通用PC上进行软件的编辑、编译与连接,然后下载到嵌入式设备中运行调试的开发过程。通用PC称为宿主机,嵌入式设备称为目标机。
交叉开发环境(Cross Development Environment)是指编译、链接和调试嵌入式应用软件的环境。它与运行嵌入式应用软件的环境有所不同,通常采用“宿主机——目标机”模式。
开放的交叉开发环境的典型代表是:GNU工具链。它能够支持X86、ARM、MIPS、PowerPC等多种处理器。
GNU交叉工具链
交叉编译器:如,arm-linux-gcc
交叉汇编器:如,arm-linux-as
交叉链接器:如,arm-linux-ld
用于处理可执行程序和库的一些基本工具:如,arm-linux-strip、arm-linux-ar、arm-linux-ranlib(相当于arm-linux-s)等。
交叉编译是指在一种平台上编译出能够在另一种平台(体系结构不同)上运行的程序。用来编译这种程序的编译器就叫做交叉编译器。
arm-linux-gcc作为基于ARM平台的编译器,其编译出来的程序可以在ARM平台上直接运行,这里选择的交叉编译器是gcc。gcc是符合ISO标准的C编译器,它在需要的时候调用其它组件(预处理器、汇编器、连接器)。gcc ≠ GCC
很多人把GCC看成只是一个C编译器,其实GCC是GNU Compiler Collection的简称,目前GCC可以支持C,C++,ADA,JAVA,Fortran,PASCAL等多种高级语言,GCC主要包括以下一些工具: cpp(预处理器), gcc(C编译器),g++(C++编译器)等编译器。
gcc识别的主要文件扩展名如下:
.c C语言代码
.C, .cc C++语言代码
.i 预处理后的C语言代码
.ii 预处理后的C++语言代码
.s, .S 汇编语言代码
.o 目标代码
.a 静态链接库(程序编译时使用)
.so 动态链接库(程序运行时使用)
GCC对C语言程序的处理如图所示。
下述内容用于实现任务描述4.D.1---搭建arm-linux-gcc交叉编译环境。具体步骤如下:
1.访问Window