• 20144303 20145239《信息安全系统设计基础》实验一 开发环境的熟悉


         

    一、实验原理

    • 交叉编译,就是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。

    二、实验内容与步骤

    第一个实验

    1、连接 arm 开发板
    将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、
    并口线和网线与 pc 机连接好。
    2、建立超级终端
    运行 windows XP 系统下“开始”、“所有程序”、“附件”、“通讯”、
    “超级终端”。
    新建一个通信终端,取名为 arm。在属性对话框中,将波特率设为 115200,
    数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。另存为在桌面。
    3、启动实验平台
    打开超级终端,打开 arm 机电源开关。等待一分钟,arm 机的信息会显示在
    超级终端的窗口中。
    继续等待,直至出现如图 6 所示界面。输入 ifconfig 命令,记录下 arm 机的 ip
    为:192.168.0.255。


    4、修改 xp 系统与 redhat 虚拟机的 ip,使得它们均与 arm 机的 ip 在同一网段。
    修改完 IP,重启一下虚拟机,IP 才能启作用。重启后在命令行中使用 ifconfig 确认修改正确。


    5、安装 arm 编译器。
    在 pc 机中“开始”、“运行”,输入虚拟机的 ip。192.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-unknown-linux-gcc 会自动搜索到,可以在终端上输入。注意空格!

    • 这个实验成功的关键是要让xp,arm,red hat三个系统的ip的前三位一致,即要在同一网段内,配置完成检查一下:


    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 可执行文件。

    三、实验中遇到的问题

    问题一:

    在利用./install.sh命令安装arm编译器时,虽然我们已经使用了root权限登陆,然而还是遇到了权限不够的问题:

    在重新设置了几次权限并重启之后依然无法安装,于是我们向娄老师求助,娄老师使用了一行代码便解决了我们的问题,令我们目瞪口呆:

    回来后,我们仔细学习了这行指令的用法:

    文件/目录权限设置命令:chmod

    这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:

    用包含字母和操作符表达式的文字设定法

    其语法格式为:chmod [who] [opt] [mode] 文件/目录名

    其中who表示对象,是以下字母中的一个或组合:

    u:表示文件所有者
    g:表示同组用户
    o:表示其它用户
    a:表示所有用户
    opt则是代表操作,可以为:
    +:添加某个权限
    -:取消某个权限
    =:赋予给定的权限,并取消原有的权限
    而mode则代表权限:
    r:可读
    w:可写 x:可执行

    问题二:

    遇到的第二个问题是在超级终端编译时出现了如下问题:

    经过分析之后我们认为应该是NFS设置出了问题,果然我们误删了一个文件夹,加上后便解决了这个问题。



  • 相关阅读:
    微信公众平台开发入门教程
    Android中自定义View和自定义动画
    asp.net实现大视频上传
    网页大文件上传解决方案
    php大文件上传解决方案
    asp.net大文件上传解决方案
    asp.net上传超大文件
    JSP上传整个文件夹
    超大文件上传方案(PHP)
    超大文件上传方案(ASP.NET)
  • 原文地址:https://www.cnblogs.com/dwc929210354/p/6035960.html
Copyright © 2020-2023  润新知