北京电子科技学院(BESTI)

              

课程: 密码系统设计基础                                                               班级: 1352班

姓名:程涵、姬梦馨                                                                    学号:20135210、20135218

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

实验密级:                             预习程度:                                    实验时间:15:30——18:00

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

实验名称:  嵌入式Linux开发

实验目的与要求:熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用。使用linux的armv41-unknown-linux-gcc编译,使用基于NFS方式的下载调试了解嵌入式开发的基本过程。

实验仪器:

名称

型号

数量

PC机

Lenovo

1

嵌入式实验平台

UP-TECH S2410

1

一、实验内容:

本次实验使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器,创建一个新目录,并在其中编写hello.c和Makefile文件,学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置,下载已经编译好的文件到目标开发板上运行。

二、实验步骤:

1.连接 arm 开发板

将 arm 开发板电源线接好,保持开发板开关处于闭合状态。再分别将串口线、 并口线和网线与 pc 机连接好。

2.设置超级终端

运行 windows XP 系统下“开始”、“所有程序”、“附件”、“通讯”、 “超级终端”。新建一个通信终端,取名为 arm。

在属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制。另存为在桌面。

3.启动实验平台

打开超级终端,打开 arm 机电源开关。等待一分钟左右,arm 机的信息会显示在超级终端的窗口中。

继续等待,直至出现如下界面。输入 ifconfig 命令,记录下 arm 机的 ip为:192.168.0.121。

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

本次实验中将 pc 机的 ip 设为 192.168.0.55,redhat 虚拟机 ip 为 192.168.0.234。

  重启后确认:

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 会自动搜索到,可以在终端上输入。

7.建立 hello.c 文件并编译

在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件。利用命令armv4l-unknown-linux-gcc 对 hello.c 进行编译,生成可执行文件。

8.下载调试

在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。输入命令“mount -t nfs -o nolock 192.168.0.234:/root/bc /host”

在超级终端中运行编译通过的 hello 可执行文件。

三、遇到的问题与解决方法

问题一:超级终端运行后,没有出现信息

解决方法:更换了别的完成实验了的同学的开发板,实验顺利进行。

问题二:在把所需文件夹压缩拷贝到共享文件夹bc之后,进入虚拟机,在命令行输入./install.sh配置编译环境失败。

解决方法:输入两次cd armv4l-tools,因为解压文件夹在原文件夹里,导致文件深度不止一层。

四、知识点理解及实验体会

1.arm终端、虚拟机Redhat、WinXP之间IP必须设置在同一网段,才能够保证相互通信。

2.什么是交叉编译?为什么需要交叉编译?

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。交叉编译这个是和嵌入式系统的广泛发展同步的。需要交叉编译的原因有:

a.目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;

b.目的平台上的资源贫乏,无法运行我们所需要编译器;

c.目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。而通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

3.实验体会:

通过本次实验我们学会了基于S3C2410的linux开发环境的配置和使用。学习了交叉编译的知识,并能够使用linux的armv41-unknown-linux-gcc对文件进行编译,了解了嵌入式开发的基本过程。同时,我们也提高了实践动手能力。

信息安全系统设计基础实验一 20135210&20135218的更多相关文章

  1. 信息安全系统设计基础实验二 20135210&20135218

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                                          班级:1352 姓名 ...

  2. 信息安全系统设计基础实验四 20135210&20135218

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础          班级:   1352 姓名:程涵,姬梦馨 学号:20135210,20135218 ...

  3. 信息安全系统设计基础实验五 20135210&20135218

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础           班级: 1352 姓名:程涵,姬梦馨             学号:2013521 ...

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

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

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

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

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

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

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

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

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

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

  9. 信息安全系统设计基础实验一 20135211&20135216

    北京电子科技学院(BESTI) 实 验 报 告 封面 课程:信息安全系统设计基础              班级:1352           姓名:(按贡献大小排名)李行之 刘蔚然          ...

随机推荐

  1. 使用docker搭建lnmp环境

    Docker容器LNMP环境搭建 安装 制作镜像 启动并关联实例 安装 系统环境 硬件型号: ThinkPad T520 系统版本: ubuntu 14.04 CPU: i7 RAM: 8G 添加软件 ...

  2. nginx location匹配规则

    谢谢作者的分享精神,原文地址:http://www.nginx.cn/115.html location匹配命令 ~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹 ...

  3. 使用hibernate时出现 org.hibernate.HibernateException: Unable to get the default Bean Validation factory

    hibernate 在使用junit测试报错: org.hibernate.HibernateException: Unable to get the default Bean Validation ...

  4. 获取byte数组的实际使用长度

    背景:byte.length只能获取到初始化的byte数组长度,而不是实际使用的长度,因此想要获取到实际的使用长度只能靠其他方法实现. 方法一: public class ByteActualLeng ...

  5. Asp.net 页面访问模板页的属性

    首先 页面需要添加下面一段代码 <%@ MasterType VirtualPath="~/User/User.Master" %> 添加的位置如图 这样就可以在这个页 ...

  6. 关于PHP中Session文件过多的问题

    PHP的默认机制:每一次php请求,会有1/100的概率(默认值)触发“session回收”.如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了14 ...

  7. FAQ-Ubuntu12.04 15.04禁止移动介质自动播放

    网上有有很多关于Ubuntu10.04关闭移动介质自动播放的方法,包括在文件管理器里面设置或者使用gconf-editor,但是从12.04开始这两种方法都不再好用了,关于移动介质的处理方法被移到了S ...

  8. k-means算法初识

    基础知识: K-means聚类算法 聚类,简单地说就是把相似的东西分到一组.同 Classification (分类)不同,对于一个 classifier ,通常需要你告诉它“这个东西被分为某某类”. ...

  9. Mac/Linux 定时运行命令行

    想要开机运行的话可以通过 mac 自带的 Automator 将要运行的命令打包成一个app,用后在用户组的“登录时启动”列表里加上那个app. 但是想要定时运行就不能这么做了,要用上一个叫cront ...

  10. linux多线程同步pthread_cond_XXX条件变量的理解

    在linux多线程编程中,线程的执行顺序是不可预知的,但是有时候由于某些需求,需要多个线程在启动时按照一定的顺序执行,虽然可以使用一些比较简陋的做法,例如:如果有3个线程 ABC,要求执行顺序是A-- ...