一、实验目的
1. 熟悉嵌入式开发环境, 掌握实验箱结构及连线方法。
2. 熟悉Ubuntu 系统进行嵌入式Linux 开发的基本环境配置方法。
3. 熟悉arm-linux-gcc交叉编译器的使用方法。
4. 熟悉VIM的使用方法。
二、实验基本要求
1. 熟悉实验箱与主机连接的方法,掌握Ubuntu中IP地址的配置方法以及挂载共享文件夹的方法。
2. 学会使用VIM编写程序。
3. 掌握在虚拟机Ubuntu中编译并执行程序的方法。
4. 掌握在虚拟机Ubuntu中使用交叉编译器编译程序并在实验箱上运行的方法。
5. 掌握编写makefile文件进行编译程序并在对应平台下运行的方法。
三、实验原理
1.GCC简介
GNU Compiler Collection,通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持C语言编译,还支持C++,Ada,Objective C等许多语言。另外GCC对硬件平台的支持,可以所无所不在,它不仅支持X86 处理器架构, 还支持ARM, Motorola68000, Motorola8800, AtmelAVR, MIPS等处理器架构。
2. GCC的组成结构
GCC内部结构主要由Binutils、gcc-core、Glibc等软件包组成。Binutils:它是一组开发工具,包括连接器,汇编器和其他用于目标文件和档案的工具。关于Binutils的介绍可以参考Binutils简单介绍。这个软件包依赖于不同的目标机的平台。因为不同目标机的指令集是不一样的,比如arm跟x86就不一样。
gcc-core:顾明之意是GCC的核心部分,这部分是只包含c的编译器及公共部分,而对其他语言(C++、Ada等)的支持包需要另外安装,这也是GCC为何如此强大的重要原因。gcc-core依赖于Binutils。
Glibc:包含了主要的c库,这个库提供了基本的例程,用于分配内存,搜索目录,读写文件,字符串处理等等。kernel和bootloader 不需要这个库的支持。
3. 交叉编译
交叉编译(或交叉建立)是这样一种过程,它在一种机器结构下编译的软件将在另一种完全不同的机器结构下