您的当前位置:首页正文

嵌入式开发环境搭建实验

2021-07-26 来源:意榕旅游网


合肥学院

嵌入式系统设计实验报告

(20 13 - 20 14第 2学期)

专业:

实验项目: 嵌入式开发环境搭建实验

实验时间: 2014 年 4 月 28 日

实验成员:

__________________________________

__________________________________

指导老师:

电子信息与电气工程系

2014年4月制

一、实验目的

1、了解嵌入式开发的软件工具

2、虚拟机VM的安装

3、ubuntu操作系统的安装

4、Linux下配置TFTP

5、配置NFS服务

6、实现简单应用程序开发

二、实验内容

首先安装VMware

三、实验设备

硬件:1、pc机

软件:1、虚拟机(VMware)

四、实验过程

1、 虚拟机的安装

下载虚拟机软件一步一步安装:

我们选择了自定义安装,对一些设置进行了自定义:

同意我们也设置了密码,有利于安全:

以上使我们的操作系统配置,由于不会有很多的内存需要,我们还是多设置了一些。

系统配置过程中:

Ubuntu 已经安装成功。

2、 搭建嵌入式交叉编译环境:

3、 Linux下配置TFTP:

4、 配置NFS服务:

5、 实现简单应用程序开发:

五、实验小结

本次实验主要是软件的安装与验证性的实验,自己搭建嵌入式开发环境,在实验中,我们初次体会了Linux下的操作环境,以前知识听过,却没有用过,而且我们也学会了虚拟机的安装,我不仅安装了ubuntu而且还装了windows xp,对于一些32位软件的安装还是比较好的。

本次实验中最令我印象深刻的就是错一字,全盘崩溃。又得重新来一次,既浪费时间,又影响我们的心情。但是就在这样的错误中我们学习的更加深刻。就如在交叉编译环境的搭建过程中,一个解压命令就出错了好多次,最后那条命令都没背出来了。当然我们经过长期的操作Linux,慢慢的也熟了一点,希望接下来的实验我们仍然可以很好的完成。

六、思考题

1、 Makefile是如何工作的?其中的宏定义分别是什么意思?

答:makefile是一个文本文件,用于描述程序源代码之间以及程序可执行代码与源代码之间的依赖关系。为了方便使用不同的编译器或者编译环境以及硬件环境,一些复杂的软件使用了大量的宏定义来代替诸如“gcc”这样的最基本的东西

2、 Make和Makefile之间的关系?

答:make一般主要被用来管理一个软件程序项目(用来完成大型软件的自动编译),但是它不仅仅可以用来管理软件程序,还可以做很多其他的事情,比如文件同步等。

makefile是被make使用的“描述”文件,它描述要被make所管理的项目中的文件间的关系(比如对于一个C程序项目来说,.h文件和.c文件之间的关系,.c和.o之间的关系等),和如何维护这个项目的状态(比如对于一个程序项目来说,就有编译可执行文件,产生文档,清除所有除源代码文件之外的文件等).

3、 GCC编译器的常用参数有哪些?它们的功能分别是什么?

答:(1)、-O 优化参数。后面可以跟数字表示优化级别-O0表示不优化,-O1,-O2,-O3优化程度依次递增。大部分平台最高级别是-O3,也就是说3以后的数字基本都没用。另外建议大家最高只用到-O2。大部分开源操作系统经过千锤百炼都是使用-O2参数编译的。优化级别开得太高对于调试不利。为了优化,编译器可能会打乱部分代码的顺序,造成我们单步跟踪的时候会发现在C源代码里乱跳。另外还有一个-Os表示为代码大小进行优化,用它可以生成尽量短小的机器码。

(2)、-E 表示仅仅对代码进行预处理不编译。也就是仅仅将头文件包含和宏定义展开。如果没

有用-o指定输出文件则将预处理结果输出到控制台上。

(3)、-c 表示仅仅汇编及编译代码,不进行链接。也就是将源代码编译成.o文件。

(4)、-S 表示仅仅汇编而不进行编译及链接。也就是将源代码翻译成汇编指令。gcc -S生成的文件阅读起来不如用objdump反编译.o文件生成的结果舒服。建议想分析汇编指令采用objdump命令反编译。

(5)、-o filename 指明输出文件名。一般配合-E -c -S三个命令使用。

4、 嵌入式系统定义和特点?

答:嵌入式系统定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

嵌入式系统特点:按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“嵌入性”、“专用性”与“计算机”。

(1)、“嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。

(2)、“计算机”是对象系统智能化控制的根本保证。随着单片机向MCU、SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。

(3)、“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。嵌入式系统的软、硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统。

5、 嵌入式系统硬件与软件有哪些部分组成?

答:嵌入式系统硬件组成:CPU:嵌入式处理器(ARM、MIPS等)、内存:微控制器内部或外部SDRAM芯片、存储设备:微控制器内部或外部Flash芯片、输入设备:按键、触摸屏等、输出设备:LCD、数码管等、接口:接口配置(板卡等)

嵌入式系统软件组成:引导代码:Bootloader引导,针对不同电路进行移植、操作系统:Linux等需要移植、驱动程序:每个设备都必须针对具体电路进行开发、协议栈:移植、开发环境:借助服务器进行交叉编译、仿真器。

因篇幅问题不能全部显示,请点此查看更多更全内容