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设在同一个网段,才能正常的进行后续步骤,所以设置完毕后,需分别在cmdTeminal超级终端尝试连接(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地址。

参考资料

原文地址:https://www.cnblogs.com/wang5324/p/7710820.html