tftp协议

<前言>

嵌入式开发是一个交叉开发的模式,需要将宿主机上的文件烧写到目标机上。

方式:

JTAG

USB

串口

网络

<tftp下载>

首先需要将宿主机架成一个TFTP的服务器,其次开发板需要具有从tftp服务下载数据的能力。一般可以用串口调试工具进行调试

<tftp交互过程>

(1)客户机向服务器发送请求包

(2)服务器向客户机发送数据包(每个数据包字节数不能超过512个字节)

(3)客户机向服务器发送应打包,表示已经接受到数据(如果不发送应打包,则服务器则不停的发送数据包,直到获应答包或者超过某个时间)

<tftp数据报文格式>

由上图分析:

TFTPTrivial File Transfer Protocol文件传输协议)协议属于UDP(User Datagram Protocol用户数据协议)协议

UDP协议又数据IPInternet Protocol网络地址协议)协议

操作码:用于区分报文是请求报文还是数据报文

OP = 1 请求报文

OP = 2 上传数据

OP = 3 数据报文

OP = 4 相应报文

OP = 5 出错报文

模式:用于决定下载或上传模式多少位的形式下载或以ASCII码的形式下载

<TFTP客户端的实现>

(1)向目标机(服务器)发送ARP请求包以获取目标机的(服务器)的mac地址

(2)目标机(服务器)发送应答包,客户机从中获取mac地址

(3)由获取目标机的mac地址发送tftp IP请求包

(4)目标机(服务器)发送数包

(5)客户机接受数据包后发送应答包

(6)目标机(服务器)接受应答包后继续发送数据包,如此循环将数据全部发送完成

IP协议格式

UDP 协议格式

原文地址:https://www.cnblogs.com/big-devil/p/8589443.html