信息安全系统设计基础_exp2   Exp2

北京电子科技学院(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。

信息安全系统设计基础_exp2
 
Exp2

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

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

信息安全系统设计基础_exp2
 
Exp2信息安全系统设计基础_exp2
 
Exp2信息安全系统设计基础_exp2
 
Exp2

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

信息安全系统设计基础_exp2
 
Exp2信息安全系统设计基础_exp2
 
Exp2信息安全系统设计基础_exp2
 
Exp2

 

信息安全系统设计基础_exp2
 
Exp2信息安全系统设计基础_exp2
 
Exp2

5. 安装arm编译器 

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

信息安全系统设计基础_exp2
 
Exp2

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

信息安全系统设计基础_exp2
 
Exp2

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 的库。

信息安全系统设计基础_exp2
 
Exp2

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

信息安全系统设计基础_exp2
 
Exp2

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

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的实验操作,一切就很简单啦。也没有遇到什么问题。就只要一步一步按部就班即可。很快就再实验课上找老师报告了实验进度。两个人都很有成就感。