在嵌入式开发中我们经常需要把编译好的镜像文件下载到开发板中,我接触过的主要有串口、usb和tftp下载这三种方式。
用tftp下载就需要要我们的主机上先安装tftp服务器。
1、安装软件包
sudo apt-get install tftpd tftp
xinetd
2、建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp
sudo vi
/etc/xinetd.d/tftp
增加如下内容
service
tftp
{
socket_type =
dgram
protocol =
udp
wait =
yes
user =
root
server =
/usr/sbin/in.tftpd
server_args = -s
/tftpboot
disable =
no
per_source =
11
cps = 100
2
flags =
IPv4
}
保存退出。
3、建立tftp服务文件目录
在上面的配置中有server_args = -s
/tftpboot,其中/tftpboot这个目录就是上传文件与下载文件的位置。
sudo
mkdir /tftpboot
--创建/tftpboot目录
sudo chmod 777 /tftpboot
-R --设置权限为777
4、重新启动tftp服务
sudo /etc/init.d/xinetd
restart --重启tftp服务器
sudo netstat -a |
grep tftp --查看是否启动成功,可以看到udp 0 0 *:tftp
*:*
5、测试
执行get命令时,保证tftpboot目录下的文件权限为777
执行put命令时,必须先在tftpboot目录下新建一个和上传文件同名的文件且权限为777
sudo vi /tftpboot/fileget
--在tftpboot目录下创建文件fileget,等下用get命令
输入内容为gettest,保存退出
sudo chmod 777
/tftpboot/fileget --修改文件fileget权限为777
sudo touch /tftpboot/fileput
--在tftpboot目录下创建文件fileput,等下用put命令
sudo chmod
777 /tftpboot/fileput
--修改文件fileput权限为777
sudo vi
./fileput
--当前目录下创建文件fileput,等下用put命令传到/tftpboot目录
输入内容为puttest,保存退出
sudo tftp
localhost
--tftp登录本地主机
tftp> get
fileget
--下载fileget文件
Received 9 bytes in 0.0
seconds --接收文件
tftp> put
fileput
--上传fileput文件
Sent 9 bytes in 0.0
seconds
--发送文件
tftp>
quit
--退出
sudo ls
/tftpboot/
--看到两个文件fileget和fileput
sudo ls
./
--看到两个文件fileget和fileput
sudo cat
/tftpboot/fileput
--打印出刚刚上传的文件,看到puttest
sudo cat
./fileget
--打印出刚刚下载的文件,看到gettest
原文:http://www.cnblogs.com/longwanjun/p/3566271.html