红联Linux门户
Linux帮助

ok6410在Ubuntu系统下实现文件互访

发布时间:2016-09-02 15:29:05来源:linux网站作者:追求卓越敢为人先
使用ok6410开发的时候,难免进行程序调试,如何把Ubuntu下编译的代码拷贝到开发板上,当然你可以使用SD卡。但其中的麻烦度可想而知。下面我使用Tftp服务器进行Ubuntu与开发板文件互访!
首先说下我的环境:
Linux系统:Ubuntu15.04
开发板:飞凌OK6410
说明:我是使用SecureCRT远程登录Ubuntu,终端可能跟你们不一样
 
1.Ubuntu15.04中安装tftp客户端及服务器端
sudo apt-get install tftp-hpa
sudo apt-get install tftpd-hpa
sudo apt-get install xinetd
或者直接使用一条命令:
sudo apt-get install tftp-hpa tftpd-hpa xinetd
 
2.创建tftp的共享文件目录
根据实际情况创建tftp传输文件时使用的目录,需要下载的文件及上传得到的文件都在这个目录中。
比如我在用户目录下使用终端+命令:mkdir TftpBin
可能需要修改该文件夹的权限为所有用户可读、可写、可执行:chmod 777 TftpBin
 
3.修改Tftp的配置文件
在终端中输入:sudo gedit /etc/default/tftpd-hpa  
修改后的文件内容如下:
ok6410在Ubuntu系统下实现文件互访
其中TFTP_USERNAME根据你的需要设置,常被设置为tftp;
TFTP_DIRECTORY指定了tftp共享目录的绝对路径,即第2步种我们创建的文件夹。
TFTP_ADDRESS是默认的,主要提供端口。
TFTP_OPTIONS是tftp命令中支持的选项。
基本配置完毕,请保存退出。
 
4、重启服务,使配置生效
重启tftp服务器 sudo service tftpd-hpa restart
重新加载xinetd脚本 sudo /etc/init.d/xinetd reload
重启xinetd服务 sudo /etc/init.d/xinetd restart
执行效果如图:
ok6410在Ubuntu系统下实现文件互访
 
5、本机测试
Ok,现在我们首先在本机上测试一下tftp功能。
在我们之前设定的目录中新建一个文件,随便输入点内容:
ok6410在Ubuntu系统下实现文件互访
然后进入其他目录,比如用户目录下:
ok6410在Ubuntu系统下实现文件互访
ok6410在Ubuntu系统下实现文件互访
使用q<quit>退出tftp
已经下载成功了,说明我们的tftp服务已经OK了,接下来就要测试与ARM端进行文件传输的功能了。
 
6、开发板测试
首先使用Kermit通过串口连接开发板;
使用ifconfig指令确认ARM端的ip地址设置是否与pc端在同一网段;
设置OK后,连接网线,随便在ARM端或PC端ping一下对方,检查网络是否畅通;
然后如下图所示,看一下ARM端tftp命令的格式:
ok6410在Ubuntu系统下实现文件互访
我们要从pc机上把tftp共享目录中的haha文件下载到/CNC/PLC即当前我们所在的ARM端目录中,按照格式使用如下命令:
tftp -g -r haha 172.16.6.13
注意我们的ARM端的IP为172.16.6.10,而PC端的IP为172.16.6.13。
结果没成功,显示timeout;
本机测试中是ok的啊,问题出在哪里呢?
嗯,这一般是因为Ubuntu端的防火墙设置的问题了;
如果不知道如何去设置,那就把防火墙设置全清除好了,在PC端的终端中执行命令:
sudo iptables -F
ok,再在Kermit中试一下tftp:
ok6410在Ubuntu系统下实现文件互访
下载成功了。
上传的话:
tftp -p -l INC1000.ldw 172.16.6.13
也是OK的。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/23831.html