北京电子科技学院(BESTI)
实 验 报 告
课程:深入理解计算机系统 班级:1352
姓名:贾瑗 于佳心
学号:20135236 20135206
成绩: 指导教师:娄嘉鹏 实验日期:2015.11.10
实验密级: 预习程度: 实验时间:15:30~18:00
仪器组次:1 必修/选修:必修 实验序号:1
实验名称: 信息安全系统设计基础实验一和实验二
实验目的与要求:
熟悉 linux 开发环境, 学会基于 S3C2410 的 linux 开发环境的配置和使用。使用 linux 的 armv4l-unknown-linux-gcc 编译,使用基于 NFS 方式的下载调试,了解嵌入式开发的基本过程
实验仪器:
名称 | 型号 | 数量 |
Arm开发板 | 1 | |
PC | 1 |
实验内容、步骤与体会:
- 实验步骤
- 连接arm开发板
- 建立超级连接
- 启动实验平台并记录arm机的IP地址:192.168.0.121
- 修改主机xp和Redhat的IP地址,使他们与arm机位于同一网段
主机xp:192.168.0.55
Redhat:192.168.0.233
- 安装arm编译器,在主机的命令行输入虚拟机的IP\\192.168.0.233共享文件到虚拟机,进入虚拟机,在命令行中输入./install.sh,安装脚本程序自动建立目录配置编译环境
- 配置环境变量: 在虚拟机中使用 vi 修改PATH变量为:PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/
存盘后执行:source /root/.bash_profile以后 armv4l-unknown-linux-gcc 自动搜索
- 建立hello.c文件并编译:在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件。利用命令armv4l-unknown-linux-gcc生成 hello 可执行文件
- 下载调试:在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。 输入命令"mount -t nfs -o nolock 192.168.0. 234:/home/bc /host"
二、实验结果
三、实验体会及问题
- 实验过程的理解,实验指导书中知识点的理解。
- 为什么需要交叉编译?如何安装交叉编译环境?
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。
有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所 需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。
如何安装交叉编译环境:
1、在Windows PC上,利用ARM 开发环境编译出针对ARM CPU的可执行代码。
2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。
(2)实验箱虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
答:所有设备的IP地址都应该在同一网段,这样是为了设备与设备直径能够相互通信和数据传送
(3)实验中mount命令中每个选项什么意思?
-t < 文件系统类型 > 指定设备的文件系统类型
nfs 网络文件系统
-o < 选项 > 指定挂载文件系统时的选项
- 实验过程中遇到的问题以及解决方案。
超级终端问题及解决方案
1、arm开发板的信息一开始并没有直接显示在超级终端的窗口上,重新启动一下arm的开关就恢复正常了
2、在修改xp与虚拟机的ip时刚开始错把虚拟机的ip地址都设置在了不一样的网段,认真看了指导书改了过来
3、Linux指令的掌握尚有不熟练的地方,在切换到底行模式的时候卡住了,后来通过翻查笔记想了起来
4、设置环境变量的时候把armv4l错输成arm4l导致无法进行,1和l太像了傻傻分不清楚。