介绍之前,首先要介绍一下交叉开发,交叉开发有两个概念,一个是宿主机(产生嵌入式软件的机器,如pc机),目标机(运行嵌入式软件的机器,如开发板),宿主机产生嵌入式软件,通过一些机制下载到目标机上运行,通过什么样的途径下载软件呢?如网络,串口,JTAG,USB等等。这样的开发模型就叫交叉开发。其中,基于网络的下载方式就是TFTP,NFS。
一、TFTP
1,安装tftp服务器
a,首先挂载光盘到mnt目录
mount /dev/cdrom/ /mnt/
b,执行如下命令安装
rpm -ivh /mnt/Packages/tftp-server-0.49-7xxx
如果发生错误,提示
error:Failed dependencies:
xinetd is needed by tftp-server….
则需要先安装xinetd
rpm -ivh /mnt/Packages/xinetd…(tab键自动补齐)
然后再安装tftp即可。
2、配置tftp服务器
vim /etc/xinetd.d/tftp
主要修改两个地方,把disable=yes修改为disable=no,表示打开tftp功能。第二个修改的地方是server_args,根据自己实际情况修改服务器路径。这里修改为home目录。如下截图1
图1
3、重启tftp服务
/etc/init.d/xinetd restart
4、测试tftp服务
1)、测试前提是window与linux系统ping通
2)、关闭防火墙与selinux模块,命令如下:
/etc/init.d/iptables stop
setenforce permissive
在第二步中设置了home目录。所以我们在home目录创建一个空的hello.c接下来启动windows客户端。下载一个tftpd软件
打开tftp32.exe,输入linux ip地址及要下载的hello.c文件,保存到windows任意一个地方,即可验证tftp服务器是否搭建成功。
二、NFS服务器
NFS(网络文件系统)为两台Linux主机之间的通讯,提供了类似于windows上共享目录一样的服务.在嵌入式Linux开发中,Linux目标
机经常通过NFS方式访问Linux宿主机上的文件。为了实现这种访问,首先需要在Linux宿主机上搭建NFS服务器.
1、配置NFS服务
vim /etc/exprots
添加如下一行
/tmp *(rw,sync,no_root_squash)
这里的/tmp 表示共享的目录
表示允许访问共享目录的主机IP,如192.168.1.表示这一网段要访问的用户
(rw,sync,no_root_squash)表示访问权限
在home目录下打开exports目录,输入如/tmp 192.168.1.*(rw,sync,no_root_squash)
2、重启nfs
/etc/init.d/nfs restart
这样nfs就可以工作了。
这