北京电子科技学院(BESTI)
实 验 报 告
课程: 信息安全系统设计基础 班级: 1352班
姓名: 马悦 学号: 20135235 成绩:
指导教师: 娄嘉鹏 实验日期:2015.11.10
实验密级: 预习程度: 实验时间:15:30—18:00
仪器组次: 必修/选修:必修 实验序号:一
实验名称: 开发环境的熟悉
实验目的与要求:
1、熟悉linux开发环境
2、使用linux的armv4l-unknown-linux-gcc编译
3、编译,使用基于NFS方式的下载调试
4、了解嵌入式开发的基本过程
实验仪器:
名称 |
型号 |
数量 |
计算机 |
|
1 |
嵌入式开发平台 |
UP-NETARM2410-CL |
1 |
实验内容、步骤与体会:
一、实验内容
本次实验建立在掌握嵌入式开发平台使用方法和配置方法的基础上,要求使用windows xp,linux(red hat),arm三个系统;在linux系统中安装arm系统,然后利用arm平台完成linux系统中C语言源文件的编译,并在windows系统中执行生成的可执行文件。
二、实验步骤
连接arm开发板
建立超级终端
启动实验平台
如图
修改windows xp系统的ip使得它与arm机的ip在同一网段
在red hat中安装arm编译器
6.、配置环境变量
在虚拟机中使用“vi /root/.bashprofile”进入bashprofile文件(该文件为隐藏的系统文件,可以用ls -A查看);
将其中的 PATH 变量修改为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (也就是补充一个路径); 保存文件,然后后执行: source /root/.bash_profile,则以后 armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。
7、编写并编译hello.c文件
在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件(vi hello.c即可创建并编辑hello.c文件,编辑结束之后输入:wq保存并退出);
利用命令armv4l-unknown-linux-gcc hello.c -o hello对 hello.c 进行编译,生成 hello 可执行文件;
可以利用ls命令查看在bc文件夹中是否出现了hello.c及hello可执行文件。
8、下载调试
在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。输入命令“mount -t nfs -o nolock 192.168.0.234:/home/bc /host”(注意bc后面要有空格!)
在超级终端中运行编译通过的hello可执行文件。
三、实验中的疑问与解决方案
1、实验过程的理解,实验指导书中知识点的理解。
(1)为什么需要交叉编译?如何安装交叉编译环境?
答:<1>由于一般通用计算机拥有非常丰富的的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机来编译出目标机的可执行代码。
<2>先将安装包解压后放到共享文件夹中,在虚拟机中安装交叉编译环境并修改环境变量,在超级终端中将共享文件挂载好即可运行可执行文件。
(2)实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
答:实验箱、虚拟机、WinXP的IP必须处于同一网段。用ifconfig 命令查看实验箱的IP为:192.168.0.121,将pc机的ip设为192.168.0.55,redhat虚拟机ip设为192.168.0.234。这样它们之间就可以相互通信了。
(3)实验中mount命令中每个选项什么意思?
答:mount -t nfs -o nolock 192.168.0.234:/root/bc /host
“-t nfs”指定文件系统类型为文件网络共享类型,“-o nolock ”关闭文件锁,“192.168.0.234:”为要挂接的设备,“/root/bc /host”表示挂载设备中/root/bc目录下的文件到本机host文件夹中。
2、实验过程中遇到的问题以及解决方案。
(1)编译器安装问题及解决方案
答:安装arm编译器时,在pc机中无法访问虚拟机中的文件。考虑到实验箱,虚拟机和pc机可能并没有相通,于是查看pc机ip地址,发现设置错误,pc机的ip地址与虚拟机并没有处于同一网段,修改后问题得以解决,访问成功。
(2)Vim问题及解决方案
答:hello.c文件编辑好后,文件编译无法通过,于是vi进入文件,发现少了一个分号,加上分号后问题得以顺利解决。编辑hello.c文件时,无法退出,按Esc退出编辑模式,再:wq顺利退出。
(3)交叉编译问题及解决方案
答:在超级终端运行hello可执行文件时,无法显示结果。检查后发现并没有进入到hello文件所在的目录下,hello文件是被挂载到host文件夹下的,于是先输入命令cd /host,再输入./hello,文件运行成功。
四、实验体会
本次实验是信息安全系统设计基础的第一次实验,由于对实验设备不太了解以及对linux系统接触不多,实验前做了较多的准备,认真预习了实验步骤,所以实验进行地还是相对比较顺利的,当然也遇到了一些问题,但是经过小组的分析及讨论,最终问题都得以顺利解决。第一次实验相对来说比较简单,更多的是对设备的熟悉以及编程环境的搭建,通过本次实验我们对Linux下的编程有了更深的认识,为今后更深入的实验也打下了良好的基础!
原文:http://www.cnblogs.com/20135235my/p/4984665.html