北京电子科技学院(BESTI)
              
课程:信息安全系统设计基础 班级:1353 姓名:吴子怡、郑伟
学号:20135313、20135322 指导教师: 娄嘉鹏 实验日期:2015年11月10日
必修/选修:必修 实验序号:exp2 实验时间:15:30-18:00
实验名称:  exp2_固件设计
实验目的与要求 1、初步掌握硬件开发平台的搭建和硬件开发的流程
2、能够编译、运行简单程序;掌握程序调试与测试方法
3、掌握程序的烧写方法
4、能够实现Bootloader
5、实现密码学中常见算法的固化
实验器材 1、Lenovo计算机一台
2、ARM实验箱一个

搭档博客链接:20135313吴子怡http://www.cnblogs.com/paperfish/

配置实验环境:

1. 连接arm开发板

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

2. 建立超级终端

1
2
3
运行windows XP系统下“开始”、“所有程序”、“附件”、“通讯”、“超级终端”。新建一个通信终端,取名为arm。
在属性对话框中,将波特率设为115200,数据位设为8,无奇偶校验,停止位为1,无数据流控制。
另存为在桌面。

3. 启动实验平台

1
2
打开超级终端,打开arm机电源开关。等待一分钟后arm机的信息会显示在超级终端的窗口中。
继续等待,直至出现如下图所示界面。输入ifconfig命令,记录下arm机的ip为:192.168.0.121。

4. 修改xp系统与redhat虚拟机的ip

1
xp系统与redhat虚拟机的ip均与arm机的ip在同一网段。在pc机中的xp系统中,设置步骤如下:

1
redhat虚拟机中设置步骤如图。本次实验中将pc机的ip设为192.168.0.55,redhat虚拟机ip为192.168.0.234。

5. 安装arm编译器

1
在pc机中“开始”、“运行”,输入虚拟机的ip。\\192.168.0.234,输入用户名bc,密码123456。然后就可以访问虚拟机的文件。再把所需文件解压缩拷贝到共享文件夹bc中。

1
进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。

6. 配置环境变量

1
2
在虚拟机中使用 vi 修改 /root/.bash_profile。文件中的 PATH变量为 PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (因为该文件隐藏系统, 所以使用 ls 命令不可见)
存盘后执行: source /root/.bash_profile,则以后armv4l-unknow-linux-gcc会自动搜索到,可以在终端上输入。

Exp2

一、实验步骤

1.环境搭建依然是Exp1中的步骤。

2.将实验代码拷贝到共享文件夹中,也是Exp1中的步骤。

3、在虚拟机中编译代码。对于多线程相关的代码,编译时需要加-lpthread 的库。

4、下载调试。在超级终端中运行可执行文件 pthread,可得实验结果如图所示。运行可执行文件 term。

二、遇到的问题及解决方法

1、03_tty代码使用编译工具armv4l编译时无法通过

<<实验中为了简便把03_tty文件夹放在了桌面上,代码存储路径包含了中文就无法通过编译,所以我们把代码文件夹放到了c盘根目录下,成功编译。

2、在超级终端运行term时出现错误

<<开发板中没有ttyS0设备导致出现问题,于是我们在超级终端进入了/dev文件夹后输入:ln –sf /dev/tts/0 ttyS0后建立了开发板和超级终端的连接,最终解决了问题。

三、exp2学习摘要

本次实验中,学到了命令中加入-lpthread的用法。在第十章的学习中,我们就遇到了头文件找不到、编译不出来这类的问题。20135317韩玉琪同学的解答中就提及:因为csapp.c中有关于线程的头文件,所以需要加上-lpthread。那么同理,在这次实验中,我们发现实验中需要用到-lpthread的原因也是因为代码与多线程相关。

四、心得体会

这一个实验步骤简单,主要是省去了环境搭建步骤。而且有了exp1的实验操作,一切就很简单啦。也没有遇到什么问题。就只要一步一步按部就班即可。很快就再实验课上找老师报告了实验进度。两个人都很有成就感。

信息安全系统设计基础_exp2的更多相关文章

  1. 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...

  2. 20145215&20145307《信息安全系统设计基础》实验二 固件设计

    20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux ...

  3. 20145215&20145307《信息安全系统设计基础》实验五 网络通信

    小组成员:20145215卢肖明.20145307陈俊达 实验报告链接:信息安全系统设计基础--实验五实验报告

  4. 20145223《信息安全系统设计基础》 GDB调试汇编堆栈过程分析

    20145223<信息安全系统设计基础> GDB调试汇编堆栈过程分析 分析的c语言源码 生成汇编代码--命令:gcc -g example.c -o example -m32 进入gdb调 ...

  5. 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验

    20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...

  6. 20145208《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验

    20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验 20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验

  7. 2016-2017-1 《信息安全系统设计基础》 学生博客及Git@OSC 链接

    2016-2017-1 <信息安全系统设计基础> 学生博客及Git@OSC 链接 博客 1452 20145201李子璇 20145202马 超 20145203盖泽双 20145204张 ...

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

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

  9. 20145315&20145307《信息安全系统设计基础》实验五

    20145315&20145307<信息安全系统设计基础>实验五 北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1453 1452 姓名:陈俊达 ...

随机推荐

  1. android 进程间通信---Service Manager(1)

    Bind机制由4个部分组成.bind驱动,Client,ServiceManager &Service 1.Bind其实是一个基于linux系统的驱动,目的是为了实现内存共享. bind驱动的 ...

  2. 关于EditText的一点深入的了解

    最近在开发android下的记事本程序时,频繁的使用EditText控件,折腾来折腾去,算是对其的了解更深入了一些.特将这些收获记录如下: 一.几个属性的介绍 android:gravity=&quo ...

  3. Effective Java 08 Obey the general contract when overriding equals

    When it's the case that each instance of the class is equal to only itself. 1. Each instance of the ...

  4. Effective Java 65 Don't ignore exceptions

    Principle An empty catch block defeats the purpose of exceptions, which is to force you to handle ex ...

  5. 为 Virtual Box 中的 CentOS 6.6 配置本地DVD光盘做yum软件源

    因为virtual box 中的centos配置host-only共享win7上网,配置失败,所以只能使用Centos的 DVD 光盘来配置yum软件源.不然就没得完了. 1. 首先要在virtual ...

  6. Linux系统命令查询软件包

    转载自:http://blog.chinaunix.net/uid-346158-id-2131252.html,http://www.jb51.net/os/RedHat/1102.html, 一. ...

  7. history介绍及bash命令快速调用

    在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧. 一.查找命令历史——history 使用history能够快速的找到之前输入过的命令. # history 大家可 ...

  8. Ubuntu 安装libusb

    执行以下指令 sudo apt-get install libusb-dev sudo apt-get install libusb-1.0-0-dev

  9. 【Ext.Net学习笔记】05:Ext.Net GridPanel的用法(包含Filter、Sorter、Grouping、汇总(Summary)的用法)

    GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: <ext:GridPanel runat="server&qu ...

  10. HDU 4041 Eliminate Witches! --模拟

    题意: 给一个字符串,表示一颗树,要求你把它整理出来,节点从1开始编号,还要输出树边. 解法: 模拟即可.因为由括号,所以可以递归地求,用map存对应关系,np存ind->name的映射,每进入 ...