北京电子科技学院(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开发板
- 领取试验箱之后,首先打开实验箱检查 电源线、网线、并口线、插口线 无缺失;然后卸除主机后的保护板,使得主机背后的插口方便与试验箱连接;
- 确保试验箱的开关处于off档位。将实验箱的网线、并口线分别与主机上的对应位置连接好(将主机上之前的网线拔出)。将电源线插在插线板上。将插口线一端插在arm板的端口0处,另一端插在主机对应位置。
-
建立超级终端
- 运行windows XP系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”。打开之后,程序会自动新建一个通信终端,在弹出的对话框中,将该终端直接命名为 arm(图标选择默认即可),其他设置无强制性要求,并点击“确定”。在之后弹出的属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,数据流控制设置为“无”。
- 如图所示:
-
启动实验平台
- 打开超级终端,打开arm机电源开关。等待一分钟,arm机的信息会显示在超级终端的窗口中。
- 继续等待,直至出现如图6所示界面。输入ifconfig命令,记录下arm机的ip为:192.168.0.121。
如图
-
修改windows xp系统的ip使得它与arm机的ip在同一网段
-
- 打开windows xp系统中的“控制面板”——“网络连接”——“本地连接”,双击查看本地连接的状态;点击“属性”键,在“常规”选项卡中双击出现的“Internet协议(TCP/IP)”,查看并修改本机ip(实验中设置的ip为192.168.0.55);
- 打开vmvare虚拟机平台,在“导入已有的虚拟机”选项中导入C盘下的red hat.vmi文件,进入linux环境。然后点击“从这里开始”——“系统设置”——“网络”(双击),在弹出的“网络配置”对话框中依次点击“编辑”——“设备”,进入“以太网服务”选项卡,在“手工设置ip”下方修改red hat 的ip(实验中设置的ip为192.168.0.234);
- 修改完IP,重启一下虚拟机,IP才能启作用。重启后在命令行中使用ifconfig确认 如图:
-
在red hat中安装arm编译器
- 回到xp系统,点击“开始”——“运行”,输入虚拟机的 ip:192.168.0.234,会弹出要求输入用户名以及password的对话框,输入用户名 bc,密码 123456 然后确定即可进入与虚拟机共享的文件夹(bc)处(Samba Server对话框);
- 把需要安装的、包含在armv4l-tools压缩包中的软件安装包解压缩到bc文件夹中(或者解压缩之后拷贝至此处),这时linux虚拟机就可以对该软件安装包进行操作了;
- 进入虚拟机,依次输入“cd /home/bc”(回车)和“cd armv4l-tools”(回车),就可以进入到含有install.sh的文件夹中。(这时可以输入ls命令查看现有文件目录,确定该路径下含有install.h文件)然后在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。如图:
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下的编程有了更深的认识,为今后更深入的实验也打下了良好的基础!