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
使用命令setenforce0讓selinux配置檔案生效
8、Busybox中tftp命令的用法(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開發板系統的當前目錄下。
相關推薦
ARM與Linux_PC之間tftp通訊環境的搭建
2、配置tftp伺服器修改/etc/xinetd.d/tftp檔案,將其中的disable=yes改為disable=no。主要是設定TFTP伺服器的根目錄,開啟服務。修改後的檔案如下:service tftp{ socket_type
ROS學習筆記 (四):使用ROS實現ARM與PC之間的通訊
這一篇文章在古月居的部落格上有介紹點選開啟連結,在此只是做一個簡單的總結方便自己以後查閱。 示例使用的是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 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
activity與fragment以及fragment與fragment之間的通訊
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學習——CPU與GPU之間的通訊
應用階段分為3個階段: 1、把資料載入到視訊記憶體中 把渲染所需的資料從硬碟載入到系統記憶體,再從記憶體載入到視訊記憶體。顯示卡對視訊記憶體的訪問速度更快。 2、設定渲染狀態 渲染狀態定義了場景中的網格是怎樣被渲染的。如設定使用哪個頂點著色器,材
[Android]Fragment與Activity之間的通訊方案
Fragment依賴於Activity,那麼它們之間的通訊就必須要涉及。通過自己的尋找和實踐,知道了Fragment和Activity之間的通訊方案大概有5種,各有優缺點,用哪個方案看需求吧。 setArguments(Bundle args) Handler Broadc
ZeroMQ例項-使用ZeroMQ進行windows與linux之間的通訊
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協議建立連線 首
Javascript與C++之間的通訊 —— WebBrowser
1、C++呼叫WebBrowser中的全域性函式,變數等 (1) 從C++的角度看WebBrowser中的物件 WebBrowser中的物件大致可以分成兩類:DOM物件和使用Javascript建立的物件。但是無論是那種物件,從C++的角度來看,都是一些實現了IDispat
Android面試篇之Activity與Fragment、Fragment與Fragment之間的通訊
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中文官方文件,因為感覺它講的方式有些不妥,所以就按自己思路組織了下文。 雖然發覺一遍文章要把所有通訊方式講清楚不太科學,不過把思路講講倒是可以,
Activity與Fragment之間的通訊詳解
當我們使用Fragment的時候會常常與其他的Fragment或者宿主Activity進行互動,今天我們就來講講Fragment和Activity之間如何進行通訊。 一、 介面回撥機制 在講Fragment和Android通訊之前,我們先看
ARM和FPGA之間的通訊(硬體原理圖篇)
設計該開發板的初衷是為了學習,但也希望今後能擴充套件其功能,看到大家都在diy示波器,自己也非常衝動的想DIY一把,於是呼選了arm+fpga的方案,fpga主要用來實現資料的高速取樣,而ARM則提供資料的顯示,以及一些人機互動的功能。那麼該方案中最重要的地方就是ARM和F
Service和IntentService與Acticity之間的通訊
public class MainActivity extends Activity { Button bind, unbind, getServiceStatus; // 保持所啟動的Service的IBinder物件 BindService.MyBinder binder;
android之fragment與fragment、activity與activity、fragment與activity之間的通訊
Broadcast廣播接受者可以實現所有通訊;-----------activity與activity之間的通訊--------- **********傳給上一個activity********* //右側+按鈕的點選事件 public void addClick(V