北京电子科技学院(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. 一步步学敏捷开发:4、Scrum的3种角色

    在Scrum角色中包括:产品负责人(Product Owner,PO).ScrumMaster(SM).开发团队(Team). 角色:产品负责人(PO) Scrum团队只有一个产品负责人,他负责在限定 ...

  2. ajaxFileUpload文件上传

    一.简介 ajaxFileUpload是一种异步的文件上传控件,通过ajax进行文件上传,并获取上传处理结果.在很多时候我们需要使用到文件上传的功能,但是不需要使用那些强大的上传插件.此时就可以使用a ...

  3. uboot 2014.04 运行过程记录

    uboot启动流程分析,针对S5PV210 BL1阶段,SPL,u-boot-spl.bin 1.首先运行arch/arm/cpu/armv7/start.S 里面的_start函数,进行异常向量表设 ...

  4. 堆栈 & Stack and Heap

    What's the difference between a stack and a heap? The differences between the stack and the heap can ...

  5. 09_Sum游戏(UVa 10891 Game of Sum)

    问题来源:刘汝佳<算法竞赛入门经典--训练指南> P67 例题28: 问题描述:有一个长度为n的整数序列,两个游戏者A和B轮流取数,A先取,每次可以从左端或者右端取一个或多个数,但不能两端 ...

  6. oracle创建数据库和用户

    以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...

  7. LAMP编译参数查看

    Linux下查看Nginx.Napache.MySQL.PHP的编译参数的命令如下: 1.nginx编译参数:#/usr/local/nginx/sbin/nginx -V2.apache编译参数:# ...

  8. Codeforces Round #274 Div.1 C Riding in a Lift --DP

    题意:给定n个楼层,初始在a层,b层不可停留,每次选一个楼层x,当|x-now| < |x-b| 且 x != now 时可达(now表示当前位置),此时记录下x到序列中,走k步,最后问有多少种 ...

  9. 2016百度之星-初赛(Astar Round2A)AII X

    Problem Description F(x,m) 代表一个全是由数字x组成的m位数字.请计算,以下式子是否成立: F(x,m) mod k ≡ c Input 第一行一个整数T,表示T组数据. 每 ...

  10. RabbitMQ 一二事 - 简单队列使用

    消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是 ...