朱恒志 20135314 实验1和2 实验报告

北京电子科技学院(BESTI)

             

课程:密码系统设计基础                  班级:53

姓名:朱恒志

学号:20135314

成绩:             指导教师:娄嘉鹏      实验日期:2015.11.10

实验密级:         预习程度:           实验时间:15:30~17:30

仪器组次:1         必修/选修:必修       实验序号:14

实验名称:    信息安全系统设计基础实验一和实验二                                                       

实验目的与要求:熟悉 linux 开发环境,学会基于 S3C2410 linux 开发环境的配置和使用。使用linuxarmv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程                                                   

实验仪器:

名称

型号

数量

arm 开发板

 

1

联想电脑

 

1

实验内容、步骤与截图:

(实验一)

1、连接 arm 开发板

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

2、建立超级终端

运行 windows XP 系统下“开始”、“所有程序”、“附件”、“通讯”、

“超级终端”。

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

3、启动实验平台

打开超级终端,打开 arm 机电源开关。等待一分钟,arm 机的信息会显示在超级终端的窗口中。

继续等待输入 ifconfig 命令,记录下 arm 机的 ip为:192.168.0.121。

 

4、修改 xp 系统与 redhat 虚拟机的 ip,使得它们均与 arm 机的 ip 在同一网段。

在pc机中的xp系统中,本次实验中将pc机的ip设为192.168.0.55,redhat虚拟机ip为192.168.0.234。

修改完 IP,重启一下虚拟机,IP 才能启作用。重启后在命令行中使用 ifconfig 确认修改正确。

5、安装 arm 编译器。

在pc机中“开始”、“运行”,输入虚拟机的 ip。\192.168.0.234,入

用户名 bc,密码 123456 然后确定,就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹 bc 中。 

 

进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立

目录,配置编译环境

 

6、配置环境变量

 在虚拟机中使用 vi 修改/root/.bash_profile 文件中的 PATH 变量为

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

7、建立 hello.c 文件并编译

在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件。利用命令

armv4l-unknown-linux-gcc 对 hello.c 进行编译,生成 hello 可执行文件。

 

8、下载调试

在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。输入

命令“mount -t nfs -o nolock 192.168.0.234:/home/bc  /host”(注意 bc

后面要有空格!)

在超级终端中运行编译通过的 hello 可执行文件。

 

(实验二)

1、开发环境的配置同实验一。

2、将实验代码拷贝到共享文件夹中。

3、在虚拟机中编译代码。

对于多线程相关的代码,编译时需要加-lpthread 的库。 

4、下载调试

在超级终端中运行可执行文件 pthread,可得实验结果

 

运行可执行文件 term。

注意:如果在执行./term 时出现下面的错误 /dev/ttyS0: No such file or directory 可以通过方法建立一个连接来解决。

在 Linux 下串口文件位于/dev 下,一般在老版本的内核中串口一为

/dev/ttyS0 ,串口二为 /dev/ttyS1, 在我们的开发板中串口设备位于

/dev/tts/下,因为开发板中没有ttyS0这个设备,所以我们要建立一个连接。 首先在超级终端中进入/dev文件夹中。 输入命令“ln –sf /dev/tts/0  /dev/ttyS0”注意空格与字母l、数字0。

 

实验体会:

(1)    为什么需要交叉编译?如何安装交叉编译环境?

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。 简单地说,就是在一个平台上生成另一个平台上的可执行代码。

交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。如:在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。

(2)实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?

IP要满足在同一网段,在Internet选项中进行配置。

实验过程中遇到的问题以及解决方案:

(1) 连接好arm开发板后,超级终端依旧没有反应

解决方法:先关闭虚拟机,然后再试着连接arm开发板,结果超姐终端有正确的反应。

(2)执行命令行中的armv4l看成了armv41

(3)把需要的exp1文件拷贝到b文件夹c中后,结果文件一直报错

解决方法:拷贝进去的文件不用解压,直接放入就行。

原文地址:https://www.cnblogs.com/20135314ZHU/p/4966214.html