在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產品分類

當前位置: 首頁 > 傳感測量產品 > 數據采集產品 > 工控機

類型分類:
科普知識
數據分類:
工控機

TFTP協議在嵌入式系統中的實現

發布日期:2022-04-18 點擊率:92

    隨著Internet和PC時代的到來,嵌入式系統成為當前IT產業的焦點之一。在這種形勢下,家用電器等嵌入式設備的Internet網絡化就成了目前網絡發展的一個重要方向和必然結果。
    本文基于ARM核處理器的多嵌入式應用綜合開發平臺,對嵌入式設備聯網的TCP/IP協議進行了討論研究。
    1.引言
  
    嵌入式系統是繼IT網絡技術之后,又一個新的技術發展方向。由于嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業應用的突出特征,目前己經廣泛地應用于軍事國防、消費電子、網絡通信、工業控制等各個領域。隨著計算機技術與通信技術的發展,嵌入式系統的研究與開發也有著越來越重要的實際意義。而ARM是業界領先的32位嵌入式RISC處理器技術提供商,占領了大約75%的市場。它可為一個完整系統的開發提供全面的技術支持,技術具有性能高、成本低和能耗省的特點。ARM的微處理器核心正迅速地成為便攜式通信設備、手持計算、多媒體數字消費和嵌入式解決方案市場中MSC批量生產的標準。
  
    在本項目中利用SAMSUNG公司的S3C44B0X與網絡控制芯片的結合實現了系統通過TFTP協議從PC機下載資源的功能。
    2.TFTP協議介紹

    a.TFTP與各種協議關系
  
    TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。TFTP承載在UDP上,提供不可靠的數據流傳輸服務,不提供存取授權與認證機制,使用超時重傳方式來保證數據的到達。與FTP相比,TFTP協議要簡單得多?,F在最普遍使用的是第二版TFTP(TFTP Version 2,RFC1350)使用UDP 的67端口。

圖1 TFTP協議包頭次序
    因為TFTP使用UDP,而UDP又使用IP,IP可以還使用其它本地通信方法(一般為以太網)。因此一個TFTP包中會有以下幾段:本地媒介頭,IP頭,數據報頭,TFTP頭,剩下的就是TFTP數據了,具體見圖(1)。TFTP在IP頭中不指定任何數據,但是它使用UDP中的源和目標端口以及包長度域。由TFTP使用的包標記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。TFTP頭中包括兩字節的操作碼,這個碼指出了包的類型下面我們看看大體上的TFTP包格式。
    b. TFTP包介紹

      TFTP支持五種類型的包,分別如下:
      1 .Read request (RRQ)
      2 .Write request (WRQ)
      3 .Data (DATA)
      4 .Acknowledgment (ACK)
      5 .Error (ERROR)
      圖(2)顯示了TFTP各種包在IP包中的位置:

圖2 TFTP協議數據包格式
    3.硬件實現
  
    系統使用了RTL8019AS 10M ISA網卡芯片接入以太網。RTL8019AS是一款性價比很高的網卡芯片:NE2000兼容,軟件移植性好;接口簡單不用轉換芯片如PCI-ISA橋;價格便宜、帶寬充裕、較長一段時間內不會停產。8019有3種配置模式:跳線方式、即插即用P&P方式、串行Flash配置方式。串行模式不與NE2000兼容,P&P模式用在PC機中,這里用不上。只剩下跳線配置模式可用。系統的MCU選擇的三星公司的S3C44B0X芯片,S3C44B0x是基于ARM7TDMI核的處理器,沒有MMU,可以源代碼級跟蹤調試。44B0與RTL8019的電路設計相對來說比較簡單,只需要連接數據線、地址選通、中斷等信號線。簡略電路圖如圖(3):

           

圖3 RTL8019與S3C440X的接口電路
    4.軟件設計

      a.RTL8019驅動程序
  RTL8019驅動程序主要包括3個函數 :
  i..RTL8019 初始化函數。要對網卡的工作參數進行設置.以使網卡開始工作。
  其主要工作包括:復位網絡芯片,設置MAC地址,設置組播地址,設置DMA傳輸參數等等。
  ii.收包函數:從網絡中接收數據到緩沖區。
  iii.發包函數:從緩沖區向網絡中發送數據。
b.協議棧的實現
  TFTP的實現其實就是根據各種協議,對數據打包(當發送數據時)和解包(當接收數據時)。主函數主要部分如下

eth_init();//其主要是清空ARP緩沖區.其中調用了一個功能函數[2]
arp_init();//清零
Mac_init();//設置MAC地址
ip_init(ip); //主要功能:設置ip地址
udp_init(); //初始化UDP協議
while (1) net_handle();//處理函數
  
    前5個函數主要是初始化工作接下來的int net_handle(void)就要開始進入網絡傳輸了,這里就是協議棧的核心了:

skb = alloc_skb(ETH_frame_LEN);//選擇一個 SKB
if (eth_rcv(skb) != -1) {
eth_hdr = (struct ethhdr *)(skb->data);
skb_pull(skb, ETH_HLEN);
if (ntohs(eth_hdr->h_proto) == ETH_P_ARP)//是否為ARP包
arp_rcv_packet(skb); //是則進行ARP包應答
else if(ntohs(eth_hdr->h_proto) == ETH_P_IP) //是否為IP包
ip_rcv_packet(skb);//是則進行IP包處理
  
    如果從MAC層收到一個以太網幀,先把收到的以太網幀轉變為相應的幀結構再去掉其以太網偵頭部, 其中skb_pop(skb, ETH_HLEN)把數據指針往后移動ETH_HLEN個字節,而且真正的數據長度也做相應的變化..然后根據幀中的協議字段判斷其上層為什么協議.這里幀格式采用的是RFC894,如果其上層為arp協議,將去掉以太網頭部的數據交由ARP處理,同樣如果其上層協議為IP,也做類似的處理. arp_rcv_packet(skb)只處理的ARP請求消息,如果發現其為ARP請求,則發送ARP應答. 接下來就是把這個ARP應答包發出去,發送了ARP應答后把剛才請求的者的MAC地址和其IP保存在本機中,其實現采用了簡單循環區,利用數組.首先檢查緩沖區中有無此項,如果有則直接用該項的索引,如果沒有則重新分配索引, 把傳進來的MAC 和IP 賦給新分配的索引 i,。
  
    如果MAC層發現收到的包上層協議為IP,則執行[1]:
if(ntohs(eth_hdr->h_proto) == ETH_P_IP)
ip_rcv_packet(skb);
  
    首先檢查接受者是不是本機IP,通過檢查后,去掉IP頭部,再檢查其上層協議類型,如果為UDP,則將包轉交給上層的UDP協議處理其中udp_rcv_packet(skb)先去掉UDP頭部,再檢查其對應的上層協議,這里只實現了TFTP協議,對應語句為skb_pop(skb, sizeof(struct udphdr));
if (ntohs(udp_hdr->dest) == TFTP)
tftp_rcv_packet(skb);

    其中tftp_rcv_packet(skb)根據TFTP頭部中操作類型而采取不同的動作.對應代碼為:
switch (ntohs(tftp_hdr->th_opcode)) {
/* 只處理寫請求和DATA */
case WRQ:
tftp_rcv_wrq(skb); break;
case data:
tftp_rcv_data(skb); break;
…}
  
    其中tftp_rcv_wrq(skb)先得到請求者的IP和PORT,再發送塊編號為0的ACK包.然后為數據傳輸做些初始化工作,具體為設置接受緩沖區和接受數據長度。:因為TFTP是包裝在UDP里面的,所以首先欲留出UDP頭部的空間,這里要注意的是在UDP層除了為自己留空間外其又會欲留出IP頭的空間,而在IP層除了為自己留空間外其又會欲留出MAC頭的空間.如此便留出了整個協議棧所要求的頭部空間.調用關系為
  udp_skb_reserve(skb)—ip_skb_reserve(skb)—eth_skb_reserve(skb);
  
    然后該函數按照ACK包的格式(在

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

无码人妻精品一区二区三区久久久 | 麻花豆传媒剧国产MV在线上-| 免费无码观看的AV在线播放| 日本区一视频.区二视频| 无码无套少妇毛多69XXX| 亚洲日韩∨A无码中文字幕| 玩爽少妇人妻系列无码| 亚洲国产精品VA在线播放| 中文字幕人妻无码一区二区三区| 插花弄玉小说荔枝很甜作者卿凌| 国产精品污WWW在线观看| 久久久精品人妻一区二区三区蜜桃 | 亚洲女人人体ASS| 亚洲AV无码天堂一区二区三区| 少妇毛又多又黑一区二区| 热99RE久久精品这里都是精品| 婷婷丁香五月深爱憿情网| 亚洲日韩AV无码中文字幕美国| JAPAN强要VIDEOD警妞| 国产精品亚洲专区无码蜜芽| 国产女人18毛片水真多| 国产精品爽黄69天堂A| 极品尤物一区二区三区| 精品无码久久久久久国产 | 无码日韩精品一区二区免费| 伊人久久大香线蕉AV色| 丰满老熟好大BBBBBB| 丰满少妇高潮惨叫在线观看| 娇小BBW搡BBBB搡BBBB| 欧美最猛性XXXXX免费| 亚洲∧V久久久无码精品| 67194熟妇在线直接进入百度| 国产精华AV午夜在线观看| 久久综合亚洲鲁鲁五月天| 麻豆亚洲AV熟女国产一区二| 日韩精品无码专区免费播放| 亚洲色播爱爱爱爱爱爱爱| 成人区人妻精品一区二区三区| 精选AV种子无码专区| 乳头羞涩NP公主| 一边下奶一边吃面膜视频讲解图片| 丰满人妻熟妇乱偷人无码av| 久久久亚洲欧洲日产国码农村 | 免费一对一真人视频APP| 午夜福利理论片高清在线观看| 亚洲一区二区三区乱码AⅤ蜜桃女 亚洲一区二区三区乱码AⅤ蜜桃 | 国精产品999国精产品官网| 餐桌下他深深顶撞H| 娇妻被别人玩弄至高潮| 日本XXXX少妇高清HD| 亚洲性无码AV在线| 国产成人精品无码片区在线观看| 老外免费CSGO交易网站下载| 无人区一码二码三码区别在哪| AV无码不卡在线观看免费| 精品国产人成亚洲区| 少妇高潮潮喷到猛进猛出小说 | 亚洲人成网站18禁止无码| 丰满人妻少妇无码喷水| 男生和女生在一起差差差| 亚洲妇熟XXXX妇色黄无码| 冲动的惩罚动漫HD在线播放| 蜜桃女同一区二区免费AV哟 | 太太你也不想你丈夫被开除吧| 挺进美妇肉蚌深处| A在线视频播放观看免费观看| 极品国产主播粉嫩在线| 色欲色香天天天综合VVV| 亚洲AV素人乱码| 吃奶摸下激烈床震视频试看| 免费人妻无码不卡中文字幕18禁| 亚洲爆乳AⅤ无码一区二区| 国产A∨国片精品青草视频 | BGMBGMBGM日本XX| 久久精品国产亚洲AV蜜桃| 小洁和公H文翁17| 欲香欲色天天天综合和网| 锕锕锕锕锕锕锕好大污下载 | 丰满人妻少妇无码喷水| 欧美人与动牲交A免费观看| 一区二区三区在线 | 欧洲| 国产午夜片无码区在线观看| 熟女CHACHACHA性少妇| 扒开校花的粉嫩小泬| 国产一区二区三区水蜜桃| 少妇ASS浓PICSXXXXB| 爸的比老公大两倍儿媳妇叫什么呢| 美女无遮挡免费视频网站| 亚洲人妻精品一区| 国产在线精品99一区不卡| 天天摸日日添狠狠添婷婷| 波多野结衣好大好紧好爽| 欧美极品少妇×XXXBBB| 中文字幕乱码人妻无码久久| 久久久久精品无码一区二区三区| 日韩人妻无码精品久久| AV 无码 在线 观看| 麻花豆传媒剧国产MV| 亚洲日韩国产一区二区三区在线 | 第一次爱的人视频播放完整版免费 | 亚洲精品国偷拍自产在线观看| 国产乱XXXX搡XXXXX搡| 铜铜铜铜铜铜铜铜铜好多水| 岛国精品一区免费视频在线观看| 忍着娇喘在公面前被夜袭| JAPANESE厨房乱TUB偷| 欧美黑人巨大精品VIDEOS| 1000部夫妻午夜免费| 免费网站看V片在线18禁无码| 伊人久久五月丁香综合中文亚洲 | 视频一区二区三区在线| 丰满人妻熟妇乱偷人无码av| 色悠久久久久综合网国产| 大色堂午夜福利国产TV6080| 日本真人裸交试看120秒| 亚洲日韩电影久久| 久久6久久66热这里只是精品 | YELLOW免费观看高清在线| 精产国品一二三产区区别| 亚洲AV无码精品狠狠爱| 国内精品人妻无码久久久影院 | 久久九九兔免费精品6| 亚洲一区二区无码偷拍| 久久久久久久久毛片精品| 野花影视免费高清观看 | 少妇乱人伦无码视频| 国产AV无码专区亚洲AV桃花庵 | 久久ER99热精品一区二区| 亚洲熟妇无码一区二区三区| 久久久久亚洲AV成人片乱码| 中国女人内谢69XXXX免费视| 女士不遮阴小内搭| 暴躁老阿姨CSGO攻略大全| 日日猛噜噜狠狠扒开双腿小说| 国产AⅤ无码专区亚洲AV琪琪| 午夜131美女爱做视频| 狠狠色噜噜狠狠狠7777米奇| 亚洲性色AV私人影院无码| 两个男用舌头到我的蕊花| 中文字幕乱近親相姦| 人摸人人人澡人人超碰| 俄罗斯女人与马Z00Z视频| 五十路熟妇无码AV在线| 紧身裙女教师波多野结衣在线观看| 亚洲最大成人综合网720P| 国产日产亚洲系列最新| 亚洲成AⅤ人在线观看无码| 久久国产精品99精品国产| 中文人妻AV大区中文不卡| 奇米精品视频一区二区三区| 玉蒲团Ⅲ艳乳欲仙欲| 欧美性色XXⅩXXA片HD| 动漫AV成人无码精品网站| 西西人体444www大胆无码视频| 高潮潮喷奶水飞溅视频无码| 午夜宅男在线永久免费观看网| 精品美女AⅤ国产女教师蜜臀| 在线VA无码中文字幕| 人妻少妇一级毛片内射一牛影视| 丰满多毛的大隂户视频| 亚洲AV无码丰满尖叫高潮| 老公带朋友来家里C我怎么办| FREE性VIDEOXXⅩ欧美| 四虎国产精品免费久久| 极品无码国模国产在线观看| 18VIDEOSEX性欧美| 色YEYE香蕉凹凸视频在线观看| 宝贝小嫩嫩好紧好爽H在线视频| 四虎国产精品永久在线动漫| 护士高潮喷水白浆| 97电影九七电影理论片| 免费无码又爽又刺激高潮| 成人午夜免费无码福利片| 性BBBBBB裸体BBBBB开| 老师上课跳D突然被开到最大视频 老师上课没戴奶罩看到奶头 | 无码一区二区三区在线| 久久夜色精品国产亚洲AV动态图| ぱらだいす天堂中文网WWW| 无码熟妇人妻AV在线电影| 浪货趴办公桌~H揉秘书电影无码 浪货趴办公桌~H揉秘书电影 | 亚洲精品国产V片在线观看| 女人张开腿让男人桶爽的| 国产浮力第一页草草影院| 一本色道无码道DVD在线观看| 日本少妇被黑人猛CAO| 黑人女性猛交XXXXXⅩXX蘑| 99热国产这里只有精品无卡顿| 无码AV不卡一区二区三区| 久拍国产在线观看| 高清欧美性猛XXXX黑人| 一本大道色卡1卡2卡3乱码| 色婷婷精品久久二区二区蜜臀av| 精品系列无码一区二区三区| 北条麻妃国产九九九精品视频| 亚洲爆乳无码专区WWW| 欧洲一本到卡二卡三卡乱码| 国产自偷自偷免费一区| А√天堂资源8在线官网地址 | 高潮喷吹一区二区在线观看| 一女三黑人玩4P惨叫|