实验报告(实验一)

北京电子科技学院(BESTI)

             

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

姓名:王玥、刘浩晨                                                                    学号:20135232、20135318

成绩:                                   指导教师:娄嘉鹏                          实验日期: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 可执行文件。

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

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

解决方法:我们进入到文件夹中查看文件到底是否存在,发现解压后的文件夹armv4l-tools里面还有一个armv4l-tools文件夹,所以需要进入两次文件夹才能够找到install.sh。我们输入两次cd armv4l-tools后就成功了。

2.问题二:在超级终端中将共享文件夹挂载好后,建立开发板与虚拟机之间的通讯时,输入了“mount -t nfs -o nolock 192.168.0.234:/root/bc /host”命令发现在超级终端中运行 hello 可执行文件失败,显示not found。

解决方法:用ls查看了一下,没有生成hello.o文件,而是默认的执行文件名a.out,于是我们执行a.out,运行成功。

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

1.什么事交叉编译?为什么需要交叉编译?

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。交叉编译这个是和嵌入式系统的广泛发展同步的。需要交叉编译的原因有:a.目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;b.目的平台上的资源贫乏,无法运行我们所需要编译器;c.目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。而通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

2.实验中mount命令中每个选项什么意思?

一般来说是  “mount   -t    文件类型  文件名   加载的目录”, 这样的格式,你这里是挂载的nfs服务器上的目录。 192.168.1.19这台是nfs服务器端。挂载的是/nfs目录到本机的/mnt目录 。

实验体会:

通过本次实验我们小组对Linux开发环境有了一定的了解,学会了基于S3C2410的linux开发环境的配置和使用。学习了交叉编译的知识,并能够使用linux的armv41-unknown-linux-gcc对文件进行编译,了解了嵌入式开发的基本过程。通过这次实验我们组对所学的只是有了实践性的深入理解,也希望以后能够在实践中获得更多的收获。

时间: 2024-12-18 11:52:24

实验报告(实验一)的相关文章

山东大学 机器学习 实验报告 实验2 模式分类 上机练习

[17级的同辈们,这是我实验报告真实且全部的内容,求求求求你们,不要让我后悔提前发布 ╥﹏╥... .真的挺简单的,1天就能搞定,而且在书里的位置我都标注出来了,让我们来一起学习吧!!!( ̄▽ ̄)",当然错了也概不负责哈~~~~] 3.实验内容及说明 使用上面给出的三维数据: 1. 编写程序,对类 1 和类 2 中的 3 个特征 x i 分别求解最大似然估计的均值???和方差?? ?2. 2. 编写程序,处理二维数据的情形??(??)~??(??,??).对类 1 和类 2 中任意两个特征的组合

实验报告 实验2 固件设计

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                                                               班级: 1352班.1353班 姓名:王玥.刘浩晨                                                                    学号:20135232.20135318 成绩:                      

JAVA课程实验报告 实验二 JAVA面向对象程序设计

课程:Java程序设计  班级:1352  姓名:黄伟业  学号:20135315 成绩:             指导教师:娄嘉鹏    实验日期:2015.5.7 实验密级:         预习程度:         实验时间:15:50--20:50 仪器组次:         必修/选修: 选修            实验序号:2 实验目的: 1.掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了

实验报告 实验4 外设驱动程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                                                               班级: 1352班.1353班 姓名:王玥.刘浩晨                                                                    学号:20135318.20135232 成绩:                      

数据机构实验报告-实验三 二叉树基本操作的实现

实验三   二叉树基本操作的实现   l  实验目的 1.二叉树的基本操作 (1)掌握二叉树链表的结构和二叉排序树的建立过程. (2)掌握二叉树排序树的插入和删除操作. (3)加深对二叉树的理解,逐步培养解决实际问题的编程能力. 2.树的遍历和哈夫曼树 (1)掌握用递归方法实现二叉树遍历的操作. (2)掌握用非递归方法实现二叉树遍历的操作. (3)掌握建立Huffman树的操作. (4)加深对二叉树的理解,逐步培养解决实际问题的编程能力. l  实验内容 1.二叉树的基本操作 (一)基础题 (1

数据结构实验报告-实验四 图的构造与遍历

实验四   图的构造与遍历   l  实验目的 1.图的的定义和遍历 (1)掌握图的邻接矩阵.邻接表的表示方法. (2)掌握建立图的邻接矩阵的算法. (3)掌握建立图的邻接表的算法. (4)加深对图的理解,逐步培养解决实际问题的能力. l  实验内容 1.图的定义和遍历 (一)基础题 1.编写图基本操作函数: (1)CreateALGraph(ALGraph &G) 建立无向图的邻接表表示: (2)LocateVex(ALGraph &G,char v)图查找信息: (3)DFSTrave

数据结构实验报告-实验一 顺序表、单链表基本操作的实现

实验一    顺序表.单链表基本操作的实现   l  实验目的 1.顺序表 (1)掌握线性表的基本运算. (2)掌握顺序存储的概念,学会对顺序存储数据结构进行操作. (3)加深对顺序存储数据结构的理解,逐步培养解决实际问题的编程能力. l  实验内容 1. 顺序表 1.编写线性表基本操作函数: (1)InitList(LIST *L,int ms)初始化线性表: (2)InsertList(LIST *L,int item,int rc)向线性表的指定位置插入元素: (3)DeleteList1

数据结构实验报告-实验五 查找

实验五   查找   l  实验目的 1. 查找的基本概念 掌握在数组上进行各种查找的方法和算法. 深刻理解各种方法的特点,并能灵活运用. 加深对查找的理解,逐步培养解决实际问题的能力. l  实验内容 1.查找的基本概念 (一)基础题 1.编写各种查找方法的基本操作函数: (1)search1(int *k,int n,int key)无序线性表的顺序查找: (2)search2(int *k,int n,int key)有序线性表的顺序查找: (3)bin_search(int *k,int

JAVA课程实验报告 实验三 敏捷开发与XP实践

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉鹏             实验日期:2015.5.29 实验密级:         预习程度:                     实验时间:15:30--18:00 仪器组次:         必修/选修: 选修             实验序号:3 实验名称:实验三 敏捷开发与XP实践 实

Java课程实验报告 实验一 Java开发环境的熟悉

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩:            指导教师:娄嘉鹏  实验日期:2015.4.11 实验密级: 预习程度:  实验时间:19:30~21:50 仪器组次: 必修/选修:选修  实验序号:1 实验名称:             JAVA开发环境的熟悉 实验目的与要求: 1. 使用JDK编译.运行简单的Java程序. 2.在命令行和Eclipse下编辑.编译