北京电子科技学院(BESTI)
实 验 报 告
课程:深入理解计算机系统 班级: 1352
姓名:莫凡 潘俊洋
学号:20135225 20135230
成绩: 指导教师:娄嘉鹏 实验日期:2015/11/10
实验密级: 预习程度: 实验时间:3:30~6:00
仪器组次: 必修/选修:必修 实验序号:1
实验名称: 开发环境的熟悉
实验目的: 熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。使用Linux的armv4l-unknown-linux-gcc编译,
使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。
实验仪器:
名称 |
型号 |
数量 |
实验箱 |
UP-NETARM2410嵌入式 |
1 |
PC |
WinXP |
1 |
实验内容、步骤与体会:
实验内容:本次实验使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器。创建一个新目录,并在其中编写hello.c和Makefile文件。学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。
实验步骤:
1.连接 arm 开发板
将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、 并口线和网线与 pc 机连接好。
2.建立超级终端
运行 windows XP 系统下“开始”、“所有程序”、“附件”、“通讯”、 “超级终端”。
新建一个通信终端,取名为 arm。在属性对话框中,将波特率设为 115200,
数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。
3.启动实验平台
打开超级终端,打开 arm 机电源开关。等待一分钟,arm 机的信息会显示在
超级终端的窗口中。
继续等待,直至出现如图 6 所示界面。输入 ifconfig 命令,记录下 arm 机的 ip
为:192.168.0.121。
4.修改 xp 系统与 redhat 虚拟机的 ip,使得它们均与 arm 机的 ip 在同一网段。
本次实验中将 pc 机的 ip 设为 192.168.0.55,redhat 虚拟机 ip 为 192.168.0.234。
5.安装arm编译器
在pc机中运行,输入虚拟机ip 192.168.0.234 打开文件夹,访问虚拟机的文件,然后把所需文件armv4l拷贝到共享文件夹bc中。
进入虚拟机,在命令行中输入./install.sh 安装脚本会自动建立目录,配置编译环境。
6.配置环境变量虚拟机中使用vi 修改/root/.bash_profile 文件中的
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可执行文件。
实验体会:
(1)为什么需要交叉编译?如何安装交叉编译环境?
交叉编译就是在A机器上利用编译工具把代码生成可以再B机器上运行。交叉编译就是这个功能,因为如果你在电脑上生成的代码只是适合于电脑运行的代码,如果你放在一个开发板上,是不能运行的,因为开发板的硬件与电脑的硬件很不同,所以需要交叉编译工具来编译,使代码能在开发板上运行。安装方法在以上实验步骤5中已经说明
(2)实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
xp 系统与 redhat 虚拟机的 ip均需要与 arm 机的 ip 在同一网段。配置方法在以上实验步骤4中已经说明
(3)实验中mount命令中每个选项什么意思?
用mount命令进行挂载
一般形式 mount -t 文件类型 文件名 加载的目录
-t vfstype:需要mount的类型,如nfs等
-o options:主要用来描述设备或档案的挂接方式。
实验过程中遇到的问题以及解决方案。
(1)超级终端问题及解决方案
问题:连接超级终端和arm机时提示失败,无法显现信息
解决方案:将串口线接到串口0
(2)Vim问题及解决方案
无
(3)Linux命令问题及解决方案
问题:配置armv4l失败,环境变量设置失败
解决方案:指令输入错误,同时注意不要遗漏空格
(4)交叉编译问题及解决方案
问题:无法读取虚拟机的共享文件夹
解决方案:没有将虚拟机ip 地址和 pc的 ip地址设置到同一网段
通过实验步骤4完成设置