实验室实验1交叉开发环境搭建Word文件下载.docx

上传人:b****1 文档编号:4152314 上传时间:2023-05-02 格式:DOCX 页数:22 大小:976.09KB
下载 相关 举报
实验室实验1交叉开发环境搭建Word文件下载.docx_第1页
第1页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第2页
第2页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第3页
第3页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第4页
第4页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第5页
第5页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第6页
第6页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第7页
第7页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第8页
第8页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第9页
第9页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第10页
第10页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第11页
第11页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第12页
第12页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第13页
第13页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第14页
第14页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第15页
第15页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第16页
第16页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第17页
第17页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第18页
第18页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第19页
第19页 / 共22页
实验室实验1交叉开发环境搭建Word文件下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验室实验1交叉开发环境搭建Word文件下载.docx

《实验室实验1交叉开发环境搭建Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验室实验1交叉开发环境搭建Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。

实验室实验1交叉开发环境搭建Word文件下载.docx

windows系统:

□WinXP□Xin7其它:

Linux系统:

□RedHat9□RHEL4其它:

VMware虚拟机:

□VMwareWorkstation9其它:

串口调试工具:

□WinXP自带的超级终端

□Linux自带的minicom

□第三方串口工具:

嵌入式Linux

3.项目预习

(1)了解项目目标、项目任务要求、项目设计和项目实施步骤。

(2)下载本次实验所需要的软件:

USB转串口驱动程序和超级终端软件。

(3)完成第5大项中步骤。

(4)回答以下问题

●gcc是什么?

如何使用gcc?

●Make工具的作用是什么?

如何编写makefile文件?

●什么是交叉编译?

如何使用交叉编译工具?

4.项目设计

(1)宿主机与ARM目标机的通信示意图

下图1描述宿主机(Windows系统、Linux虚拟机系统)以及ARM目标机的Linux系统三者之间的关系,以及文件传输和通信所使用的协议和线路。

图1交叉开发模式

(2)项目开发流程

项目开发的基本流程为:

代码编写、交叉编译、通过NFS文件共享的方式mount到ARM目标机上运行。

1)创建工程目录并编写源程序

●方式一:

在宿主机Linux虚拟机的项目开发目录中编写源代码。

可以用任何编辑器编写源代码,如Vi、GEdit和Emacs等。

●方式二:

在宿主机Windows下编辑、保存源代码并将其转移到Linux虚拟机的指定目录中。

提示:

使用VMware文件共享、samba服务或FTP等网络服务。

2)编译工程

利用Linux操作系统的宿主机进行交叉编译、汇编及连接,形成可在ARM目标机上执行的二进制代码(这种可执行代码并不能在宿主机上执行),可用两种方式编译:

●直接用交叉编译器arm-linux-gcc进行

●编写makefile文件,用make命令进行编译。

3)通过NFS共享方式运行目标程序

如图2所示,通过NFS共享来把可执行文件所在项目工作目录挂载到目标机上运行。

调试时可以使用串口进行调试。

通过Windows的超级终端,或者Linux虚拟机的minicom,控制目标机,对其进行操作。

图2NFS共享方式

5.项目实施

(0)熟悉目标机硬件系统

(1)检查Linux虚拟机网络设置

虚拟机的网络连接方式为桥接并且设备是connected,如图3、图4所示。

图3虚拟机设置界面

图4桥接设置界面

有些同学选择上面的选项网络不好用,若不好用,则可按下面界面操作:

(2)Linux虚拟机上,检查交叉编译器是否安装

用以下命令可以检查Linux虚拟机是否已经安装好了交叉编译环境。

#arm-linux-gcc-v

思考:

如何设置交叉编译器的环境变量,并使其生效?

(1)PATH环境变量;

(2)source命令。

(3)Linux虚拟机上,设置虚拟机IP地址

查看虚拟机IP

#ifconfig

Linux虚拟机IP需要设置为和ARM目标机同一个网段,并且不能相同。

例如可以设置为192.168.0.10。

#ifconfigeth0192.168.0.10

(4)Linux虚拟机上,设置NFS共享

将/up-techpxa270cl设置为NFS共享目录,并确保NFS服务正在运行。

NFS服务,可以实现两台Linux系统中文件的共享。

在本书实验项目开发中,主要用于Linux虚拟机和ARM目标机之间文件共享,从而实现将实验项目软件mount到ARM目标机上运行。

点击Linux虚拟机系统主菜单运行“系统”——“管理”,选择“服务器设置”,选择“NFS服务器”,点击“增加”,弹出如图6所示界面。

在“基本”选项卡中,目录中填入需要共享的路径,在“主机”中填入允许进行连接的主机IP地址。

设置为192.168.0.*或*,代表允许这个C类网段的所有机器都可以访问该共享。

并选择允许客户对共享目录的操作为“读写”(Read/write)。

如图5-图9所示:

图5设置NFS共享a

图6设置NFS共享b

“一般选项”选项卡设置,可以保留默认值。

图7设置NFS共享c

“用户访问”选项卡设置,可以保留默认值;

为了编程、操作方便,请将“远程根用户当作本地根用户”,这样安全性虽然较差一些,但方便了开发。

图8设置NFS共享d

最后退出时则完成NFS配置。

配置好后,界面显示应如下图所示:

图9设置NFS共享e

配置好后,需要在终端中输入“/etc/rc.d/init.d/nfsrestart”命令,重新启动NFS服务,更改才会生效。

#/etc/rc.d/init.d/nfsrestart

(5)开发系统物理连接

a.连接电源(12V),将随机附带的一根电源线的一端插入到电源插座中,将另外一端插入目标机电源接口上;

b.连接网线,将网线一端连接到目标机的网口上,另一端连接到PC机的网口上。

c.连接串口线,一端连接PC机的串口,另一端连接到目标机的UART0上(即COM1);

注意:

目标机具有两个串口,分别为UART0和UART1,UART0为左侧靠近电源接口的串口。

串口可使用相应的USB转接线来代替,如USB-RS232转接线,安装或更新相应的驱动程序后,将转接线的USB头插入宿主机的USB接口,会将其转化为串口,具体串口的编号可查看宿主机Windows系统的“设备管理器”“端口”。

如图10所示。

图10串口设置

(6)Linux虚拟机上,设置串口通信工具

Putty简介:

Putty是一个免费的、Windows平台下的telnet、serial和ssh客户端。

用它来远程管理目标板十分好用,其主要优点如下:

完全免费;

在Windows9x/NT/2000下运行的都非常好;

全面支持ssh1和ssh2;

绿色软件,无需安装,下载后在桌面建个快捷方式即可使用;

体积很小,仅364KB(0.54beta版本);

操作简单,所有的操作都在一个控制面板中实现。

本书中使用它来代替超级终端使用。

Putty操作指南:

把Putty下载到机器上,双击putty.exe,出现如图11的启动界面。

图11Putty启动界面

点击“串口选项”,出现如图12所示界面。

图12串口界面

在“连接到的串口”位置填写设备管理器中实际使用的串口号,选择为COM9,具体串口的编号可查看宿主机Windows系统的“设备管理器”“端口”。

“波特率”设为115200,“数据位”设为8位,停止位设为1位,“奇偶校验位”设为无,“流量控制”设为无。

设置界面如图13所示。

图13Putty设置界面

点击会话选项“会话”,出现如图14所示界面。

默认的连接类型为SSH。

图14连接类型选择界面

选择“串口”,在“保存的会话”窗口输入想要保存的名字,我们输入名字为“neusoft”,如图15所示,点击“保存”按钮即保存了用户的配置,如图16所示。

图15保存设置界面

图16保存界面

接着双击“neusoft”,即打开工作界面,如图17所示。

图17Putty调试界面

完成串口通讯工具的设置。

此处Putty界面就是目标机的操作界面!

(7)关闭无线网,启动ARM目标机,挂载NFS共享目录

启动ARM目标机,Putty中将显示目标机的启动信息。

按回车键,启动目标机Linux系统。

正常启动后,会显示“[root@Intel/]#”,等待命令输入。

然后,在终端程序中,用如下命令挂载共享目录,将Linux虚拟机的NFS共享目录/up-techpxa270cl挂载到ARM目标机的/mnt/nfs空目录中。

在目标机上(Putty)上输入如下命令:

#mount–tnfs–onolock192.168.0.10:

/up-techpxa270cl/mnt/nfs

mount:

挂载命令

-tnfs:

挂载类型

-onolock:

参数,不锁文件

192.168.0.10:

/up-techpxa270cl:

宿主机上的文件夹

/mnt/nfs:

目标机文件夹

命令中的IP地址(192.168.0.10)为宿主开发机IP(Linux虚拟机),挂载成功后如图18所示。

图18NFS挂载成功

如果出现versionolderthankernel等信息就说明挂载成功,如果出现Bad或failed信息,则说明挂载没成功,要根据实际情况操作。

如果挂载不成功,解决办法如下:

思考:

如果在目标机上,mount宿主机的NFS共享目录不成功怎么办?

a)测试网络连通性;

b)NFS服务设置;

c)查看无线网是否关闭

a)测试网络连通性

先查看IP是否正确:

命令如下:

在虚拟机上:

ifconfig查看IP是否为192.168.0.10

在目标机上:

ifconfig查看IP是否为192.168.0.105

目标机没有IP怎么办?

通过超级终端执行命令ifconfig

检查ARM目标机的IP设置,可以用ifconfig命令查看,默认IP设置为192.168.0.105。

如果IP没有设置,或者与宿主开发机设置的不在同一个网段,用ifconfigeth0192.168.0.105修改为192.168.0.105。

如果IP都对,则测试网络是否连能:

ping192.168.0.105

ping192.168.0.10

如果ping不通,原因可能是:

没有连接网线或者连接松动,宿主机Linux系统的IP(192.168.0.10)和目标机的IP(192.168.0.105)配置不正确,windows防火墙未关闭、无线网卡未关闭、VM不是桥接(bridged)或者没有connected等。

b)查看NFS服务设置

servicenfsstatus

如果不是正在运行,则

servicenfsstart或servicenfsrestart

(8)在目标机(Putty)上操作

NFS挂载成功之后,用cd命令切换到/mnt/nfs目录下,用ls命令可以看到Linux宿主机/up-techpxa270cl目录下的所有文件和目录。

如图19所示。

#cd/mnt/nfs

#ls

图19查看共享目录

(9)Linux虚拟机上编写示例程序源代码

在Linux虚拟机中的/up-techpxa270cl目录下创建目录test0,并在此目录下编写如下文件:

main.c

#cd/up-techpxa270cl

#mkdirtest0

#cdtest0

参考代码:

/*-------main.c------*/

#include<

stdio.h>

intmain(viod)

{

printf("

Helloisok!

\n"

);

printf("

NFSisok!

return0;

}

(10)Linux虚拟机上交叉编译

#arm-linux-gccmain.c–ohello

(11)在目标机上(Putty)运行示例程序

NFS挂载成功之后,用cd命令切换到/mnt/nfs目录下,用ls命令可以看到Linux宿主机/up-techpxa270cl目录下的所有文件和目录,运行刚刚编译好的程序hello和helloworld,并查看程序在目标机上运行的结果。

#cd/mnt/nfs

#cdtest0

#./hello

至此,我们的交叉开发环境就搭建好了,可以实现在Linux虚拟机上编写程序、编译程序,之后在目标机上运行程序的目的了,这样可以不用每次都把程序下载到目标机上,会大大方便开发过程和延长目标机的寿命!

6.项目问题

(1)根据项目参考文档,说明本次实验中的硬件系统。

(2)说明本次实验中宿主机和目标机之间的通信连接。

(3)超级终端的作用是什么?

(4)NFS文件系统挂载的作用、目的是什么?

如果目标机重新启动,是否需要重新挂载NFS文件系统?

(5)写出将宿主机192.168.0.1中的/home/share目录挂载到目标机/mnt/nfs下的mount命令。

(6)说明执行mount命令不成功主要的原因是哪两大类?

(7)说明ping命令不通可能的原因是什么?

如何解决?

(8)写出本实验中从在宿主机上编写程序到在目标机上运行程序的简要步骤?

7.项目考核

项目考核标准:

考核项目

权重

主要考核点

实验预习(个人)

20%

实验要求的预习项

实验过程及结果(个人)

40%

动手执行能力

解决问题的能力

项目完成程度

实验总结(个人)

实验报告检查

提问

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2