TFTP下载程序到开发板遇到的问题及解决方案

时间:2023-02-20 20:13:24

我用的是粤嵌的210开发板,废了好大劲把TFTP服务在linux上安装成功了,我用的是Ubuntu系统,版本12.04。自己一时无法得到解决,就查找了下什么是tftp,其实他就是一个小小的传输文件的协议,因为我编写嵌入式程序要在linux下用交叉编译器完成,然后在下载到开发板,所以为了方便所以准备用tftp下载的方式把程序从虚拟机直接下载到开发板运行就ok。

最近使用的连接方式

虚拟机里的ubuntu作为tftp服务器,开发板和笔记本电脑用交叉网线连接,可以用路由器连接网络,也可以用网线连接,网线断开时自动连接无线,网络最终都是路由器 获得的。

注意问题:

1.linux系统的防火墙要关闭。 2.设置的开发板的ip地址要和PC机地址在同一个网段。 3.pc机的ip地址是指的有线网卡的IP地址,不是无线网卡,虚拟机。


1.主机作为tftp服务器

本来我用的是windows系统,也就是真正的系统作为服务器,然后利用软件tftpd32,当初是把linux下面烧写好的.bin文件,从虚拟机里拖拽到windows的tftpd32所在的目录下,完成的烧写。这样虽然可行,但是麻烦。按照上面设置就能下载成功,linux系统我估计也是一样的,只是设置方法有所区别

2.虚拟机系统作为TFTP服务器

因为我电脑是64位的,板子的驱动不支持,所以我也在虚拟机装了32位xp,也安装了Ubuntu,在xp下实验发现安装上述方法不能下载程序到板子,主机和虚拟机之间可以ping通,但是板子和虚拟机里的xp,板子和主机不能ping通,后来注意到自己做错了,因为我这里既可以连接有线,也可以连接无线,当开发板用交叉网线和笔记本连接起来的时候,无线网络会自动连接上,后来把这无线网断开,发现就可以下载程序,有的时候时间有点长,而且可能会失败。
虚拟机linux下需要开通tftp服务,虚拟机xp还是可以用tftpd32软件实现。关键是要断开无线网络连接,设置虚拟机连接方式为桥接. 下面这个图失败了一次后,再次尝试连接下载成功的。 TFTP下载程序到开发板遇到的问题及解决方案


第二天发现又不行了,断开也不好用了,最终结论: 断不断开无线网络没关系,关键是桥接的时候选择的网卡不能设置为自动,自动可能会选择有线网卡,要桥接到本地网卡。