20135321余佳源、20135323符运锦----实验一:开发环境的熟悉
北京电子科技学院(BESTI)
实 验 报 告
课程:信息安全设计系统基础 班级:1353
姓名:余佳源、符运锦
学号:20135321、20135323
成绩: 指导教师: 娄嘉鹏 实验日期:2015.11.10
实验密级: 预习程度: 实验时间:15:30-18:00
仪器组次:21 必修/选修:必修 实验序号:1
实验名称:开发环境的熟悉
实验目的与要求:熟悉linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。使用linux的armv4l-unknow-linux-gcc编译,使用基于NFS方式下的下载调试,了解键入式开发的基本过程。
实验仪器:
名称 |
型号 |
数量 |
LENOVO |
1 |
|
ARM开发板 |
1 |
一、实验内容及步骤
1、嵌入式 Linux开发环境的建立
(1)连接arm开发板
将arm开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、并口线和网线与pc机连接好。
(2)建立超级终端
运行windows XP系统下"开始"、"所有程序"、"附件"、"通讯"、"超级终端"。新建一个通信终端,取名为arm。在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制。另存为在桌面。
(3)启动实验平台
打开超级终端,打开arm机电源开关。等待一分钟,arm机的信息会显示在超级终端的窗口中,记录下arm机的ip为:192.168.0.121。
(4)修改pc机与redhat虚拟机的ip
使得它们均与arm机的ip在同一网段。在pc机中命令行中输入ipconfig命令查看本机ip,虚拟机中输入ifconfig查看。本次实验中将pc机的ip设为192.168.0.55,redhat虚拟机ip为192.168.0.234。
(5)安装arm编译器。
在pc机中"开始"、"运行",输入虚拟机的ip\\192.168.0.234,输入用户名bc,密码123456然后确定,就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹中。进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。
2、嵌入式Linux开发
-
建立工作目录
-
编写程序源代码hello.c
-
编写Makefile
-
编译应用程序
-
下载调试
实验结果截图:
二、思考题
-
(1)为什么需要交叉编译?如何安装交叉编译环境?
答:因为想要在不同平台上运行同样的程序或执行同样的动作则需要该平台的支持,包括编译器自身的某些特征,而无论是在什么平台,都需要将高级计算机语言编写的代码编译成计算机可以识别和执行的二进制代码。
在本次实验中,嵌入式系统ARM平台的硬件配置相对于台式主机低很多,如果在ARM平台上进行本机编译则在资源上满足不了,其编译的工具链需要占用较大的存储空间。在本次实验中,需要将试验箱与主机连接,并使用linux的armv4l-unknow-linux-gcc工具编译,再通过pc端建立起的超级终端连接到目的平台,从而完成交叉编译的环境配置。
(2)实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
答:实验中虚拟机、WinXP、实验箱的IP需要在同一网段内。
WinXp通过->网络->本地连接->使用一下IP 设置当前IP。
虚拟机通过->系统设置->网络->编辑 设置当前IP。
因为只有在同网段才能和目的平台建立起连接
(3)实验中mount命令中每个选项什么意思?
答:文件系统挂载命令,其参数选项
-a 依照/etc/fsatb的内容装载所有相关的硬盘
-l 列出当前已挂载的文件系统名称、设备和挂载点
-t 将后面的设备以指定的格式装载到挂载点上
-f 用于排查错误 实际是挂载工程的模拟
三、遇到的问题以及解决方法
(1)无法配置超级终端
答:实验箱有问题,换了一个后实验可以进行。在连接完毕之后需要重启实验箱。
(2)超级终端问题及解决方案
答:我们是先打开虚拟机,后连接实验箱。当实验箱占用了主机的com1后,虚拟机会报错,说com1被占用。这种情况下只要重新启动一次虚拟机,主机就会分配给虚拟机另外的端口。
(3)Linux命令问题及解决方案
答: 我们按照实验指导书上的要求修改路径文件的时候,由于文中的字母“l”与数字“1”极为相像,改成了错误的文件路径,并且运行的时候也输入了错误的可执行文件名,导致系统找不到编译程序,这里花费了我们很长的时间。
(4)交叉编译问题及解决方案
答:在实验箱上运行编译好的可执行文件时,提示不存在该目录。进入到HOST目录下进行编译便解决此问题。
四、实验体会
本次实验是第一次LINUX实验,在本次实验中我学会了在LINUX环境下与ARM开发板实现交叉编译的过程。出现过各种各样的问题,但都跟我的队友一起成功解决。编译过程中出现了很多问题,对于这次实验让我们对编译有了更深的了解,希望我们在今后的实验中能够继续探索,积极地去解决各种问题。