《嵌入式基础实验报告》由会员分享,可在线阅读,更多相关《嵌入式基础实验报告(5页珍藏版)》请在金锄头文库上搜索。
1、嵌入式基础实验报告Linux下编译环境的设置姓名:张燿丹学号:131012692 班级:13级网络工程二班一、实验目的1、熟悉嵌入式Linux开发坏境,学会基于UP-CUP IOT-4412-II型网关部分平台的Linux开 发环境的配置和使用2、利用arm-none-linux-gnueabi-gcc交叉编译器编译程序,使用基于NFS的挂载方式进行 实验,了解嵌入式开发的基本过程二、实验坏境1、硬件:UP-CUP IOT-4412-II型网关部分嵌入式实验平台,PC机Pentium 500以上,硬盘 40G以上,内存大于256M2, 软件:Vmware Workstation + Fedor
2、a Core 14 + 超级终端/Xshell + ARM-LINUX 交叉编译开 发环境三、实验内容1、本次实验使用Fedora 14操作系统环境,安装ARM-Linux的开发库及编译器。创建一个新 目录,并在其中编写hello.c和Makefile文件。2、学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发坏境的设置。将已 经编译好的文件通过NFS方式挂载到目标开发板上运行四、实验步骤实验目录:/UP-CUP441”SRC/exp/basic/Cortex/1、编译源程序(1)在宿主机端任意目录下建立工作目录CortexA9,实际光盘目录中已经给出本次实验所 需全面文件及代码
3、,存放在Cortex 录下。rootlocalhost # mkdir CortexA9 rootloca丄host # cd CoztexA9(2)编写程序源代码在Linux下的文本编辑器有许多,常用的是vim和Xwindow界面下的gedit等,我 们在开发过程中推荐使用vim,用户需要学习vim的操作方法,请参考相关书籍中的关于 vim的操作指南。Kdevelope、anjuta软件的界面与vc6.0类似,使用它们对于熟悉windows 环境下开发的用户更容易上手。实际的CortexA9.c源代码较简单,如下:#include main ()printf(x*nz, );printf (
4、 CortexA9 n); printf(x*nz, );return 0;我们可以是用下面的命令来编写CortexA9.c的源代码,进入CortexA9目录使用vim命令来 编辑代码:rootlocalhost Cortex# vim CortexA9c按“r或者勺进入编辑模式,将上面的代码录入进去,完成后按Esc键进入命令状态,再用 命令“shift+: ,输入wq回车保存并退出。这样我们便在当前目录卞建立了一个名为 CortexA9.c 的文件。(3) 编写 MakefileMakefile文件是在Linux系统下进行程序编译的规则文件,通过Makefile文件来指 定和规范程序编译和组
5、织的规则。Makefile文件的具体内容,用户可以参考本次实验目录下的Makefile中内容。rootlocalhost Cortex# cd /UP-CUP4412/SRC/exp/basic/Coztex/rootlocalhost Cortex# IsMakefile CortexA9 CortexA9 c CortexA9.oCC= arm-non e-li nu x-gnueabi-gccEXEC=CortexA9OBJS=CortexA9.oCFLAGS +=LDFLAGS+= - staticall:$(EXEC)$(EXEC):$(OBJS)$(CC) $(LDFLAGS) -
6、o $ $(OBJS)Makefile内容如卜:CC指明编译器OBJS目标文件列表CFLAGS编译参数LDFLAGS连接参数all编译主入门clean清除编译结果与上面编写CortexA9.c的过程类似,用vim来创建一个Makefile文件并将代码录入其中rootlocalhost Cortex # vim Makefile(4)编译应用程序在上面的步骤完成后,我们就可以在hello目录下运行“make来编译我们的程序了。 如果进行了修改,重新编译则运行:make clean makerootlocalhost Cortex #rootlocalhost Cortex #make clean
7、命令在第一次编译程序时候无需使用,在多次编译程序的时候可以用该命 令来清除上次编译程序过程中生成的中间文件。这样做可以避免一些非改动的make编译 错误提示。NFS挂载实验目录测试(1)启动UP-CUP IOT-4412-II型实验系统,连好网线、串II线。通过串II终端挂载宿主机 实验目录。在宿主机上启动NFS服务,并设置好共享的目录,具体配置请参照前面章节中 关于嵌入式Linux坏境开发环境的建立。在建立好NFS共享目录以后,我们就可以进入ARM串II终端建立开发 板与宿主PC机之间的通讯了。(2)进入串I终端的NFS共享实验目录。进A/mnt/nfs目录下的实验目录,运行刚刚编译好的Co
8、rtexA9程序,查看运行结果。rootUP-TECH nfs# cd /mnt/nfs/SRC/exp/basic/CortexA9/ rootUP-TECH Cortex# IsMakefile CortexA9 CortexA9.c CortexA9.o3、执行程序。执行程序用/表示执行当前目录下CortexA9程序。rootUP-TECH Cortex# /CrotexA9实验效果rootUP-TECH Cortex # /CortexA9 CortexA9五、总结通过本次试验,我们实现了 Linux与超级终端的互联。通过对NFS进行挂载, 实现了 ARM串丨1终端建立开发板与宿主PC机之间的通讯。在实验的过程中,遇到的最多的 问题是NFS挂载部分,最人的原因在于开发板与宿主PC机的链接和虚拟机的网络连接方式。