1. 程式人生 > >ARM與Linux_PC之間tftp通訊環境的搭建

ARM與Linux_PC之間tftp通訊環境的搭建

2、配置tftp伺服器修改/etc/xinetd.d/tftp檔案,將其中的disable=yes改為disable=no主要是設定TFTP伺服器的根目錄,開啟服務。修改後的檔案如下:
service tftp
{    

      socket_type           =dgram
      protocol                 =udp
      wait                       =yes
      user                       =root
      server                    =/usr/sbin/in.tftpd


      server_args            =-s /var/lib/tftpboot
      disable                   =no
      per_source            =11
      cps                        =100 2
      flags                      =IPv4
}

說明:修改項server_args=-s    <path>   -c,其中<path>處可以改為你的tftp-server的根目錄,引數-s指定chroot-c指定了可以建立檔案,共享的檔案都存放在此目錄中以便其他裝置使用,修改此目錄許可權為777。

3、啟動tftp伺服器並關閉防火牆service iptables  stop 或者 service firewalld stop 根據Linux發行版本選擇。

重啟tftp服務

[[email protected] tftpboot]#service xinetd restart
Redirecting to /bin/systemctl restart  xinetd.service

4、檢視tftp服務是否開啟
netstat -a | greptftp
顯示結果為
udp 0 0 *:tftp*:*
表明服務已經開啟,就表明tftp配置成功了。

5、ARM開發板與主機通過雙絞線連線

1.查詢主機eth0網絡卡的IP 

[[email protected] tftpboot]# ifconfig
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.7.192  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::3e97:eff:fe5e:7c9a  prefixlen 64  scopeid 0x20<link>
        ether 3c:97:0e:5e:7c:9a  txqueuelen 1000  (Ethernet)
        RX packets 70  bytes 4442 (4.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90  bytes 24171 (23.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.設定ARM開發板的IP與主機的IP 在同一網段

方法一:臨時配置網路IP地址和子網掩碼 (開發板重新上電會丟失需要重新設定)

         ifconfig eth0 10.150.11.2 netmask 255.254.0.0 

方法二:永久修改IP 修改檔案/etc/init.d/rcS 檔案。

            [@keni]#vi /etc/init.d/rcS

            #!/bin/sh
            /bin/mount -a
            /sbin/ifconfig eth0 169.254.7.191 up      //此處修改與主機同網段IP。
            /sbin/ifconfig eth1 192.168.0.16 up
            echo -e "\033[?25h"
            /bin/mknod /dev/can c 98 0
            /bin/ln -s /dev/sound/dsp /dev/dsp
            exec /usr/etc/rc.touch

3.檢測:開發板通過雙絞線ping 主機IP(也可試試用主機ping 開發板的IP,有可能ping不通,這與開發板內linux內的程式有關。)

6、tftp命令用法如下(linux PC機上)
tftp    your-ip-address

【進入TFTP操作】
connect
:連線到遠端tftp伺服器
mode
:檔案傳輸模式
put
:上傳檔案
get
:下載檔案
quit
:退出
verbose
:顯示詳細的處理資訊
tarce
:顯示包路徑
status
:顯示當前狀態資訊
binary
:二進位制傳輸模式
ascii
ascii傳送模式
rexmt
:設定包傳輸的超時時間
timeout
:設定重傳的超時時間
help
:幫助資訊
?
:幫助資訊

7、如果老是出現“AVCDenial, click icon to view”的錯誤,並不能傳輸檔案,需要作如下修改修改/etc/sysconfig/selinux,SELINUX設定為disable
使用命令setenforce0selinux配置檔案生效

8Busyboxtftp命令的用法(ARM開發板)命令格式為:

BusyBox v1.6.0 (2008-01-09 17:10:28 CST) multi-call binary                                                                                             
Usage: tftp [-c] FILE [FILE ...]                                                                                                                         
Update the last-modified date on the given FILE[s]                                                                                        
Options:                                                                        
        -c      Do not create any files

如果要下載或上傳檔案的話是一定要用這些option的。成都明誠科技。

-g表示下載檔案(get)
-p
表示上傳檔案(put)
-l
表示本地檔名(localfile)
-r
表示遠端主機的檔名(remotefile)

例如,要從遠端主機192.168.1.2上下載test檔案,則應輸入以下命令

tftp -g -rtest 192.168.1.2  檔案會下載到ARM開發板系統的當前目錄下。

相關推薦

ARMLinux_PC之間tftp通訊環境搭建

2、配置tftp伺服器修改/etc/xinetd.d/tftp檔案,將其中的disable=yes改為disable=no。主要是設定TFTP伺服器的根目錄,開啟服務。修改後的檔案如下:service tftp{           socket_type        

ROS學習筆記 (四):使用ROS實現ARMPC之間通訊

這一篇文章在古月居的部落格上有介紹點選開啟連結,在此只是做一個簡單的總結方便自己以後查閱。 示例使用的是ROS wiki上面的helloword示例點選開啟連結。 在ROS中實現ARM與PC通訊的難點主要是架設ARM與PC之間的通路,這一塊wiki上面有介紹多機通訊。 首先

開發板終端電腦主機tftp通訊問題解決

首先在開發板上ping 我的主機地址192.168.1.102,ping不通。檢視我的電腦防火牆,發現已關閉,因此就不會是防火牆的問題。 於是檢視我的開發板上的ip地址。 設定開發板的ip //ifconfiglo 127.0.0.1 broadcast 192.168.1.255

基於OPC技術的上位機PLC之間通訊

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

activityfragment以及fragmentfragment之間通訊

activity向其引用的fragment傳值 第一步 : Activity中建立Fragment物件 , 呼叫setArguments(bundle) 方法儲存值 第二步 : Fragment

select實現多個客戶機伺服器之間通訊

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <assert.h> #include <sys/select.h> #incl

Shader學習——CPUGPU之間通訊

應用階段分為3個階段: 1、把資料載入到視訊記憶體中   把渲染所需的資料從硬碟載入到系統記憶體,再從記憶體載入到視訊記憶體。顯示卡對視訊記憶體的訪問速度更快。 2、設定渲染狀態   渲染狀態定義了場景中的網格是怎樣被渲染的。如設定使用哪個頂點著色器,材

[Android]FragmentActivity之間通訊方案

Fragment依賴於Activity,那麼它們之間的通訊就必須要涉及。通過自己的尋找和實踐,知道了Fragment和Activity之間的通訊方案大概有5種,各有優缺點,用哪個方案看需求吧。 setArguments(Bundle args) Handler Broadc

ZeroMQ例項-使用ZeroMQ進行windowslinux之間通訊

1、本文包括   1)在windows下使用ZMQ   2)在windows環境下與Linux環境下進行網路通訊 2、在Linux下使用ZMQ 3、在Windows環境下使用ZMQ   3.1)安裝Windows環境下的ZMQ開發庫,可以到ZMQ官網進行下載,或者到百度網盤進行下

基於TCP協議實現Linux下客戶端伺服器之間通訊,實現多執行緒、多程序伺服器

TCP是TCP/IP協議族中一個比較重要的協議,這是一種可靠、建立連結、面向位元組流的傳輸,工作在傳輸層。和TCP相對的不可靠、無連結、面向資料報的協議UDP,瞭解UDP客戶端與伺服器之間通訊請戳UDP協議實現的伺服器與客戶端通訊 TCP協議建立連線 首

JavascriptC++之間通訊 —— WebBrowser

1、C++呼叫WebBrowser中的全域性函式,變數等 (1) 從C++的角度看WebBrowser中的物件 WebBrowser中的物件大致可以分成兩類:DOM物件和使用Javascript建立的物件。但是無論是那種物件,從C++的角度來看,都是一些實現了IDispat

Android面試篇之ActivityFragment、FragmentFragment之間通訊

Activity與Fragment Activity向Fragment通訊 ① 拿到Fragment的引用,直接呼叫其public方法。 ② 如果Activity中未儲存任何Fragment的引用,

話自動控制系統中容易被遺忘的PLC上位之間通訊工具

在自動控制相關的配套軟硬中,有一塊是很容易被遺忘的。在我們實際的工程應用過程中,也遇到過幾次,當然在這幾次的經驗之後,也不會再出現同樣的錯誤。在這裡寫出來是想有同類應用的新手,能夠少走彎路。 通常在整套的自動控制系統配置過程中,我們是根據IO點數量,然後把IO點交給有經驗的裝

linux核心使用者之間通訊方式——虛擬檔案系統、ioctl以及netlink .

本文嘗試去闡述核心與使用者空間之間的通訊介面:虛擬檔案系統、ioctl以及netlink.文中所有的結構及程式碼全來自於Linux kernel 2.6.34. 一、虛擬檔案系統       proc檔案系統,通常是掛載在/proc,允許核心以檔案型別形式向用戶提供內部資

vue.js元件元件之間通訊

什麼是元件? 元件(Component)是 Vue.js 最強大的功能之一。元件可以擴充套件 HTML 元素,封裝可重用的程式碼。在較高層面上,元件是自定義元素,Vue.js 的編譯器為它新增特殊功能。在有些情況下,元件也可以是原生 HTML 元素的形式,以 is

React Native 原生之間通訊(iOS)

本文將講述下在原生和React Native之間的通訊方式。方式和邏輯綜合了自己的思維方式,主要參考了React Native中文官方文件,因為感覺它講的方式有些不妥,所以就按自己思路組織了下文。 雖然發覺一遍文章要把所有通訊方式講清楚不太科學,不過把思路講講倒是可以,

ActivityFragment之間通訊詳解

      當我們使用Fragment的時候會常常與其他的Fragment或者宿主Activity進行互動,今天我們就來講講Fragment和Activity之間如何進行通訊。       一、 介面回撥機制      在講Fragment和Android通訊之前,我們先看

ARM和FPGA之間通訊(硬體原理圖篇)

設計該開發板的初衷是為了學習,但也希望今後能擴充套件其功能,看到大家都在diy示波器,自己也非常衝動的想DIY一把,於是呼選了arm+fpga的方案,fpga主要用來實現資料的高速取樣,而ARM則提供資料的顯示,以及一些人機互動的功能。那麼該方案中最重要的地方就是ARM和F

Service和IntentServiceActicity之間通訊

public class MainActivity extends Activity {     Button bind, unbind, getServiceStatus;     // 保持所啟動的Service的IBinder物件     BindService.MyBinder binder;  

android之fragmentfragment、activityactivity、fragmentactivity之間通訊

Broadcast廣播接受者可以實現所有通訊;-----------activity與activity之間的通訊--------- **********傳給上一個activity********* //右側+按鈕的點選事件 public void addClick(V