封面
课程:信息安全系统设计基础 班级:1352 姓名:(按贡献大小排名)杨光 学号:(按贡献大小排名)20135233 成绩: 指导教师:娄嘉鹏 实验日期:2015.11.10 实验密级: 预习程度: 实验时间:15:30—17:30 仪器组次:33 必修/选修:必修 实验序号:1 实验名称: 基于S3C2410的嵌入式开发 实验目的与要求: 1.熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。 2.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。 3.(要求)正确使用连接线等实验仪器,并注意保护实验箱。实验结束之后将实验箱送回。
实验仪器: - (名称) (型号) (数量)
- 嵌入式开发平台 UP-NETARM2410-CL 1
- PC机 1
正文
一、实验内容:
本次实验建立在掌握嵌入式开发平台使用方法和配置方法的基础上,要求使用windows xp,linux(red hat),arm三个系统;在linux系统中安装arm系统,然后利用arm平台完成linux系统中C语言源文件的编译,并在windows系统中执行生成的可执行文件。
二、实验过程:
1.连接arm开发板
- 领取试验箱之后,首先打开实验箱检查 电源线、网线、并口线、插口线 无缺失;然后卸除主机后的保护板,使得主机背后的插口方便与试验箱连接;
- 确保试验箱的开关处于off档位。将实验箱的网线、并口线分别与主机上的对应位置连接好(将主机上之前的网线拔出)。将电源线插在插线板上。将插口线一端插在arm板的端口0处,另一端插在主机对应位置。
2.建立超级终端
- 在实验机的windows XP 系统下依次进入“开始”——“所有程序”——“附件”——“通讯”——“超级终端”,双击打开;
- 打开之后,程序会自动新建一个通信终端,在弹出的对话框中,将该终端直接命名为 arm(图标选择默认即可),其他设置无强制性要求,并点击“确定”。在之后弹出的属性对话框中,将波特率设为 115200,数据位设为 8,无奇偶校验,停止位为 1,数据流控制设置为“无”。
3.启动实验平台
- 在上述设定完成之后,即可打开平台开关(开关为拨档型,由off拨至on)。在arm-超级端对话框中立即显示连接信息;
- 继续等待,直至出现如下图所示界面。输入 ifconfig 命令,记录下 arm 机的 ip 为:192.168.0.121。
4.修改windows xp系统的ip使得它与arm机的ip在同一网段
- 打开windows xp系统中的“控制面板”——“网络连接”——“本地连接”,双击查看本地连接的状态;点击“属性”键,在“常规”选项卡中双击出现的“Internet协议(TCP/IP)”,查看并修改本机ip(实验中设置的ip为192.168.0.55);
- 打开vmvare虚拟机平台,在“导入已有的虚拟机”选项中导入C盘下的red hat.vmi文件,进入linux环境。然后点击“从这里开始”——“系统设置”——“网络”(双击),在弹出的“网络配置”对话框中依次点击“编辑”——“设备”,进入“以太网服务”选项卡,在“手工设置ip”下方修改red hat 的ip(实验中设置的ip为192.168.0.234);
- 修改完 IP,重启一下虚拟机,IP 才能启作用。重启后在命令行中使用 ifconfig 确认
5.在red hat中安装arm编译器
- 回到xp系统,点击“开始”——“运行”,输入虚拟机的 ip:\192.168.0.234,会弹出要求输入用户名以及password的对话框,输入用户名 bc,密码 123456 然后确定即可进入与虚拟机共享的文件夹(bc)处(Samba Server对话框);
- 把需要安装的、包含在armv4l-tools压缩包中的软件安装包解压缩到bc文件夹中(或者解压缩之后拷贝至此处),这时linux虚拟机就可以对该软件安装包进行操作了;
- 进入虚拟机,依次输入“cd /home/bc”(回车)和“cd armv4l-tools”(回车),就可以进入到含有install.sh的文件夹中。(这时可以输入ls命令查看现有文件目录,确定该路径下含有install.h文件)然后在命令行中输入./install.sh,安装脚本程序将会自动建立目录,配置编译环境。
6.配置环境变量
- 在虚拟机中使用“vi /root/.bashprofile”进入bashprofile文件;
- 将其中的 PATH 变量修改为PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ ;
- 保存文件,然后后执行: source /root/.bash_profile,则以后 armv4l-unknown-linux-gcc 会自动搜索到,可以在终端上输入。
7.编写并编译文件
- 在虚拟机中进入文件夹/root/bc,在此目录下编写 hello.c 文件(vi hello.c即可创建并编辑hello.c文件,编辑结束之后输入:wq保存并退出);
- 利用命令armv4l-unknown-linux-gcc hello.c -o hello对 hello.c 进行编译,生成 hello 可执行文件;
- 可以利用ls命令查看在bc文件夹中是否出现了hello.c及hello可执行文件。
8.下载调试
- 在xp环境的超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯(在之前的步骤中已经完成了挂载,此处只需要在arm命令行中用ls命令检查以下hello.c和hello文件是否在当前系统的bc文件夹中);
- 在arm命令行中输入命令“mount -t nfs -o nolock 192.168.0.234:/home/bc(空格)/host”即可完成下载;
- 输入./hello命令执行hello文件。
三、实验原理理解
1.mount命令的各个选项
mount -t nfs -o nolock 192.168.0.234:/root/bc /host
“-t nfs”指定文件系统类型为文件网络共享类型,“-o nolock ”关闭文件锁,“192.168.0.234:”为要挂接的设备,“/root/bc /host”表示挂载设备中/root/bc目录下的文件到本机host文件夹中。
2.设置ip的含义?
只有在同一个局域网内的系统,才能够互相传递数据;所以要把需要互相传递数据的三个系统的ip配置到同一网段内。因为三个系统的子网掩码都是255.255.255.0(意味着每个ip地址前三个十进制段都是标识的网段),所以要把三个系统的ip修改为前三段一致的。
3.arm机的作用是什么?
arm是一种linux嵌入式开发平台;主机在与之相连后,通过超级终端实现通过主机对arm板的操作。其原理如下: 运行 Linux 的 PC(宿主机)开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码, 然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等, 具体使用哪种调试方法可以根据目标机处理器提供的支持作出选择。
四、实验过程难点
1.arm机无法正常连接xp系统
刚开始接上所有线之后,发现超级终端没反应,后来发现应该接0口,而不是1,换口之后,重新开arm机即可。
2.无法安装armv4l-tools
前几次一直打成armv41,所以始终无法安装,后来老师说了之后,改成l,即可安装。
3."armv4l-unknown-linux"的意思不懂
查后得知,armv4l-unknown-linux:这是交叉编译器(arm-linux-gcc)编译命令,用于开发板的程序编译。
五、实验感想
这次实验总体来说还是十分顺利的,并且它让我明白,理论学习离不开实践,实践一次能把以前许多只是“知道”的知识变成“会用”的知识,对linux开发环境的配置和使用有了更深刻的意识,可以熟练的编译,运行程序。另外,老师啊,你看我这次实验带报告都是自己一个人写的,加点分呗?~