1、交叉开发
嵌入式系统开发多采用交叉开发模式,所谓嵌入式交叉开发就是指在宿主机上进行程序的编写,然后通过交叉编译生成目标机平台可以运行的二进制代码,最后再下载到目标平台上的特定位置运行。产生嵌入式软件的平台称为宿主机,通常为PC。而运行嵌入式软件的平台称为目标机。宿主机一般通过网络,USB,JTAG等方式将软件下载到目标机,其中比较常用的两种网络下载为TFTP和NFS方式。
2、TFTP服务器
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69.它是基于UDP的文件传输协议,通常只针对小文件的传输。在嵌入式开发中,tftp服务常用于通过网线从pc机服务端的tftp目录中下载镜像文件到目标开发板中,以待烧写或运行。
3、NFS服务器
NFS是Network File System的简写,即网络文件系统。NFS为两台Linux主机之间的通讯,提供了类似于window上共享目录一样的服务。在嵌入式Linux开发中,Linux目标机经常通过NFS方式访问Linux宿主机上的文件。nfs服务是常用与内核启动后挂载根文件系统的方式。
PC机上安装TFTP与NFS服务器,目标机作为客户端
安装TFTP服务器:
1、进入光盘下的Packages安装tftp-server-0.49-7.el6.i686.rpm.(注意:本安装包依赖于xinetd-2.3.14-34.el6.i686.rpm,故在安装之前要安装此文件)。
2、配置tftp服务器:vim /etc/xinetd.d/tftp;主要是修改"server_args = -s /home/tftpserver"表示选择/home/tftpserver目录作为tftp服务器文件下载目录;"disable=no"表示禁止不运行tftp服务。
3、重启tftp服务;使用命令:/etc/init.d/xinetd restart
4、测试,在windows下运行tftpd32.exe,选择tftp客户端:主机ip:192.168.83.128,本地文件:将要下载的文件保存的路径及文件名;远程文件:要下载的远端文件名称;点击下载,即可。
NFS服务器的安装
1、使用命令vim /etc/exports;编辑如下:
/home/nfs *(rw,sync,no_root_squash)意味NFS服务器的目录为/home/nfs,*指所有计算机,rw为可读可写,sync远端对该目录下文件修改后,可将修改后的文件写入磁盘,no_root_squash当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID都会变成nobody身份。
启动NFS服务器:/etc/init.d/nfs restart.
2、在远端Linux主机上使用showmount -e 目标主机ip(192.168.83.128)可以列出在目标主机共享出来的目录。在远端Linux主机创建挂载点
mkdir /home/nfs 。使用命令挂载之:mount -t nfs 192.168.83.128:/home/nfs /home/nfs。查看挂载成功与否 ls /home/nfs.