1. 程式人生 > >嵌入式開發板iTOP-4412實現TFTP檔案傳輸

嵌入式開發板iTOP-4412實現TFTP檔案傳輸

平臺:iTOP-4412開發板

本文講解如何通過 TFTP 來實現線上除錯應用程式。

TFTPTrivial File Transfer Protocol,簡單檔案傳輸協議) ,是一個基於 UDP 協議實現的用於在客戶機和伺服器之間進行簡單檔案傳輸的協議,適合於開銷不大、不復雜的應用場合。TFTP 協議專門為小檔案傳輸而設計,只能從伺服器上獲取檔案,或者向伺服器寫入檔案,不能列出目錄,也不能進行認證。

根據上面關於 TFTP 的介紹,實現 TFTP 我們需要搭建一個 TFTP 的伺服器,iTOP-4412 開發板當做客戶端。 使用我們的虛擬機器 Ubuntu 來當做伺服器,下面我們先講解一下伺服器端的配置。

在我們的虛擬機器 Ubuntu 上開啟終端,如下圖:

 

首先輸入命令:sudo apt-get install xinetd,安裝 xinetd,如下圖:

 

安裝完 xinetd,如下圖:

 

接下來輸入命令安裝 tftp 和 tftpdsudo apt-get install tftp tftpd,如下圖:

 

安裝完成後,如下圖:

 

然後建立 TFTP 的配置檔案,使用命令:vi /etc/xinetd.d/tftp 建立檔案,如下圖:

 

寫入下面的內容:

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/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 位元組,然後輸入 退出 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,子網掩碼,閘道器,DNSMAC 就編輯這個檔案對應的選項就可以了。

現在我們在 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,如下圖:

 

然後我們輸入 ls 命令檢視一下當前目錄,可以看到已經有 hello 這個檔案了,如下圖:

 

因為 hello 這個檔案現在沒有執行許可權,所以我們需要輸入 chmod 777 hello 命令來修改下 hello 的許可權,

如下圖:

 

現在我們可以執行 hello 這個程式了,執行結果如下圖:

 

我們可以看到程式輸出: “hello world”了。通過 TFTP 這種方式可以提高我們除錯程式的效率。

相關推薦

嵌入式開發iTOP-4412實現TFTP檔案傳輸

平臺:iTOP-4412開發板 本文講解如何通過 TFTP 來實現線上除錯應用程式。 TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議) ,是一個基於 UDP 協議實現的用於在客戶機和伺服器之間進行簡單檔案傳輸的協議,適合於開銷不大、

[嵌入式開發]iTOP-4412開發linux 系統儲存空間的修改

[嵌入式開發板]iTOP-4412開發板linux 系統儲存空間的修改 平臺:iTOP-4412開發板     這裡我們以修改成 1G 儲存空間為例來講解修改方法, 如果需要改 成其他大小的儲存空間,參照此方法修改即可。     首先連線好 iTOP-4412 開

【迅為推薦】適合新手學習的arm開發-iTOP-4412開發

 免費部分視訊試看地址:(PS:迅為提供高清版下載地址)【視訊教程】iTOP-4412開發板之學習方法--致初學者  http://v.youku.com/v_show/id_XNzQ5MDA4NzM2.html【視訊教程】三星Exynos 4412處理器開發要點   htt

嵌入式開發的學習步驟-基於iTOP-4412開發

本文主要介紹嵌入式開發板技術的學習步驟。 嵌入式技術的知識面非常廣,學起來往往不知道如何下手,那麼嵌入式技術應該從哪裡開始學起,以及按照什麼樣的步驟學習,順利入門,成為一個合格的嵌入式工程師。 最初最基本的東西呢就是要搞清楚幾個概念,要搞清楚什麼是bootloadre載入

轉:iTOP-4412實現NFS網路檔案系統

[學習嵌入式開發板]iTOP-4412實現NFS網路檔案系統 <div class="extra ui horizontal list meta-wrap"> <div class="item">

嵌入式開發學習分享】2016年最新迅為4412開發手冊

看到群裡提供了最新的嵌入式開發板4412手冊看著還挺詳細的確實用心,立即收藏,由於檔案過大,上傳到網盤供需要的朋友下載: 版本19 前言23 嵌入式開發板必須注意的問題25 名詞解釋26 一 iTOP-4412 開發板介紹27 1.1 嵌入式開發板平臺簡要介紹27 1.

嵌入式開發通過串列埠與PC互相傳送檔案

通過串列埠與PC互相傳送檔案 超級終端: 當通過串列埠終端登入系統之後,可以使用rz或者sz命令通過串列埠與PC相互傳送檔案,具體操作如下: A) 使用sz向PC傳送檔案 在超級終端視窗中,點選滑鼠右鍵,在彈出的選單中選擇“接收檔案”開始設定接收檔案目錄和協議,如圖所示。然

開發uboot中配置tftp和nfs網路載入檔案

## 配置核心啟動的串列埠引數, root=/dev/nfs是告訴核心使用網路來載入檔案系統,nfsroot為伺服器的nfs共享目錄 ## 注意ip一定要配置為dhcp,否則無法正常啟動nfs檔案系統

iTOP-4418嵌入式開發介面基本介紹

iTOP-4418嵌入式開發板是迅為電子設計研發的一款四核Cortex-A9開發板,可廣泛適用於工控、智慧家居、醫療、多媒體、安防、車載、金融、消費電子、手持裝置、顯示控制、教學、電力、通訊等領域。 iTOP-4418嵌入式開發板-核心板 S5P4418 核心板可以無縫支援

嵌入式linux開發 與主機linux 串列埠傳輸檔案

一  在嵌入式linux和主機linux下可以通過minicom       1)安裝minicom  有的系統沒有安裝minicom    fedora下只需 yum install minicom即可       2)配置minicom             第一次執

嵌入式開發ARM開發-迅為4418開發接口基本介紹

4418開發板 接口介紹 迅為4418開發板無縫兼容6818平臺,是北京迅為電子有限公司研發設計的一款開發板平臺,核心板尺寸小,引出腳多,能夠幫助工程師們快速開發新產品。行業應用:iTOP-4418開發板/6818開發板可廣泛適用於工控、智能家居、醫療、多媒體、安防、車載、金融、消費電子、手持設備、顯

移植QT5.6到嵌入式開發(史上最詳細的QT移植教程)

文件傳輸 嵌入式環境 ubun 導致 字庫 etc -a led fill 目前網上的大多數 QT 移植教程還都停留在 qt4.8 版本,或者還有更老的 Qtopia ,但是目前 Qt 已經發展到最新的 5.7 版本了,我個人也已經使用了很長一段時間的 qt5.6 for

訊為iTop4412嵌入式開發學習之-------前言

除了 總結 應用 服務 解決辦法 思想 三方 要求 最大的 一、linux 工作的分類以及培養時間    Linux 作為一個龐大的體系,有很多相關的研究領域,總結起來大致有五個方向: 1、服務器維護:需要了解 Linux 服務,熟練使用 Shell,了解網絡配置。 2、服

ARM嵌入式開發學習路線指引

如何入門嵌入式?嵌入式開發學習方法步驟如何入門嵌入式?嵌入式開發學習路線指引 嵌入式開發就是指在嵌入式作業系統下進行開發,一般常用的系統有linux,android。平臺:Cortex-A9開發板 嵌入式技術學習如何入手,從何學起呢, 以下內容簡單介紹嵌入式開發的學習步驟及如何成為一位合格的嵌入式工程師,

為全志H6嵌入式開發emmc安裝系統

人生第一篇部落格哈,多指教~ 如題,手頭有一塊使用H6處理器並配有 16GB emmc的開發板,這裡我們就叫它H6板吧。現在板子上空空如也,查閱開發公司給的資料知道它可以插TF卡啟動,於是乎尋找H6平臺的系統映象,並最終在香橙派官網發現了Orange pi one plus的映象也許支援此板,這

嵌入式開發更換開機LOGO

1 先製作好想要的開機圖片,此圖片有是三個要求,畫素是要和螢幕解析度一樣、位深度為 24、圖片格式為bmp。我的螢幕是7寸的,所以我設定的解析度為800*480。如下圖 bmp格式圖片的資訊。 2利用製圖軟體製作 .bin 二進位制圖片。拷到開發板裡的圖片檔

飛凌iMX6嵌入式開發玩弄筆記

個人筆記,同一放在這一篇部落格中 重啟介面方法: 在/home/root目錄下新建.xinitrc檔案,內容: #!/bin/sh matchbox-session 執行$startx 該方法容易導致介面失常,不推薦使用 開機啟動自定義程式 windows

如何入門嵌入式?ARM嵌入式開發學習方法步驟

嵌入式開發就是指在嵌入式作業系統下進行開發,一般常用的系統有linux,android。 平臺:Cortex-A9開發板 嵌入式技術學習如何入手,從何學起呢, 以下內容簡單介紹嵌入式開發的學習步驟及如何成為一位合格的嵌入式工程師, 一、首先要掌握基礎架構 嵌入

RK3399嵌入式開發QT下wifi 移植方法

RK3399的CPU採用big.LITTLE大小核架構,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、記憶體等作了大幅優化,在整體效能、功耗及核心面積三個方面都具革命性提升。 RK3399的GPU採用四核ARM新一代高階影象處理器Ma

ARM-Linux嵌入式開發環境入門,實現執行hello world(學習韋東山後整理)

韋東山的教程比較全面,對於沒有接觸過交叉編譯的人來說,資料會感覺太多而不知道如何上手。 作為入門,第一步想實現的就是在交叉開發環境中編譯生成可執行的hello word,然後下載到開發板執行。如下為個人學習後整理的一個大體步驟,具體操作步驟需要參考韋東山的資料。