实验贡献:韩旭飞 刘一阳 李昊
实验报告贡献:李昊 刘一阳 韩旭飞

PART1

一、实验原理

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

二、实验内容与步骤

1.连接arm开发板

首先连接电源线,使开发板的开关处于闭合状态,再分别将串口线、并口线、网线和USB线与PC机连好。连接串口线时接左端的串口。

2.建立超级终端

新建一个通信终端,取名为arm。在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制

3.启动实验平台

先打开超级终端,再打开arm机电源开关。等arm机的信息显示在超级终端的窗口中。输入 ifconfig 命令,记录下arm机的ip

4.修改xp系统与redhat虚拟机的ip均与arm机的ip在同一网段。

xp系统的ip地址在本地连接的属性选项卡,Internet协议 (TCP/IP)选项中;Rad Hat的IP地址在"系统设置-网络-编辑-静态的IP地址"中设置,设置完成后重启虚拟机,IP才会生效。

5.安装arm编译器

通过PC机访问共享文件夹,将编译器拷贝到共享文件夹中,从而虚拟机也可以访问。安装解压后的文件。

6.配置环境变量

在虚拟机中使用 vi 修改/root/.bash_profile 文件中的 PATH 变量为PATH=PATH:HOME/bin:/opt/host/armv4l/bin/,存盘后执行: source /root/.bash_profile,则以后 armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。

7.建立.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后面要有空格,目的是将bc文件挂载到/host目录下,如果没有空格则表示一个子目录。)

PART2

实验目的与要求

    • 了解多线程程序设计的基本原理,学习 pthread 库函数的使用。
    • 了解在 linux 环境下串行程序设计的基本方法。
    • 掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用。学习使用多线程来完成串口的收发处理。
    • 熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用。使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程
      实验过程
      开发环境的配置
      1、连接arm开发板
      将arm开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、并口线和网线与pc机连接好。
      2、建立超级终端
      运行windows XP系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”。
      新建一个通信终端,取名为arm。在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制。
      3、启动实验平台
      打开超级终端,打开arm机电源开关。等待一分钟,arm机的信息会显示在超级终端的窗口中。
       继续等待,输入ifconfig命令,记录下arm机的ip
      4、修改xp系统与redhat虚拟机的ip,使得它们均与arm机的ip在同一网段。修改完IP,重启一下虚拟机,IP才能启作用。重启后在命令行中使用ifconfig确认修改正确
      5、安装arm编译器。在pc机中“开始”、“运行”,输入虚拟机的ip,输入用户名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 会自动搜索到,可以在终端上输入。
      验证实验代码
      1.将实验代码拷贝到共享文件夹中。 
      2、在虚拟机中编译代码。对于多线程相关的代码,编译时需要加-lpthread的库
       下载调试在超级终端中运行可执行文件pthread!
      运行可执行文件term。

20145220&20145209&20145309信息安全系统设计基础实验报告(1)的更多相关文章

  1. 20145220&20145209&20145309信息安全系统设计基础实验报告(5)

    20145220&20145209&20145309信息安全系统设计基础实验报告(5) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132249 ...

  2. 20145220&20145209&20145309信息安全系统设计基础实验报告(3)

    20145220&20145209&20145309信息安全系统设计基础实验报告(3) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132243 ...

  3. 20145220&20145209&20145309信息安全系统设计基础实验报告(4)

    20145220&20145209&20145309信息安全系统设计基础实验报告(4) 实验报告链接: http://www.cnblogs.com/zym0728/p/6132246 ...

  4. 20145220&20145209&20145309信息安全系统设计基础实验报告(2)

    20145220&20145209&20145309信息安全系统设计基础实验报告(2) 实验报告链接: http://www.cnblogs.com/zym0728/p/6083664 ...

  5. 20145209&20145309信息安全系统设计基础实验报告 (5)

    班级:1452 1453 姓名:20145309李昊 20415209刘一阳 20145220韩旭飞 实验日期:2016.12.1 时间:10:10-12:30 实验序号:5 实验目的: 掌握在 AR ...

  6. 20145209&20145309信息安全系统设计基础实验报告 (3)

    实验内容.步骤与体会: 实验过程的理解,实验指导书中知识点的理解. (1)为什么在双击了GIVEIO和JTAG驱动安装文件后还需要手动进行配置? 因为安装文件只是将驱动文件释放了出来,并没有在系统中将 ...

  7. 20145209&20145309信息安全系统设计基础实验报告 (4)

    实验步骤 阅读和理解源代码 demo_read,demo_write 函数完成驱动的读写接口功能,do_write 函数实现将用户写入的数据逆序排列,通过读取函数读取转换后的数据.这里只是演示接口的实 ...

  8. 20145215&20145307信息安全系统设计基础实验报告

    20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统 ...

  9. 信息安全系统设计基础实验一:Linux开发环境的配置和使用

    北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础    班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩:       指导教师:娄家鹏      ...

随机推荐

  1. Hibernate中的组合映射

    1.实体bean设计 car: public class Car { private int id; private String name; private Wheel wheel; set... ...

  2. 关于强制类型转换(c语言)

    因为今天看的代码中用到了结构体的强制类型转换,就很想了解一下结构体的强制类型转换是怎样的. 一个结构体如下: 在下面这段代码中rbuf->reqCmdBuf是一个空指针,首先将这个空指针赋值给一 ...

  3. windows8.1安装

    不小心下载了英文版的windows8.1的操作系统,要添加中文语言,结果遇到不少问题. 第一:安装中文语言包: 可以在控制面板-添加语言中添加,这个方法好像只能在线更新,那速度,不能忍.还可以下载离线 ...

  4. C# IList<T>转为DataTable

    public class WebUtil { /// <summary> /// 转换IList<T>为DataTable/// </summary> /// &l ...

  5. Mac下为我们开发的App制作gif动画演示(不仅仅针对开发者,想做gif图片的也可参考)

    趁着工作不忙,就闲着倒腾自己的事情,把自己写的一个完整App<丁丁印记>整理了一番,总结其中用到的技术和实现的功能,并想把一些用到的技术分享给各位工友们,因为我自学iOS开发得益于大家的分 ...

  6. php 未配置curl

    用到PHP的curl功能,发现服务器上的PHP并没有配置curl,进而查询PHP官方文档,得知编译PHP时需要带上 –with-curl参数,才能把curl模块编译进去.我现在PHP已经编译安装进服务 ...

  7. asp中cookie欺骗/注入原理与防范

     一直以来sql注入被广泛关注,也有专门的防注系统代码.发现,如果代码不严谨也会有cookie欺骗/注入的情况.原来, 防注入系统没有注意到 Cookies 的问题!这里以ASP为例,分析一下cook ...

  8. SVG 2D入门9 - 蒙板

    SVG支持的蒙板 SVG支持多种蒙板特效,使用这些特性,我们可以做出很多很炫的效果.至于中文中把mask叫做"蒙板"还是"遮罩"就不去区分了,这里都叫做蒙板吧. ...

  9. SAP财务常用数据源概览

    一. 0FI_GL_10总分类账:领先分类账余额 Delta Update : AIED After Images Marked for Deletion via Extractor (FI-GL/A ...

  10. C/C++ memmove 和 memcpy

    这两个函数用于拷贝字符串或者一段连续的内存,函数原型: void * memcpy ( void * destination, const void * source, size_t num ); v ...