20155217 20155236 20155324 《信息安全系统设计基础》实验一 开发环境的熟悉
20155217 20155236 20155324 《信息安全系统设计基础》实验一 开发环境的熟悉
实验内容
- 熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。
- 创建一个新目录,并在其中编写 hello.c 和MyOD 文件。学习在 Linux 下的编程和编译 过程,以及 ARM 开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。
实验步骤
建立 hello.c 文件并编译
- 在虚拟机中编写 hello.c 文件。
- 编译命令:
armv4l-unknown-linux-gcc hello.c -o hello
gcc hello.c -o linuxhello
连接 arm 开发板
- 将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、并口线和网线与 pc 机连接好。
建立超级终端
- 新建一个通信终端,取名为 arm。在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。另存为在桌面。
启动实验平台
- 打开超级终端,打开 arm 机电源开关,arm信息会显示在超级终端的窗口中。
- 继续等待,直至出现界面。输入 ifconfig 命令,记录下 arm 机的 ip 为:
192.168.0.230
。
保证XP和redhat虚拟机与arm试验箱在同一个网段
- 分别修改PC机中XP系统与redhat系统的IP
- 本次实验中将pc机的ip设为
192.168.0.55
,redhat虚拟机ip为192.168.0.232
。 - 注意:
- redhat虚拟机IP更改后须重启虚拟机才能达到预期;
- 该步骤是后续步骤能否实现的关键所在,只有将三者的IP设在同一个网段,才能正常的进行后续步骤,所以设置完毕后,需分别在
cmd
、Teminal
、超级终端
尝试连接(ping)其余两者的IP,只有互相连通,才能进行后续步骤。
安装 arm 编译器
- 在 pc 机中“开始”、“运行”,输入虚拟机的 ip
\\192.168.0.232
,输入用户名 linux,密码 1 然后确定,就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹 bc 中。 - 文件夹bc在此处的作用就是起到将主机与虚拟机共享连接的作用(前提是二者能互相ping通)
- 进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。
建立 hello.c 文件并编译
- 在虚拟机中编写 hello.c 文件。
- 编译命令:
armv4l-unknown-linux-gcc hello.c -o hello
gcc hello.c -o linuxhello
下载调试
- 在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。
- 输入命令运行 hello 可执行文件。
编译运行结果如下图所示:
MyOD的实现
因为之前编写过这个程序,所以我们把代码直接复制过来。
实验过程中遇到的问题及解决过程
我们之前用的是自己的笔记本电脑,但试了好几次无法ping通,虽然之前发现了有链接线插错,但是后来改正后,除了trun up100/100后并未出现之后的连通。所以我们换到了台式机,很多台式机的Vmware都有问题,找不到Ubuntu的路径于是我们最后找到了做完同学的电脑,用他们的重新做。
实验过程的理解
为什么需要交叉编译?如何安装交叉编译环境?
- 概念:指编译器在某一个平台下能够编译出另外一个平台下运行的程序,主要是为了多平台应用程序使用的
- 为什么:
- 有时目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;
- 有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;
- 有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。
- 如何安装:
- 先通过共享文件夹将编译工具拷贝到虚拟机中
- 在虚拟机中通过
./install.sh
命令安装好arm编译器 - 在为其配置好环境,就可以在虚拟机的终端中直接执行arm的编译指令了
实验箱、虚拟机Redhat、Windows之间的IP需要满足什么关系?如何配置?为什么?
- 三者IP之间必须满足在同一网段,只有这样才能在没有路由的前提下实现网络通信,无线连接,
实验箱、虚拟机Redhat、Windows之间的IP需要满足什么关系?如何配置?为什么?
- 三者IP之间必须满足在同一网段,只有这样才能在没有路由的前提下实现网络通信,无线连接,做到Redhat与Windows之间文件共享,Redhat与ARM实验箱之间交叉编译。
- 配置方式:
- 通过
ifconfig
获取ARM实验箱的IP - 将Redhat与Windows的IP配置与实验箱在同一个网段
- 注意:这里,需要参考子网掩码才好确定网络号和主机号,才能正确配置同一网段下的IP地址。
- 通过