《信息安全系统设计基础》实验一 开发环境的熟悉
结对伙伴:20145205 博客链接
实验报告封面
实验内容与步骤
1、连接arm开发板
将arm开发板电源线接好,保持开发板开关处于闭合状态
再分别将串口线和网线与pc机连接好
2、建立超级终端
新建一个通信终端,取名为arm,如图:
在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制,如图:
3、启动实验平台
打开超级终端,打开arm机电源开关,等待一分钟后arm机的信息会显示在超级终端的窗口中,如图:
继续等待,直至出现如下图所示界面。输入ifconfig命令,记录下arm机的ip为:192.168.0.121,如图:
4、修改xp系统与redhat虚拟机的ip
将pc机的ip设为192.168.0.55,如图:
redhat虚拟机ip为192.168.0.234,如图:
使xp系统与redhat虚拟机的ip均与arm机的ip在同一网段(即IP为192.168.0.xx即可)
5、安装arm编译器
在pc机中“开始”、“运行”,输入虚拟机的ip192.168.0.234,如图:
输入用户名bc,密码123456。然后就可以访问虚拟机的文件,把所需文件解压缩拷贝到共享文件夹bc中。如图:
进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。如图:
6、配置环境变量
在虚拟机中使用 vi 修改 /root/.bash_profile。文件中的 PATH变量为 PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (因为该文件隐藏系统, 所以使用 ls 命令不可见)
存盘后执行: source /root/.bash_profile,则以后armv4l-unknow-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”(注意bc后面有空格)在超级终端中运行编译通过的hello可执行文件。
实验过程中遇到的问题及解决过程
问题一:实验箱的连接、进入虚拟机都顺利完成,顺利修改本地pc机和虚拟机IP使其位于同一网段,但是虚拟机中ipconfig
命令显示未安装,由于实验室无网络所以install未果,看不到IP地址是否修改,如何确定实验箱、虚拟机、pc连接成功?
解决过程:听取老师建议,想到用ping
指令检验三者是否能ping通,分别在pc上输入虚拟机IP以及实验箱IP均显示成功,在虚拟机上输入实验箱IP显示成功,说明IP修改成功。
问题二:在修改/root/.bash_profile中的bin时,将armv-41误打成4l,导致后面编译时显示该条命令未安装不能进行编译;
解决过程:重新用vi命令打开相关文件夹进行修改,并听取老师建议,在之后的输入中尽量使用Tab键自动补全命令减少这种没必要的出错;
问题三:在下载调试时直接输入./hello无法运行程序;
解决过程:在同学提醒下将命令加上/host,成功运行。
实验过程的理解
1、为什么需要交叉编译?如何安装交叉编译环境?
交叉编译可以在一个平台上生成另一个平台上的可执行代码、同一个体系结构可以运行不同的操作系统、同一个操作系统可以在不同的体系结构上运行
安装arm编译器的时候,先在PC机上访问共享文件夹,将所需文件解压缩后拷贝到共享文件夹中,然后在虚拟机中利用./install.sh命令安装好arm编译器
2、实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
实验箱、虚拟机Redhat、WinXP之间的IP需要在同一个网段;
在本地连接的属性中按照实验箱ip修改虚拟机Redhat的ip,在网络配置-以太网设备中修改pc机的ip;
因为在同一网段中三者才能互相通信;
3、实验中mount命令中每个选项什么意思?
完整的命令为mount -t nfs -o nolock 192.168.0.234:/root/bc /host
1.-t nfs指定文件系统的类型是nfs,nfs是网络文件系统
2.-o nolock描述设备的挂接方式,nolock是禁用文件锁
3.192.168.0.234:/home/bc /host是加载192.168.0.234中/home/bc文件到/host目录下
实验体会
在此次实验中,我们学习了如何搭建配置开发环境以运行可执行文件,第一次配置环境难免会有不熟练,相信以后几次实验中我们会做的更快更好,搭建好环境之后接下来的任务就变得简单了,我们此次实验已经完成了实验一和实验二,在实验四时直接使用交叉编译make显示出错,一直尝试解决,未果,最终我们决定用gcc自己手动编译,根据实验指导修改makefile文件,相信下一次我们可以完成实验四和五。