嵌入式tftp搭建及测试



Linux下tftp服务的搭建及测试


接下来我们在来看一下关于Linux下是如何安装服务端的,PC和Windows比较好办,Linux比较麻烦一点,我也做了几个实验发现了几个新的问题,现在给大家分享一下,Linux有相关的tftp软件表也比较多,大家可以去网上搜索,一些相关的文档都有,现在我在这提一下,一般情况下,如果你是32bit的ubu或32bit的Linux这关系不大,关键我要说的就是64bit,64bit之前我在Ubuntu很多版本都试过都没有问题,直接来搭都没有问题,这个你们下来可以看一下我们的文档,现在我在这里就不在演示了。


我主要想说的就是Ubuntu14.04版本我试了一下发现还是不行,发现tftp默认采用的是ipv6的UDP包,所以说我们开发板通过32ipv4的那个地址是走不过来的。所以这个时候我们说一下,我们使用Linux的服务端稍微变化一下,就是32bit我们可以输入这个命令“sudo apt-get install tftpd-hpa ”记住是tftpd因为有d的说明是服务端,然后64bit不要用这个命令,因为用这个命令它默认安装的是ipv6可能你不一定能运行得了。所以要输入命令“sudo apt-get install tftpd openbsd-xinetd”因为通过 openbsd-xinetd这个软件安装过后就可以进行相应的服务器搭建,这个可以看相应的文章按到文章去做就可以了。


下面我们来演示一下:


test1.png


如图,怎么验证你机器中是否安装了或者是否运行起tftp最简单的方法就是输入命令“netststat -ua”这个命令是专门来查看机器的网络信息。点击回车后就会看到内容中有一个tftp,说明它运行起来了。然后我们的tftp默认是在/etc/inetd.conf这个文件中,我们把这个文件已经设置了,设置在下图的目录:


test2.png


然后我们还是一样,进到tftpboot目录中:


test3.png


如图,就是在tftpboot这个目录中把1.txt的内容改成1234,然后看把1.txt这个文件能不能下载到开发板上。


test4.png


如图,因为我们刚刚改完了IP地址是9,然后我们要改回去输入命令“sudo ifconfig eth1 192.168.10.110”然后点击回车输入密码我们就会发现IP已经改回去了。但是现在还没完,我们还有一个新问题。


test5.png


如图,这个地方我们输入命令“tftp 20008000 1.txt”,然后点击回车键,我们会发现还是按照这种方式来做是不对的,因为大家从打印信息中就可以看出来from server中还是10.3,说明我们的目标没对。


test6.png


如图,我们先pri一下,重新输入命令“setenv serverip 192.168.10.110”在输入之前的命令“tftp 20008000 1.txt”点击回车键后,我们会发现是五个字节,当然为什么是五个就请同学们自己下来思考一下,就是学Linux文件io的时候可以去看一看,然后我们在输入命令“md 20008000”点击回车后,之前输入的内容1234就出来了。


所以说,uboot中tftp命令是个比较复杂的命令,但是它恰好能完成我们刚才说需求分析中的传输数据,也就是说它是把这个数据传递到开发板的最主要的工具,那么后面我们在调试内核的时候,最典型的方法就是用tftp把内核下载到我们的内存中,然后运行起来。


以上就是我们在uboot中一个比较常用命令中的三大命令的简单使用,希望大家下来在多去实验一下。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部