北京电子科技学院(BESTI)

             

课程:信息安全系统设计基础                     班级: 201352         

姓名:池彬宁 贺邦

学号:20135212 20135208

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

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

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

实验名称:基于 S3C2410 linux 开发环境的配置和使用                                                            

实验目的与要求:1.熟悉 linux 开发环境,学会基于 S3C2410 linux 开发环境的配置和使用。                                

2.使用linuxarmv4l-unknown-linux-gcc编译                  

3.使用基于NFS方式的下载调试                                              

4.了解嵌入式开发的基本过程                                                         

实验仪器:

名称

型号

数量

ARM开发板

UP-NETARM2410-CL

1

PC

Windows Xp

1

 

一、实验内容:

1.领取arm开发板后,将电源线、连接串口线、网线连接好。

2.建立超级终端:

      开始→所有程序→附件→通讯→超级终端(HyperTerminal)

      新建一个通信终端,填写名称(arm),在接下来填出的窗口中,依次填入115200(每秒位数)、8(数据位)、无(奇偶校验)、1(停止位)、无(数据流控制)。如下:

 

3.启动实验平台

      打开实验箱的电源(拨动开关),输入boot,进入Linux系统,出现以下内容,注意记录本地ip:192.168.0.121。

 

4.修改xp系统的ip地址:

      右键网上邻居,找到本地连接,右键->属性->Internet协议->属性,将ip设置为192.168.0.123,确定完成配置。

 

5.修改虚拟机Red Hat的ip地址:

      进入Red Hat虚拟机系统,用户名bc,密码123456。

      点击“从这里开始”->系统设置->网络->编辑->在地址处填入192.168.0.122->确认完成配置,并重启虚拟机。

     

6.安装ARM编译器

      在pc机上点击开始->运行,输入虚拟机的ip地址“\\192.168.0.122”在弹出的窗口中输入用户名bc,密码123456,然后确定即可访问虚拟机中的文件。

      将armv4l-tools拷贝至该文件夹中。

      在虚拟机中调用终端,输入cd /home/bc进入用户bc的目录。

      cd armv4l-tools/ 进入armv-tools文件夹。

      ./install.sh进行安装。

     

7.配置环境变量

      虚拟机调用终端,输入命令vi /root/.bash_profile。

      将文件中PATH变量改为

      PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/。

      保存后,在终端中输入命令source /root/,bash_profile即可完成配置。

8.建立c文件并编译

      虚拟机进入文件夹/root/bc。

      生成hello.c文件,使用vi hello.c进行编写。

      代码功能为输出“20135208 20135212 hello world!”。

      使用命令armv4l-unknown-linux-gcc  hello.c –o hello生成可执行文件。

     

9.下载调试

      输入命令mount - - t nfs - - o nolock 192.168.0. 122 :/ home /bc /host

用以建立开发板和虚拟机之间的通讯。

      输入cd /host进入host目录。

      输入./hello即可运行hello.c代码

      结果出现“20135208 20135212 hello world!”,实验成功。

     

二、实验原理理解

      1.本实验使用交叉编译的原因:

           交叉编译就是在一个平台上生成另一个平台上的可执行代码。

           由于xp、linux系统运用的处理器与ARM运用的处理器不同,

      不能够执行相同的c语言代码。为了能在ARM中运行c语言代

      码,就可以运用交叉编译,在linux系统中生成ARM可执行文件     后,在ARM系统中执行文件。

      2.实验箱、虚拟机Redhat、WinXp之间的IP需要在同一个网段的    原因:

           由于本次运用的网络环境仅为ARM开发板和PC电脑之间的 连接,仅有令它们处在同一个网段,才可以实现数据的互通,从  而相互之间通过共享文件夹来传递文件。

      3.mount命令:

           mount命令为linux的挂载命令,用于挂接光盘映像文档、移 动硬盘、U盘、Windows和NFS网络共享。

           命令格式:

           mount [-t vfstype] [-o options] device dir

           mount - - t nfs - - o nolock 192.168.0. 234 :/ home /bc /host

           -t vfstype 指定文档系统的类型,nfs表示Linux文档网络共享。

           -o options 描述设备的挂接方式。nolock表示文件无锁。

           device 要挂接的设备 192.168.0.122:/home/bc为要连接的设备

           dir 系统上的挂接点 /host为挂接点,所下载的文件会在此目            录中。

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

      1.ARM机开启后,无法与PC连接:

           串口线在ARM开发板上连错了端口,应该连接0端口。

      2.虚拟机修改好ip后,PC未能访问其共享文件夹:

           通过查看虚拟机的ip发现ip并未改变,通过重启后,发现配      置成功,即问题所在是未重启虚拟机使ip修改配置生效。

      3.虚拟机生成可执行文件后,超级终端查找不到该文件:

           一开始默认地以为会直接出现在超级终端的默认目录中,最后    发现应该进入host文件夹,在里面发现了可执行文件,最终完成 了实验。

四、实验体会:

      本实验主要考察PC与ARM机连接、建立超级终端以及在超级终端中对程序进行编译。由于第一次接触ARM机,所以连接时浪费过多时间,但进行挂载和编译阶段很顺利没出现什么问题。通过本次实验,了解和练习了mount挂载命令的使用,收货颇多。