信安系统设计基础实验一报告
北京电子科技学院(BESTI) 实 验 报 告
课程: 深入理解计算机系统 班级: 1353
姓名: 陈都 朱锂
学号: 20135328 20135319
成绩: 指导教师: 娄嘉鹏 实验日期: 11.10
实验密级: 预习程度:
实验时间: 15:30-17:20
仪器组次: 必修/选修: 必修 实验序号: 1
实验名称: 信息安全系统设计基础EXP1
实验目的与要求: 熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。使用 linux的 armv4l-unknown-linux-gcc编译,使用基于 NFS方式的下载调试,了解嵌入式开发的基本过程。
实验仪器:
联想电脑 1
Arm开发板 1
实验内容与步骤:
1. 连接 arm 开发板
将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线,并口线和网线与 pc 机连接好。
2. 建立超级终端
运行 windows XP 系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”。新建一个通信终端,取名为 arm。在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制,另存为在桌面。
3. 启动实验平台
打开超级终端,打开 arm 机电源开关。等待一分钟, arm 机的信息会显示在超级终端的窗口中。输入 ifconfig 命令,记录下 arm 机的 ip为: 192.168.0.121。
4. 修改 xp 系统与 redhat 虚拟机的 ip, 使得它们均与 arm 机的 ip 在同一网段。
在 pc机中的 xp系统中,本次实验中将 pc机的 ip设为 192.168.0.55,redhat虚拟机 ip为 192.168.0.234。修改完 IP, 重启一下虚拟机, IP 才能启作用。 重启后在命令行中使用 ifconfig 确认修改正确。
5. 安装 arm 编译器。
在 pc 机中“开始”、“运行”,输入虚拟机的 ip。 192.168.0.234,输入用户名 bc,密码 123456 。然后确定就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹 bc 中。进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。
6. 配置环境变量
在虚拟机中使用 vi 修改/root/.bash_profile 文件中的 PATH 变量为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/, 存盘后执行:source /root/.bash_profile,则以后armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。
7. 建立 hello.c 文件并编译
在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件。利用命令armv4l-unknown-linux-gcc 对 hello.c 进行编译,生成 hello 可执行文件。
8. 下载调试
在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。输入命令“mount -t nfs -o nolock 192.168.0.234:/home/bc /host”在超级终端中运行编译通过的 hello 可执行文件。
实验理解:
在实验中,实验箱、虚拟机Redhat、WinXP之间的IP需要设置在同一个网段下,这样他们才能够进行直接通信。
mount用法:
mount [-t vfstype] [-o options] device dir
- -t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。此处为:UNIX(LINUX) 文件网络共享:nfs
- -o options 主要用来描述设备或档案的挂接方式。此处为:-o nolock(nfs mount默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。解决方法:kill 文件锁(lockd)或者mount -o nolock)
- device 要挂接(mount)的设备。此处为:192.168.0.234:/home/bc
- dir设备在系统上的挂接点(mount point)。此处为:/host
参考资料:
http://blog.sina.com.cn/s/blog_8795b0970101hlzt.html
http://blog.sina.com.cn/s/blog_4ce992f40102v6jo.html
实验问题与解决:
1、在进行最初的启动实验平台的过程中,我们发现Arm开发板的信息始终无法与超级终端连通,后来发现我们的网线接触不良,并且插一根宽插口的电线,这些在配齐仪器后解决。
2、在进入虚拟机与pc机的共享文件夹时,我们本以为输入的账号密码就是虚拟机的账号密码,后来发现没反应。再次读实验书之后,发现是一个专门设置的账号密码(bc/123456)
3、在最后建立开发板与虚拟机之间的通信后,我们先没有找到/host目录,以为出了故障,后经老师点拨后,完成实验内容。
4、因为实验过程中中间步骤进行得较为顺利,而遇到问题时又比较突然,所以忘记在实验过程中进行截图了。
实验体会:
在这一次实验中,我们第一次学习了通过共享文件夹,在一个系统中使用特殊工具进行编译,然后在另一个系统中与外接设备连接,并且最终运行的交叉编译方法。因为操作系统兼容性的限制,有时候可能有些工具不能在我们通常工作所用的系统完成,但是通过这种方法,我们可以充分发挥虚拟机的作用,来完成原本pc机无法完成的工作。
并且,我们这次实验也接触到了开发板嵌入式编程的开发环境与初步操作流程,经过这一次实验,我们对这一领域的操作将更加熟练。