20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

时间:2023-01-20 10:52:29

20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

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

班级:1452

姓名:(按贡献大小排名)刘士嘉 张晓涵

学号:(按贡献大小排名)20145240 20145218

指导教师:娄嘉鹏

实验日期:2016.11.3

实验时间:10:00-12:30

实验序号:1

实验目的与要求:

1.熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。

2.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。

3.正确使用连接线等实验仪器,并注意保护实验箱。实验结束之后将实验箱送回。

一、实验原理

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

二、实验内容与步骤

1.连接arm开发板

  • 取试验箱之后,首先打开实验箱检查 电源线、网线、并口线、插口线 无缺失;然后卸除主机后的保护板,使得主机背后的插口方便与试验箱连接;
  • 确保试验箱的开关处于off档位。将实验箱的网线、并口线分别与主机上的对应位置连接好(将主机上之前的网线拔出)。将电源线插在插线板上。将插口线一端插在arm板的端口0处,另一端插在主机对应位置。

2.建立超级终端

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

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

3.启动实验平台

  • 在上述设定完成之后,即可打开平台开关(开关由off拨至on)。在arm-超级端对话框中立即显示连接信息(此处等待信息显示的时间视机器而定,有的小组机器连接之后等待时间较长);

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

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

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

4.修改windows xp系统的ip使得它与arm机的ip在同一网段

  • 打开windows xp系统中的“控制面板”——“网络连接”——“本地连接”,双击查看本地连接的状态;点击“属性”键,在“常规”选项卡中双击出现的“Internet协议(TCP/IP)”,查看并修改本机ip(实验中设置的ip为192.168.0.55);

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

  • 打开vmvare虚拟机平台,在“导入已有的虚拟机”选项中导入C盘下的red hat.vmi文件,进入linux环境。然后点击“从这里开始”——“系统设置”——“网络”(双击),在弹出的“网络配置”对话框中依次点击“编辑”——“设备”,进入“以太网服务”选项卡,在“手工设置ip”下方修改red hat 的ip(实验中设置的ip为192.168.0.234);

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

  • 修改完 IP,重启一下虚拟机,IP 才能启作用。重启后在命令行中使用 ifconfig 确认 。(重启按钮下图所示,在本次实验中,第一次点击重启并没有成功,ip仍未改动,只得再点击一次重启ip才改正成功,所以实验中一定要在命令行中使用ifconfig确认ip

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

(IP确认修改成功)

5.在red hat中安装arm编译器

  • 回到xp系统,点击“开始”——“运行”,输入虚拟机的 ip:\192.168.0.234,会弹出要求输入用户名以及password的对话框,输入用户名 bc,密码 123456 然后确定即可进入与虚拟机共享的文件夹(bc)处(Samba Server对话框);

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

  • 把需要安装的、包含在armv4l-tools压缩包中的软件安装包解压缩到bc文件夹中(或者解压缩之后拷贝至此处),这时linux虚拟机就可以对该软件安装包进行操作了;

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉(正在拷贝所需文件)

  • 进入虚拟机,依次输入“cd /home/bc”(回车)和“cd armv4l-tools”(回车),就可以进入到含有install.sh的文件夹中。(这时可以输入ls命令查看现有文件目录,确定该路径下含有install.h文件)然后在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。

其实我们只要进到arm4l-tools这个文件夹再输入指令即可,所以要熟练运用cd指令。

20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

6.配置环境变量

  • 在虚拟机中使用“vi /root/.bashprofile”进入bashprofile文件(该文件为隐藏的系统文件,可以用ls -A查看);

  • 将其中的 PATH 变量修改为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (也就是补充一个路径);

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

  • 保存文件,然后后执行: source /root/.bash_profile,则以后 armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。

7.编写并编译文件

  • 在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件(vi hello.c即可创建并编辑hello.c文件,编辑结束之后输入:wq保存并退出);

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

  • 利用命令armv4l-unknown-linux-gcc hello.c -o hello对 hello.c 进行编译,生成 hello 可执行文件;

  • 可以利用ls命令查看在bc文件夹中是否出现了hello.c及hello可执行文件。

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

(由图可得,hello.c编译成功)

8.下载调试

  • 在xp环境的超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯(在之前的步骤中已经完成了挂载,此处只需要在arm命令行中用ls命令检查以下hello.c和hello文件是否在当前系统的bc文件夹中);
  • 在arm命令行中输入命令“mount -t nfs -o nolock 192.168.0.234:/home/bc(空格)/host”即可完成下载;
  • 输入./hello命令执行hello文件。

    20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

三、实验过程及知识点理解

1.为什么要让xp,arm,red hat三个系统的ip的前三位一致?

  • 在本次实验中,只有在同一个局域网内的系统,才能够互相传递数据;所以要把需要互相传递数据的三个系统的ip配置到同一网段内。根据三个系统的子网掩码都是255.255.255.0(意味着每个ip地址前三个十进制段都是标识的网段),自然要把三个系统的ip修改为前三段一致的。

2.在属性对话框中,“将特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,无数据流控制”的原因是什么?

  • 单片机的波特率必须和PC的波特率一致才能接收正确,100000不是PC的标准波特率。数据位设为8也是同样的道理,都是为了正确传输数据,若单片机设置和PC机不匹配,则会导致乱码及数据丢失。

3.arm机的作用是什么?

  • arm本质上是一种linux嵌入式开发平台;主机在与之相连后,通过下载有关的软件(比如超级终端配套软件)实现通过主机对arm板的操作。这套开发系统(包括arm机与主机,即宿主机共同组成)的原理如下:运行 Linux 的 PC(宿主机)开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码(这种可执行代码并不能在宿主机上执行,而只能在目标板上执行),然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等, 具体使用哪种调试方法可以根据目标机处理器提供的支持作出选择。

四、实验过程难点

1.关于arm机无法连接xp系统的问题

  • 在实验过程中我们发现有很的小组无法正确连接arm机与主机,主要问题就是网线的问题,我们需要将主机上的网线拔掉,将arm和主机通过网线连接,可能很多同学看到主机上有网线就没有管arm机上的网线了。

2.关于第5步中输入虚拟机的 ip:\192.168.0.234之后显示“找不到此网路路径”的问题

  • 发生这种情况,一定是网络连接有问题。首先检查了网线连接确认无误之后,再对arm机、linux虚拟机和xp的ip分别进行了检验。很可能是是在配置xp系统的ip的时候发生了问题:xp系统配置ip的时候,依次点开了若干对话框;在配置完ip之后,要依次点击确定并关闭对话框,才使得新修改的ip生效。(这里很多人在配置完成后都随手叉掉,最后也不知道是哪里出了问题,所以一定要点击确定

3.在编译hello.c的时候提示“not found”?

  • 出现这样的问题,是在修改PATH环境变量路径的时候没有修改成功。解决方法有两个:
再次进入bash_profile文件,修改并保存路径;
直接在GCC编译的时候在hello.c前面加上路径。

20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA)

    20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序 ...

  7. 20145224&20145238《信息安全系统设计基础》实验一 开发环境的熟悉

    20145224陈颢文20145238荆玉茗 <信息安全系统设计基础>第一次实验报告 课程:信息安全系统设计基础 班级: 1452 姓名:荆玉茗 陈颢文 学号:20145238 20145 ...

  8. 20145227&amp&semi;20145201 《信息安全系统设计基础》实验一 开发环境的熟悉

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名:李子璇 鄢曼君 学号:20145201 20145227 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...

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

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

随机推荐

  1. 《Entity Framework 6 Recipes》中文翻译系列 &lpar;8&rpar; -----第二章 实体数据建模基础之继承关系映射TPT

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-8 Table per Type Inheritance 建模 问题 你有这样一 ...

  2. 时间js转换方法Date&lpar;&quot&semi;149&period;&period;&period;&quot&semi;&rpar; 转成 2016-7-12 21&colon;23&colon;34 009

     function timeFormatter(value) {     var da = new Date(parseInt(value.replace("/Date(", &q ...

  3. 关于异步Promises

    英文原文:What's The Point Of Promises? 迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念 ...

  4. Open Sourcing Kafka Monitor

    https://engineering.linkedin.com/blog/2016/05/open-sourcing-kafka-monitor     https://github.com/lin ...

  5. 动态规划 算法(DP)

    多阶段决策过程(multistep decision process)是指这样一类特殊的活动过程,过程可以按时间顺序分解成若干个相互联系的阶段,在每一个阶段都需要做出决策,全部过程的决策是一个决策序列 ...

  6. http&colon;&sol;&sol;blog&period;csdn&period;net&sol;zhanglvmeng&sol;article&sol;details&sol;11928469

    本系列主要结合<PHP和MYSQL WEB开发 第四版>,在阅读中提出自己认为比较重要的一些问题,以加深对知识的了解程度. 1.简短.中等以及冗长风格的表单变量 $name; //简短风格 ...

  7. 【架构之路之WCF全析(一)】--服务协定及消息模式

    上周微软开公布会说.NET支持全然跨平台和并开放Core源代码的新闻,让我们顿时感到.NET要迎来它的春天.尽管早在几年前.NET就能开发Android和IOS,可是这次的跨平台把Linux都放到了微 ...

  8. GestureDetector学习之左右滑动,上下滑动屏幕切换页面

    要实现滑屏等触发事件,视情况而定: 如果实现的触屏或者手势效果较多,则使用第一种方法,实现OnGestureListener 接口(参考OnGestureListener): 如果只是实现较少的效果, ...

  9. ESFramework 4&period;0 进阶(01)-- 消息

    需要交互的分布式系统之间通过消息来传递有意义的信息.消息是通信框架的核心.离开了消息,再谈通信框架就没有任何意义,所以,消息是ESFramework中一个最核心的概念. 一. 消息的类别 在具体的应用 ...

  10. SuperMap 9D 实时数据服务学习笔记

    SuperMap 在9月份发布了结合大数据技术的9D新产品,今天就和大家介绍下iServer9D中的实时数据服务. 1.技术框架 结合Spark的streaming流处理框架,将各种数据进行批量处理. ...