北京电子科技学院(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. 使用batch insert解决MySQL的insert吞吐量问题

    最近使用了一个非常简单易用的方法解决了业务上的一个insert吞吐量的问题,在此总结一下. 首先我们明确一下,insert吞吐量其实并不是指的IPS(insert per second),而是指的RP ...

  2. Windows下查看端口占用

    最近在重新安装Mysql的时候,发现3306默认端口被占用了.类似的情况常常遇到,想查看到底是哪个程序把这个端口占用了. 下面是我google找到的方法,和大家分享. 1. 首先,使用netstat ...

  3. PHP模拟发送POST请求之四、加强file_get_contents()发送POST请求

    使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能. 最简单的是fopen()和fread ...

  4. Android 系统架构

    Android 系统从下至上分为四层:Linux 内核.Android 核心库及Android 运行时环境(Android Runtime). 应用程序框架以及应用程序等. Linux 内核(Linu ...

  5. ext3,ext4,xfs和btrfs文件系统性能对比

    应为原文:http://www.ilsistemista.net/index.php/linux-a-unix/6-linux-filesystems-benchmarked-ext3-vs-ext4 ...

  6. Chrome浏览器与常用插件推荐

    Chrome浏览器与常用插件推荐 官方chrome下载:http://www.google.cn/chrome/ 提示:需要FQ才能安装. 1,AdBlock 谷歌屏蔽广告: https://chro ...

  7. java 19 -15 File类批量更改文件名的方法

    /* 需求: * 把H:\三国演义下面的视频名称修改为 00?_介绍.avi 思路: A:封装目录 B:获取该目录下所有的文件的File数组 C:遍历该File数组,得到每一个File对象 D:拼接一 ...

  8. java 8-7 接口

    1. 接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类实现接口用implements表示 class 类名 implements 接口名 {} C:接口不 ...

  9. 怎么解决Android studio导入项目卡死

    在使用Android studio的时候常常遇到这样的问题,从github或是其他地方导入项目,Android studio呈现卡死的现象!当遇到这种情况时,可以看看是下面那种情况,在按照方法来解决! ...

  10. work_queue 函数调用栈

    init_workqueues --->  create_worker --> kthread_create_on_node