嵌入式系统开发的程序代码是运行在硬件开发板上,在开发阶段把开发板的信息显示给开发人员最常用的方法就是通过串口线将开发板的信息输出到宿主机的显示器上,这样开发人员就能看到系统的运行情况了。在Windows和Linux操作系统下,典型的串口通信软件分别是“串口终端” 和“minicom”,通过串口通信软件,用户可以很方便地对串口进行配置,最主要的配置参数是波特率、数据位、停止位、奇偶校验位和数据流控制位等,这些参数必须根据板子的实际情况进行正确配置,才能实现正常的串口通信。
在嵌入式系统开发中,不仅需要观察板子上的系统运行情况,有些时候还需要从PC向开发板(目标板)下载文件。常用的向目标板下载文件的方法有串口下载、网络下载和USB口下载,下面分别对三种下载方法做一下简单介绍:
1、串口下载
使用串口下载需要配合特定的下载软件,如优龙公司提供的DNW软件等,一般在windows下操作即可。它的缺点是传输速度没有网络下载快,但是具有方便使用的优点,不需要额外的连线和设置IP等操作,因此应用十分广泛。
2、网络下载
在嵌入式系统开发中常常需要通过网络下载文件或者挂载文件系统,经常用到的服务有NFS,TFTP等。
NFS为Network File System的简称,该服务可以实现不同的机器、不同的操作系统之间彼此共享文件。NFS可以让不同的主机通过网络将远端的NFS服务器共享出来的文件安装到自己的系统中,从客户端看来,使用NFS的远端文件就像是使用本地文件一样。NFS这种特性使它在嵌入式系统中得到了广泛的应用,它使得应用程序开发调试变得更加方便,不用反复烧写镜象文件。NFS的使用分为服务端和客户端,其中服务器端提供要共享的文件,而客户端则通过挂载“mount”这一动作实现对共享文件的访问操作。在嵌入式系统开发过程中经常会把根文件系统放在NFS的导出目录中,同时配置内核启动时挂载NFS文件系统来启动系统。
TFTP是简单文件传输协议,是嵌入式系统中通过网络下载映像最常用的一种方法,它可以看作是FTP协议的简化版本,与FTP协议相比,最大的区别在于没有用户管理功能,并且传输速度快可以通过防火墙,使用方便快捷。同FTP一样,TFTP分为客户端和服务端两种。通常首先在宿主机上开启TFTP服务器端,设置好TFTP的根目录内容(也就是供下载的文件),接着,在目标板上开启TFTP的客户端程序。这样,把目标板和宿主机用直线连接之后,就可以通过TFTP协议传输可执行文件了。
3、USB下载
串口用来显示目标板的信息是十分方便的,但是用来传输或者下载文件速度较慢,并且通常需要专用的串口工具才能下载,而许多串口下载工具也自带了USB文件传输功能,通过USB口进行文件的传输速度比使用串口进行传输快。