购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 主机开发环境

开发嵌入式µClinux程序首先必须在PC安装Linux桌面系统,否则无法运行GNU工具软件。通常有两种方式在PC上安装Linux操作系统:直接安装Linux操作系统,使Linux和Windows系统并存;在虚拟机上安装Linux操作系统。开发者可以根据自己的喜好选择安装方式。一般来说在虚拟机下面工作可以充分使用Windows系统的功能,相对比较方便,下面以虚拟机安装方式为例说明。

1.安装虚拟机

虚拟机是在Windows环境下工作的一套软件,它可以虚拟出独立的工作环境。VM软件是比较流行的虚拟机软件,VMware Workstation是VMware公司推出的虚拟环境软件产品,它可以在PC上创建一套虚拟环境,并且允许在该虚拟环境下安装Windows或者Linux操作系统,从而使用户感觉像在独立的PC上工作一样。虚拟机软件的安装读者可参考网上资料自行解决。

2.安装Linux操作系统

Linux操作系统的PC版本有很多种类的发行包,如Debian、Redhat、Ubuntu、Fedora等,这里选择比较流行的Fedora Core 12版本。首先启动VMware Station虚拟机软件,然后创建一个虚拟机,并在虚拟机上安装Fedora Core 12操作系统。(本书后面的范例程序均是在Fedora Core 12环境下完成开发的。)安装Fedora时建议全部安装,以免影响后面的开发工作。当然如果有些功能没有安装,后面也可以使用RPM包进行安装。

3.虚拟机文件共享

Windows操作系统下的文件需要导入到虚拟机Linux操作系统中,Linux环境下的文件也需要复制到Windows环境。如何实现Windows与虚拟机Linux的文件共享?Windows与虚拟机Linux的文件共享有很多种方法,如Samba、FTP、NFS等,本书介绍以下两种方法。

1)使用FTP实现共享

FTP共享需要网络的支持,即PC需要一根网线连接到路由器或者交换机。步骤如下:

(1)启动虚拟机下的Fedora操作系统,配置IP地址,如192.168.1.108,必须和Windows环境下的IP地址处于同一网段。

(2)安装一种FTP工具软件,如WinSCP。在WinSCP中设置登录信息,如图3.2所示。

图3.2 WinSCP登录参数设置

(3)单击“Login”按钮,软件登录到Fedora系统,左边显示出Windows系统下的文件列表,右边列表显示出Fedora系统下的文件列表。用鼠标选择要复制的文件,拖动到目的目录即可实现文件交换。

2)使用VMware Tools实现共享

本书使用的虚拟机版本是VMware Workstation 7.0,自带的VMware Tools可以实现Windows和Linux的文件共享,具体设置方法如下:

(1)启动VMware Workstation软件,单击“VM”菜单下的“Install VMware Tools”,弹出文件夹,出现安装文件VMwareTools-8.1.3-203739.tar.gz。

(2)把文件VMwareTools-8.1.3-203739.tar.gz复制到“/tmp”目录,用以下命令解压:

tar –xzvf VMwareTools-8.1.3-203739.tar.gz

(3)进入vmware-tools-distrib目录,运行安装文件:

./vmware-install.pl

安装过程中所有选型均为默认配置。

(4)重新启动虚拟机,右键选中虚拟机下安装的Linux操作系统,进入“Setting”窗口,单击“Options”页面,然后选择“Shared Folders”,如图3.3所示。把“Shared Folders”选项由“Disabled”修改为“Always Enabled”。在下面的“Folders”窗口中添加要共享的Windows目录。

(5)启动虚拟机下的Fedora操作系统,进入“/mnt/hgfs”目录,这时可以看到刚才设置的Windows共享目录下的内容。

使用VMware Tools共享的优点是无须网络连接和任何网络协议,简单方便。

图3.3 虚拟机共享文件夹的设置

4.串口终端的设置

串口在嵌入式系统开发中是非常重要的工具,借助操作系统自带的串口终端可以查看系统启动和调试信息。Windows环境下的串口终端称为超级终端,配置方法如下:

(1)单击“附件”->“通讯”->“超级终端”,选择使用的串口设备。

(2)按照图3.4设置通信参数。

图3.4 超级终端参数设置

Fedora环境下的串口终端工具是Minicom,相当于Windows平台下的超级终端,配置方法如下:

(1)运行“minicom –s”命令,打开设置窗口,如图3.5所示。

图3.5 minicom设置窗口

(2) 选择“Serial port setup”,进入以下设置窗口,设置串口通信设备名称,“/dev/ttyS0”表示串口1,“/dev/ttyS1”表示串口2,如图3.6所示。另外根据嵌入式电路板串口的通信参数设置通信波特率、数据位、停止位、奇偶校验等,图3.6中波特率为115200 bps,8个数据位,1个停止位,没有奇偶校验,没有流控。

图3.6 设置串口通信参数

(3) 选择“Save setup as dfl”,然后退出minicom设置程序,下次启动直接运行minicom即可。Minicom默认配置参数存储在“/etc/minirc.dfl”文件中。

以下是一些常用的minicom命令。

•CTLR-A Z:帮助,列出所有命令;

•CTRL-A O:配置Minicom;

A-serial device:/dev/ttyS0;

E-BPS/PAR/BITS:115200 8N1;

F-Hardware Flow control:NO;

G-Software Flow control:NO。

•CTRL-A S:从主机向目标板发送文件;

•CTRL-A R:从目标板接收文件;

•CTRL-A Q:退出minicom。

5.TFTP服务器的设置

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种轻量级的FTP协议,用来在服务器和客户端之间提供简单的、低开销的文件传输服务。TFTP包括客户端和服务器程序,通常客户端运行在嵌入式设备上,服务器运行于PC上。在基于Blackfin的µClinux开发中,经常使用TFTP下载内核和应用程序映像。为了使用TFTP功能,必须在PC端启动TFTP服务器软件。

1)配置TFTP服务器

下面描述上位机配置为服务器的步骤,以RedHat8.0为例说明如下:

(1)安装TFTP Server软件。

如果上位机没有安装TFTP Server端软件,需要从安装盘或网上获取rpm文件,使用以下命令安装:

rpm - ivh tftp-server-0.29-3-i386.rpm

(2)建立TFTP根目录。

mkdir /tftpboot

chown nobody:nobody /tftpboot

(3)修改/etc/xinetd.d/tftp文件,将其中的“disable = yes”改为“disable = no”。

(4)运行以下命令,重新加载网络。

/etc/rc.d/init.d/xinetd reload

2)TFTP客户端

嵌入式设备端的TFTP客户端程序包含在文件系统中,在配置µClinux时选中busybox中的TFTP客户端程序,重新编译µClinux系统。使用以下命令从上位机读取文件:

tftp –gr file hostip //hostip - TFTP服务器的IP地址

注意要读取的文件必须在上位机“/tftpboot”目录下。

6.Telnet

在不具备串口调试条件的情况下,Telnet是另外一种不错的选择。Telnet是TCP/IP协议族中的一员,它能够实现远程登录服务器,就像在控制台操作一样。Telnet的使用需要Telnet服务器软件的支持,嵌入式设备端的Telnet服务程序称为Telnetd。为了支持Telnet功能,需要在嵌入式设备中进行以下配置:

(1)在µClinux用户程序配置中添加Telnetd程序,重新编译µClinux系统。

(2)在rc文件中启动inetd程序。inetd程序是Linux系统中网络功能的守护进程,它根据网络请求启动相应的网络服务。

(3)修改/etc/inetd.conf文件。inetd.conf文件是inetd的配置文件,规定了inetd监听的网络端口和启动的网络服务。在inetd.conf文件中增加配置,如下所示:

telnet stream tcp nowait root /bin/telnetd

最后在PC上使用“Telnet+设备IP地址”即可登录到嵌入式设备中,如同在控制台操作一样。 xLiIoyAMNoKbSH0YkJ+vqoH3diIE/Eji4M1zs+uEbaPgZsNl3pHexcNqJtfGxdX4

点击中间区域
呼出菜单
上一章
目录
下一章
×