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 協議格式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM