完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文转自迅为:http://www.topeetboard.com 本文讲解如何通过 TFTP 来实现在线调试应用程序。 TFTP(Trivial File Transfer Protocol,简单文件传输协议) ,是一个基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。TFTP 协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。 根据上面关于 TFTP 的介绍,实现 TFTP 我们需要搭建一个 TFTP 的服务器,iTOP-4412 开发板当做客户端。 使用我们的虚拟机 Ubuntu 来当做服务器,下面我们先讲解一下服务器端的配置。 在我们的虚拟机 Ubuntu 上打开终端,如下图: 首先输入命令:sudo apt-get install xinetd,安装 xinetd,如下图: 安装完 xinetd,如下图: 接下来输入命令安装 tftp 和 tftpd:sudo apt-get install tftp tftpd,如下图: 安装完成后,如下图: 然后建立 TFTP 的配置文件,使用命令:vi /etc/xinetd.d/tftp 建立文件,如下图: 写入下面的内容: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/***in/in.tftpd server_args = -s /var/tftpboot/ disable = no per_source = 11 cps = 100 2 flags = IPv4 } 如下图: 退出并保存。其中 server_args 设置的/var/tftpboot 目录是 tftp 服务器的目录,TFTP 客户端就是从这个目 录里面获取服务器上的文件的。使用命令 mkdir /var/tftpboot 建立 tftp 服务器的目录,如下图: 然后设置/var/tftpboot 的访问权限为 777,如下图: 输入:sudo /etc/init.d/xinetd restart 命令重启 xinetd 服务,如下图: 本机测试:在/var/tftpboot 下面建立一个文件 test,在里面输入 hello world,然后保存该文件,如下图: 在启动另外一个终端,如下图: 然后输入:tftp 127.0.0.1,如下图: 输入 get test 获取 test 文件,如下图: 在上图我们看到获取到 test 的信息 13 字节,然后输入 q 退出 tftp,如下图: 然后我们输入 ls 查看当前目录下是否有 test 文件了,通过查看,发现当前目录下应经有 test 文件了,这就是 /var/tftpboot 目录下的那个 test 文件,如下图: 我们使用 cat 命令查看一下 test 文件的内容,如下图: 通过上面的截图,我们看到 test 文件里面的内容是 hello world,与/var/tftpboot 目录的 test 是一样的,至 此我们的 TFTP 服务器端的配置就完成了,下面我们来看下 iTOP-4412 开发板客户端的配置。 iTOP-4412 开发板我们制作的 linux 文件系统已经支持 TFTP 客户端命令了,编译 Busybox 时默认是支持该 命令的,linux 文件系统在启动的时候我们通过脚本设置了以太网的 IP 地址是 192.168.1.230,这个脚本是在 文件系统的 etc/eth0-setting 文件,我们打开这个文件,如下图: 如果我们想修改默认的 IP,子网掩码,网关,DNS,MAC 就编辑这个文件对应的选项就可以了。 现在我们在 iTOP-4412 上获取 TFTP 服务器上的文件,首先我们先看一下 TFTP 服务器的 IP 地址,如下图: 通过上面的截图我们可以知道 TFTP 虚拟机的 IP 地址是 192.168.1.109,我们的开发板的默认 IP 是 192.168.1.230,它们在同一个网段,如果不在同意个网段需要修改我们的开发板的 IP 地址,修改方法就是前 面介绍的 etc 目录下的 ethsetting 文件。 连接开发板的网口到路由器上,然后输入 pinging 令确认开发板和 TFTP 服务器是连通的,如下图: 如果返回上面的信息就表示开发板和 TFTP 服务器是连通的,现在我们获取 TFTP 上的文件,在开发板的串口 输入:tftp -g -l test -r test 192.168.1.109,如下图: 执行完上面的命令, 已经把 TFTP 上的 test 文件下载到开发板的当前目录下了, 使用 ls 看到当前目录下有 test 文件,如下图: 在开发板的串口输入 cat test 可以查看 test 的内容,如下图: 通过上面的截图,我们可以看到文件的内容和 TFTP 上的文件内容是一样的,至此我们的 TFTP 搭建完成了, 大家以后再调试程序的时候可以用 TFTP,这样就避免了每次都要生成镜像,烧写景象了。 下面我给大家演示一下调试应用程序的方法, 假设我在虚拟机的 Ubuntu 上编写了一个输出 hello world 的小 程序,然后我通过交叉编译器编译这个程序生成了可执行文件 hello,我通过 cp 命令把这个可执行程序 hello 拷贝到了/var/tftpboot 目录下面,接下来我要在开发板端把 hello 文件下载到开发板上,我需要在开发板的串口上执行:tftp -g -lhello -r hello 192.168.1.109,如下图: |
|
相关推荐
2 个讨论
|
|
不明觉厉,感觉很有用,MARK一下~
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4858 浏览 0 评论
87337 浏览 0 评论
【高手问答】如何做到精通linux威廉希尔官方网站 ?资深工程师带你突破难点
4657 浏览 2 评论
3553 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2439 浏览 0 评论
1930浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1309浏览 1评论
1204浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1277浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1201浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:55 , Processed in 1.196270 second(s), Total 51, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号