北京电子科技学院(BESTI)

             

课程:信息安全系统设计基础                     班级: 201352

姓名:池彬宁 贺邦

学号:20135212 20135208

成绩:             指导教师:   娄嘉鹏  实验日期:2015.11.10

实验密级:         预习程度:             实验时间:15:30~18:20

仪器组次:          必修/选修:       必修          实验序号:1

实验名称:基于 S3C2410 的 linux 开发环境的配置和使用

实验目的与要求:1.熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。

2.使用linux的armv4l-unknown-linux-gcc编译

3.使用基于NFS方式的下载调试

4.了解嵌入式开发的基本过程

实验仪器:

名称

型号

数量

ARM开发板

UP-NETARM2410-CL

1

PC

Windows Xp

1

一、实验内容:

1.领取arm开发板后,将电源线、连接串口线、网线连接好。

2.建立超级终端:

开始→所有程序→附件→通讯→超级终端(HyperTerminal)

新建一个通信终端,填写名称(arm),在接下来填出的窗口中,依次填入115200(每秒位数)、8(数据位)、无(奇偶校验)、1(停止位)、无(数据流控制)。如下:

3.启动实验平台

打开实验箱的电源(拨动开关),输入boot,进入Linux系统,出现以下内容,注意记录本地ip:192.168.0.121。

4.修改xp系统的ip地址:

右键网上邻居,找到本地连接,右键->属性->Internet协议->属性,将ip设置为192.168.0.123,确定完成配置。

5.修改虚拟机Red Hat的ip地址:

进入Red Hat虚拟机系统,用户名bc,密码123456。

点击“从这里开始”->系统设置->网络->编辑->在地址处填入192.168.0.122->确认完成配置,并重启虚拟机。

6.安装ARM编译器

在pc机上点击开始->运行,输入虚拟机的ip地址“\\192.168.0.122”在弹出的窗口中输入用户名bc,密码123456,然后确定即可访问虚拟机中的文件。

将armv4l-tools拷贝至该文件夹中。

在虚拟机中调用终端,输入cd /home/bc进入用户bc的目录。

cd armv4l-tools/ 进入armv-tools文件夹。

./install.sh进行安装。

7.配置环境变量

虚拟机调用终端,输入命令vi /root/.bash_profile。

将文件中PATH变量改为

PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/。

保存后,在终端中输入命令source /root/,bash_profile即可完成配置。

8.建立c文件并编译

虚拟机进入文件夹/root/bc。

生成hello.c文件,使用vi hello.c进行编写。

代码功能为输出“20135208 20135212 hello world!”。

使用命令armv4l-unknown-linux-gcc  hello.c –o hello生成可执行文件。

9.下载调试

输入命令mount - - t nfs - - o nolock 192.168.0. 122 :/ home /bc /host

用以建立开发板和虚拟机之间的通讯。

输入cd /host进入host目录。

输入./hello即可运行hello.c代码

结果出现“20135208 20135212 hello world!”,实验成功。

二、实验原理理解

1.本实验使用交叉编译的原因:

交叉编译就是在一个平台上生成另一个平台上的可执行代码。

由于xp、linux系统运用的处理器与ARM运用的处理器不同,

不能够执行相同的c语言代码。为了能在ARM中运行c语言代

码,就可以运用交叉编译,在linux系统中生成ARM可执行文件     后,在ARM系统中执行文件。

2.实验箱、虚拟机Redhat、WinXp之间的IP需要在同一个网段的    原因:

由于本次运用的网络环境仅为ARM开发板和PC电脑之间的 连接,仅有令它们处在同一个网段,才可以实现数据的互通,从  而相互之间通过共享文件夹来传递文件。

3.mount命令:

mount命令为linux的挂载命令,用于挂接光盘映像文档、移 动硬盘、U盘、Windows和NFS网络共享。

命令格式:

mount [-t vfstype] [-o options] device dir

mount - - t nfs - - o nolock 192.168.0. 234 :/ home /bc /host

-t vfstype 指定文档系统的类型,nfs表示Linux文档网络共享。

-o options 描述设备的挂接方式。nolock表示文件无锁。

device 要挂接的设备 192.168.0.122:/home/bc为要连接的设备

dir 系统上的挂接点 /host为挂接点,所下载的文件会在此目            录中。

三、实验过程中遇到的问题以及解决方案

1.ARM机开启后,无法与PC连接:

串口线在ARM开发板上连错了端口,应该连接0端口。

2.虚拟机修改好ip后,PC未能访问其共享文件夹:

通过查看虚拟机的ip发现ip并未改变,通过重启后,发现配      置成功,即问题所在是未重启虚拟机使ip修改配置生效。

3.虚拟机生成可执行文件后,超级终端查找不到该文件:

一开始默认地以为会直接出现在超级终端的默认目录中,最后    发现应该进入host文件夹,在里面发现了可执行文件,最终完成 了实验。

四、实验体会:

本实验主要考察PC与ARM机连接、建立超级终端以及在超级终端中对程序进行编译。由于第一次接触ARM机,所以连接时浪费过多时间,但进行挂载和编译阶段很顺利没出现什么问题。通过本次实验,了解和练习了mount挂载命令的使用,收货颇多。

20135208 20135212 LINUX第一次实验报告的更多相关文章

  1. linux第一次实验报告

    http://wwwcnblogs.com/20135228guoyao/4964477.html

  2. 20145330《Java程序设计》第一次实验报告

    20145330<Java程序设计>第一次实验报告 实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...

  3. 20155339《java程序设计》第一次实验报告

    20155339<java程序设计>第一次实验报告 实验一 java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序: 2.使用IDEA编辑.编译.运行.调试java程 ...

  4. 20145320《Java程序设计》第一次实验报告

    20145320<Java程序设计>第一次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 18: ...

  5. 20145103JAVA第一次实验报告

    20145103<Java程序设计>第一次实验报告 实验内容及其步骤 一.命令行下java程序开发 建立一个java文件,然后在命令行中,对程序进行javac编译,就生成了.class文件 ...

  6. 20145312《Java第一次实验报告》

    20145312<Java第一次实验报告> Java开发环境的熟悉(Windows+Idea) 一.实验内容 使用Idea编辑.编译.运行.调试Java程序. 使用JDK编译.运行简单的J ...

  7. 20145240 《Java程序设计》第一次实验报告

    20145240 <Java程序设计>第一次实验报告 实验内容 一.命令行下java程序开发 1.建立Code目录,输入mkdir 20145240命令建立实验目录,并使用dir命令查看目 ...

  8. 20165210 Java第一次实验报告

    20165210 第一次实验报告 实验内容 建立目录运行简单的Java程序 建立自己学号的目录 在上个目录下建立src,bin等目录 Javac,Java的执行在学号目录下 IDEA的调试与设置断点 ...

  9. 第一次实验报告:使用Packet Tracer分析HTTP数据包

    目录 1 实验目的 2 实验内容 3. 实验报告 第一次实验报告:使用Packet Tracer分析HTTP数据包 1 实验目的 熟练使用Packet Tracer工具.分析抓到的HTTP数据包,深入 ...

随机推荐

  1. 敏捷软件开发(1)--- STATE 模式

    如果状态在运行过程中,不停的切换和改变,我们怎么办? 状态的迁移是我们生活和工程中非常普遍的一个概念.于是在数学上有一种理论来分析和解决这个问题. 有限状态机理论是一个非常成熟的理论,所有动作和流程的 ...

  2. Linux线程学习(一)

    一.Linux进程与线程概述 进程与线程 为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间.不同的线程可以存取内存中的同一个变量.所以,程序中的所有线程都可 ...

  3. JavaScript Patterns 3.4 Array Literal

    Array Literal Syntax To avoid potential errors when creating dynamic arrays at runtime, it's much sa ...

  4. 关于点击ztree的节点将页面生成到easyui的新增选项卡(easyui-tabs)时,总是在浏览器中生成一个新的页面的问题

    最近的项目中用到了easyui,还有ztree菜单.在这里将我遇到的一些问题写出来算是做个笔记吧. 这是我头一次在博客园里分享代码,我的处女作,写的不好的地方还望各位见谅! 由于很久没有写过前台的东西 ...

  5. [转]angularjs 设置全局变量的3种方法

    本文转自:http://blog.51yip.com/jsjquery/1601.html angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是 ...

  6. HBase 专题技术收录

    HBase系列: 博客地址:http://www.cnblogs.com/panfeng412/tag/HBase/ 技术专题文章: HBase中MVCC的实现机制及应用情况 HBase在单Colum ...

  7. POJ 1066 Treasure Hunt --几何,线段相交

    题意: 正方形的房子,给一些墙,墙在区域内是封闭的,给你人的坐标,每穿过一道墙需要一把钥匙,问走出正方形需要多少把钥匙. 解法: 因为墙是封闭的,所以绕路也不会减少通过的墙的个数,还不如不绕路走直线, ...

  8. Redis 一二事 - 在spring中使用jedis 连接调试单机redis以及集群redis

    Redis真是好,其中的键值用起来真心强大啊有木有, 之前的文章讲过搭建了redis集群 那么咋们该如何调用单机版的redis以及集群版的redis来使用缓存服务呢? 先讲讲单机版的,单机版redis ...

  9. .NET深入 c#数据类型2

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. leetcode database题目

    LeetCode有10道SQL的题目,最近学习SQL语言,顺便刷题强化一下, 说实话刷完SQL学习指南这本书,不是很难,上面的例子 跟语法规则我都能理解透, 实际中来做一些比较难的业务逻辑题,却一下子 ...