信息安全系统设计基础实验
班级: 201353
姓名:张忻 张嘉琪 黄韧
学号:20135301 20135307 20135306
实验日期:2015.11.10
实验名称: S3C2410的linux开发环境的配置和使用
实验目的与要求:
熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用。 使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。
实验内容、步骤与体会:
步骤:
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机的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-nknown-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)为什么需要交叉编译?如何安装交叉编译环境?
原因:
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。 简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。交叉编译有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。
如何安装: - 一个armv4l-tools.tar的压缩包 (老师提供了)
- 安装arm编译器。在pc机中“开始”、“运行”,
输入虚拟机的ip。\192.168.0.234,输入用户名bc,密码123456然后确定就可以访问虚拟机的文件了。然后把所需文件解压缩拷贝到共享文件夹bc中。进入虚拟机,在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。- 配置环境变量。在虚拟机中使用 vi 修改/root/.bash_profile文件中的PATH变量为 PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/(因为该文件隐藏系统, 所以使用 ls 命令不可见),存盘后执行: source/root/.bash_profile,则以 后 armv4l-nknown-linux-gcc 会自动搜索到,可以在终端上输入 。保存退出后,重启虚拟机。
(2)实验箱、虚拟机Redhat、WinXP之间的IP需要满足什么关系?如何配置?为什么?
arm机的ip为:192.168.0.121。
修改xp系统与redhat虚拟机的ip,使得它们均与arm机的ip在同一网段
本次实验中将pc机的ip设为192.168.0.55,redhat虚拟机ip为192.168.0.234。
(3)实验中mount命令中每个选项什么意思?
mount -t nfs -o nolock 192.168.0.234:/home/bc /host
一般格式: mount -t 文件类型 文件名 加载的目录
意思是加载192.168.0.234中/bc /host文件到别的目录下。
-o nolock是文件锁的意思。
- 配置环境变量。在虚拟机中使用 vi 修改/root/.bash_profile文件中的PATH变量为 PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/(因为该文件隐藏系统, 所以使用 ls 命令不可见),存盘后执行: source/root/.bash_profile,则以 后 armv4l-nknown-linux-gcc 会自动搜索到,可以在终端上输入 。保存退出后,重启虚拟机。
- 实验过程中遇到的问题以及解决方案。(下面只是例子,可以少写、可以增加其他你遇到的问题和解决方法)
(1)输入的用户名和密码应该输入哪个?
实验中一共有两次会输入用户名和密码。第一次是进入虚拟机,用户名为root,密码为123456;第二次是将文件拷贝到虚拟机中,用户名为bc,密码为123456。
(2)需要拷贝的文件在哪里?
实验前所发的资料中。
(3)连线。
教程中连接实验箱的说明只提到要求连接4根线(如图)。
但是实际使用需要里连接5根线,所以导致了错误,无法交叉编译。
(4)linux中的PATH的分隔符是冒号“:”,而不是Windows中的分号。
(5)如何编译运行程序?
运行程序的时候以为只需要输入./hello.c即可,发现无法运行程序,从头到尾看了一次步骤发现并没有错误。后来才得知要先进入文件夹载运行,如图所示。
cnblogs.com/blo
体会:
实验前我们已经知道什么是嵌入式系统了,定义是“嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、功耗、体积等有严格要求的专用计算机系统”,而且几乎天天在跟嵌入式设备打交道,比如手机。还有,我们的公交车上,银行里几乎都存在嵌入式设备。当然也已经知道Linux是什么了,但是“什么是嵌入式Linux”,还不是很清楚。通过今天的实验,已经开始熟悉,相信随着开发过程的深入,一定会得到答案的。这次实验总的来说比较顺利,遇到问题也能立刻找到解决问题的方法,感谢队友的好运气让我们拿到好用的实验箱,谢谢娄老师的指导,期待下一次实验。