实验一、嵌入式系统开发环境熟悉

实验一、嵌入式系统开发环境熟悉

一、实验目的

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. 交叉编译

交叉编译(或交叉建立)是这样一种过程,它在一种机器结构下编译的软件将在另一种完全不同的机器结构下执行。一个常见的例子是在PC机上为运行在基于ARM、PowerPC 或MIPS的目标机的编译软件。幸运的是,GCC使得这一过程所面临的困难要比听起来小得多。GCC中的一般工具通常都是通过在命令行上调用命令(如gcc)来执行的。在使用交叉编译的情况下,这些工具将根据它编译的目标而命名。例如,要使用交叉工具链为ARM

机器编译简单的HelloWorld 程序,你可以运行如下所示的命令:使用如下命令编译并测试这个代码:arm-linux-gcc  –o  hello  hello.c。

4. arm-linux-gcc

arm-linux-gcc是基于ARM目标机的交叉编译软件。x86跟ARM所使用的指令集是不一样的,所以所需要的binutils肯定不一样;上面提到过gcc-core是依赖于binutils的,自然ARM跟x86所使用的gcc-core包也不一样;glibc 一个c 库,最终是以库的形式存在于编译器中,自然ARM所使用的glibc 库跟x86 同样也不一样,其它的依此类推。

四、实验内容

1. 参考《DYV-1 型嵌入式车载多媒体实验箱快速入门手册》,将实验箱与主机连起来,并配置实验箱IP地址,然后进行共享文件夹的挂载。       

2. 使用VIM编写计算n=1+2+3+…+100的和。

3. 在虚拟机Ubuntu中编译并执行该程序,查看结果。

4. 在虚拟机Ubuntu中使用交叉编译器编译该程序,然后在实验箱上运行。

5. 编写makefile文件进行编译该程序,然后在对应平台下运行。

五、实验结果及分析:

1. 请叙述几种不同Ubuntu的IP设置方法。

2. 请叙述实验箱系统挂载Ubuntu NFS 共享文件夹的步骤。

3. 请总结VIM 的工作模式类型及常用命令。

4. 若想编写一个程序,并且在实验箱里运行。完成该工作,主要分为以下几个步骤?


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值