Windows 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载

发布时间:2024年01月24日

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为 69。

在 U-Boot 中也支持 TFTP 协议,可以通过 tftp 命令从服务端下载文件。服务端可以是 Linux,也可以是 Windows,只要支持 TFTP 服务就可以。

本文介绍如何在 Windows 下搭建 TFTP 服务,并实现在 U-Boot 中使用 tftp 命令下载 Linux 内核镜像文件到开发板 RAM 中。

Tftpd32/64

Tftpd32/64 是一个集成了 DHCP、TFTP、DNS、SNTP 和 Syslog 多种服务的免费开源、轻量级应用程序。

  • 我们直接从官网下载 64 位免安装版:
  • https://bitbucket.org/phjounin/tftpd64/downloads/

  • 下载完成后解压缩到非中文路径下,双击即可运行该软件:

  • 软件界面非常简洁,可以看到软件支持了 Tftp 服务器、Tftp 客户端、DHCP 服务器、Syslog 服务器等多个功能,如图所示:

  • 我们将 Tftpd64 配置为服务端,因为我们的开发板是通过网线和 PC 机相连的,所以服务端接口选择 IP 地址为 192.168.0.123 的以太网 PCIe 控制器:

  • Tftpd64 默认选择软件所在目录作为 TFTP 共享目录,点击 Show Dir 可以浏览目录下的文件:

  • 也可以点击 Browse 选择其他目录,这里选择 E:\tftoboot 作为 TFTP 共享目录:

文件下载

  • 将 Linux 内核镜像文件 zImage 拷贝到共享目录下:

  • 启动开发板进入 U-Boot 命令模式:

  • 配置网络相关的环境变量,保证开发板 IP 和服务端 IP 要在同一网段下:
setenv ipaddr 192.168.0.232      # 开发板 IP 地址
setenv ethaddr 00:aa:bb:cc:dd:ef # MAC 地址
setenv gatewayip 192.168.0.1     # 网关地址
setenv netmask 255.255.255.0     # 子网掩码
setenv serverip 192.168.0.123    # 服务器 IP 地址
saveenv                        # 保存环境变量
  • 注意服务端 IP 要设置正确:

  • 保证开发板能够 ping 通服务端 IP 地址:

  • 使用 tftp 命令下载文件,80800000 为 zImage 在 RAM 中的存放地址:
tftp 80800000 zImage
  • 通过 Tftpd64 可以看到下载进度等信息:

  • 通过终端打印的日志也可以看到下载进度、传输速率等相关信息:

更多内容

文章来源:https://blog.csdn.net/weixin_44550536/article/details/131714211
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。